#forc #pkg


Building, locking, fetching and updating Sway projects as Forc packages

99 releases (45 breaking)

new 0.51.1 Feb 23, 2024
0.50.0 Feb 7, 2024
0.48.1 Dec 6, 2023
0.47.0 Nov 6, 2023
0.9.2 Mar 30, 2022

#510 in Magic Beans

Download history 176/week @ 2023-11-02 68/week @ 2023-11-09 46/week @ 2023-11-16 161/week @ 2023-11-23 407/week @ 2023-11-30 54/week @ 2023-12-07 133/week @ 2023-12-14 230/week @ 2023-12-21 59/week @ 2023-12-28 40/week @ 2024-01-04 31/week @ 2024-01-11 153/week @ 2024-01-18 385/week @ 2024-01-25 306/week @ 2024-02-01 163/week @ 2024-02-08 1211/week @ 2024-02-15

2,080 downloads per month
Used in 8 crates (7 directly)


70K SLoC


build crates.io docs 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.


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

For Sway Standard library documentation, see: https://fuellabs.github.io/sway/master/std/

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

Building from Source

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


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

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.


Building, locking, fetching and updating sway projects as Forc packages.

A forc package represents a Sway project with a Forc.toml manifest file declared at its root. The project should consist of one or more Sway modules under a src directory. It may also declare a set of forc package dependencies within its manifest.


~1.5M SLoC