← Ко всем open source проектам

Sway

FuelLabs/sway

Sway — язык и набор инструментов Fuel для написания надежных смарт-контрактов.

Форки 5,424
Автор FuelLabs
Язык Rust
Лицензия Apache-2.0
Обновлено 2026-06-27

Что это такое

Sway — язык программирования для смарт-контрактов в экосистеме Fuel. Он берет идеи из Rust и применяет их к задачам блокчейн-разработки: явные типы, строгая структура программы, инструменты сборки и отдельная цепочка разработки через Forc.

Проект нужен там, где смарт-контракт должен быть не просто коротким скриптом, а поддерживаемой программой с понятной структурой. В такой области цена ошибки высокая: контракт работает с активами, состоянием и публичными правилами, которые сложно исправлять после публикации.

Как устроен подход

Sway связан не только с языком, но и с инструментом Forc. Он создает проект, собирает контракт, запускает проверки и связывает код с Fuel-окружением. Поэтому репозиторий важен как единая точка языка, компилятора и вспомогательных команд.

Синтаксис близок к системному программированию: разработчик явно описывает типы, функции, хранилище и интерфейс контракта. Это делает код более строгим, но требует дисциплины и понимания модели исполнения.

Скелет контракта

Пример показывает форму Sway-контракта: объявление ABI, функция и явное возвращаемое значение. Язык страницы подсветки не знает Sway, поэтому блок показан как простой текст.

Язык: Plain text
contract;

abi Counter {
    #[storage(read, write)]
    fn increment() -> u64;
}

impl Counter for Contract {
    #[storage(read, write)]
    fn increment() -> u64 {
        1
    }
}

Что внутри репозитория

Внутри находятся компилятор, Forc, библиотеки, тесты, документация по сборке и материалы для участия. Это не один пакет, а рабочая среда вокруг языка смарт-контрактов.

Для разработчика важно, что Sway развивает собственный стек, а не является случайным синтаксисом поверх чужого инструмента. Это дает целостность, но одновременно привязывает проект к экосистеме Fuel.

Практический контекст

На практике Sway стоит изучать вместе с Forc, локальными тестами и документацией Fuel. Сам язык дает синтаксис, но надежность контракта появляется только вместе с проверками, аудитом и пониманием ограничений сети.

Сильные стороны и ограничения

Сильная сторона Sway — попытка принести в смарт-контракты строгую инженерную культуру. Язык, компилятор и инструмент сборки развиваются вместе, а разработчик получает привычную проектную структуру.

Ограничение очевидно: Sway нужен тем, кто работает с Fuel. Если проект строится в другой блокчейн-среде, выбор языка диктуется совместимостью сети, кошельков, инструментов и аудита.