macOSLinux

🌴 Empowering everyone to build reliable and efficient smart contracts.

swaylanguagecompilerfuel
스타 성장
스타
61.5k
포크
5.4k
주간 성장
+-19
이슈
880
20k40k60k
2022년 1월2023년 7월2025년 2월2026년 9월
아티팩트crates.io
README

Sway

build crates.io docs twitter discord

Sway is a language developed for the Fuel blockchain. It is heavily inspired by Rust and aims to bring modern language development and performance to the blockchain ecosystem.

Documentation

For user documentation, including installing release builds, see the latest released Sway Book: https://fuellabs.github.io/sway/latest/.

The documentation URLs describe different source versions:

  • latest redirects to the most recently published Sway release.
  • vX.Y.Z is documentation built from that exact Sway release tag.
  • master is built from the default branch and may describe unreleased behavior.

These labels are Sway documentation versions. They are not Fuelup channel names and do not identify the toolchain activated on a Fuel network. Check the compiler you are running with forc --version and consult the Fuelup channel documentation when selecting network-compatible tooling.

For Sway standard library documentation from the default branch, see https://fuellabs.github.io/sway/master/std/.

Also view the default-branch technical reference for the Sway programming language at https://fuellabs.github.io/sway/master/reference/.

The Stable Sway and Forc pages on docs.fuel.network are published by FuelLabs/docs-hub from an explicitly selected Sway release. That selection can differ from both the newest upstream release and the compiler in a named Fuelup network channel.

Building from Source

This section is for developing the Sway compiler and toolchain. For developing contracts and using Sway, see the above documentation section.

Dependencies

Sway is built in Rust. To begin, install the Rust toolchain following instructions at https://www.rust-lang.org/tools/install. Then configure your Rust toolchain to use Rust stable:

rustup default stable

If not already done, add the Cargo bin directory to your PATH by adding the following line to ~/.profile and restarting the shell session.

export PATH="${HOME}/.cargo/bin:${PATH}"

Building Forc

Clone the repository and build the Sway toolchain:

git clone git@github.com:FuelLabs/sway.git
cd sway
cargo build

Confirm the Sway toolchain built successfully:

cargo run --bin forc -- --help

All other scripts/commands

For all other scripts and commands use https://github.com/casey/just:

> just --list
Available recipes:
    [automation]
    update-contract-ids
    update-fuel-dependencies

    [benchmark]
    benchmark
    benchmark-tests
    collect-gas-usage

    [build]
    build-highlightjs
    build-prism
    generate-sway-lib-std

    [ci]
    ci-check
    install-ci-check

    [test]
    test-forc-fmt-check-panic

Contributing to Sway

We welcome contributions to Sway!

Please see the Contributing To Sway section of the Sway book for guidelines and instructions to help you get started.

관련 저장소
Alexays/Waybar

Highly customizable Wayland bar for Sway and Wlroots based compositors. :v: :tada:

C++appMIT Licensewaylandwlroots
11.9k1.2k
AvengeMedia/DankMaterialShell

Desktop shell for wayland compositors built with Quickshell & GO, optimized for niri, hyprland, sway, MangoWC, labwc, and MiracleWM.

QMLMIT Licensequickshelltiling-window-manager
danklinux.com
8k503
ilyamiro/serpantinum

A shell for wayland compositors

QMLappGNU Affero General Public License v3.0desktop-environmenthyprland
6.7k272
rvaiya/keyd

A key remapping daemon for linux.

CMIT Licensekeyboardlinux
5.9k278
labwc/labwc

A Wayland window-stacking compositor

CGNU General Public License v2.0wlrootswayland
labwc.github.io
2.8k261
ErikReider/SwayNotificationCenter

A simple GTK based notification daemon for any Wayland compositor

ValaappGNU General Public License v3.0linuxnotification
2.6k100
vivien/i3blocks

The hacker-friendly status_command for Sway and i3

CGNU General Public License v3.0swayi3
vivien.github.io/i3blocks/
2.5k184
wlrfx/swayfx

SwayFX: Sway, but with eye candy!

CMIT Licensecgles2
2.4k118
natpen/awesome-wayland

A curated list of Wayland code and resources.

awesomeCreative Commons Zero v1.0 Universalwaylandsway
2.2k98
any1/wayvnc

A VNC server for wlroots based Wayland compositors

CISC Licensevncwayland
1.8k99
linuxmobile/hyprland-dots

A soft-spoken desktop environment. Harmonizing Hyprland’s logic with a gentle, minimalist aesthetic.

HTMLarchlinuxartix
1.7k88
sentriz/cliphist

Wayland clipboard manager with support for multimedia

GoGo ModulescliGNU General Public License v3.0clipboard-managersway
1.5k46