Swayの版とForcを分けてFuel開発環境を読む
誰もが信頼性が高く効率的なスマート コントラクトを構築できるようにします。
ひと目でわかる
- これは何?
- Fuelブロックチェーン向け言語Swayのドキュメント版、Rust製コンパイラForc、justレシピを開発者の視点で整理する。
- 誰に向いている?
- Fuel向けコントラクトをSwayで開発する人には、リリース版とブランチ版の違いが明示されている点が役立ちます。コンパイラとネットワークの対応を曖昧にしたくない場合にも向きますが、READMEだけでは契約の実運用やネットワーク選択を決められません。
- 商用利用できる?
- できます。Apache-2.0 は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
- 今もメンテナンスされている?
- されています。最後のコミットは 8 日前です。
- 何の言語で書かれている?
- 主に Rust です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
Fuel向け言語としての位置付け
SwayはFuelブロックチェーン用に開発された言語で、Rustの影響を強く受け、現代的な言語開発とブロックチェーン環境での性能を目指しています。READMEの中心はSwayコンパイラとツールチェーンの開発であり、Fuel上のコントラクトを書く利用者にはSway Bookを案内しています。言語の目標は、実際の性能値や安全性の証明ではありません。
開発者が最初に分けるべきなのは、Swayを使ってコントラクトを開発することと、Sway自身をソースからビルドすることです。READMEもこの二つを明確に分けています。前者はリリース版のSway Book、後者はRust stable、Cargo、リポジトリのビルド手順を使います。
latestとmasterを混同しない
Sway Bookの latest は公開済みの最新Swayリリースへ向き、vX.Y.Z はそのリリースタグから生成された文書です。masterは既定ブランチ由来で、未リリースの挙動を説明することがあります。この三つは文書の版を示す名前であり、Fuelupのチャンネル名ではありません。
READMEは、docs.fuel.networkのStable SwayとForcページがFuelLabs/docs-hubから特定リリースを選んで公開され、その選択が最新upstreamやFuelupの名前付きチャンネルと異なる場合があると説明しています。ネットワーク互換の判断ではURLのlatestだけに頼らず、使用するコンパイラとFuelupチャンネルを並べて確認します。
Rust stableでソースビルドする
SwayはRustで構築されます。READMEはrust-lang.org/tools/installの手順でRustを導入し、rustup default stable を実行する流れを示しています。CargoのバイナリディレクトリがPATHにない場合は、~/.profileへ export PATH="${HOME}/.cargo/bin:${PATH}" を追加してシェルを再起動します。
リポジトリを git clone git@github.com:FuelLabs/sway.git で取得し、cd sway の後に cargo build を実行します。成功確認は cargo run --bin forc -- --help です。これはコンパイラのビルドとヘルプ表示を確認する手順で、Fuelネットワークへの接続やコントラクトのデプロイまでを含みません。
justで補助レシピを一覧する
READMEは、その他のスクリプトやコマンドにはcasey/justを使うよう案内しています。just --list で表示されるレシピには、automationのupdate-contract-idsとupdate-fuel-dependencies、benchmarkのbenchmark、benchmark-tests、collect-gas-usageがあります。ビルド領域にはbuild-highlightjs、build-prism、generate-sway-lib-stdがあります。
CIにはci-checkとinstall-ci-check、testにはtest-forc-fmt-check-panicが載っています。これらの名前は作業の入口を示しますが、各レシピの内部処理、必要な環境、生成ファイルはREADMEの該当箇所だけでは説明されていません。実行前にJustfileと対象レシピを読み、更新系とベンチマーク系を同じ作業として扱わないようにします。
標準ライブラリと技術リファレンス
標準ライブラリの文書は既定ブランチ版として https://fuellabs.github.io/sway/master/std/、Sway言語の技術リファレンスもmaster版として案内されています。リリース版の利用者がmasterのAPIや挙動をそのまま採用できるという意味ではありません。URLの版とforcの版を確認することが、読んだ仕様とコンパイル結果を一致させる最初の確認になります。
READMEは、コントラクト開発者には上部のドキュメントを、コンパイラ開発者にはBuilding from Sourceを読むよう整理しています。貢献者向けにはSway BookのContributing To Swayが指定されています。Issueやプルリクエストを出す前に、その手順と現在のブランチを確認してください。
Fuel向けコントラクト開発でSway Bookを参照する場合、latest、vX.Y.Z、masterのどれを読んだかを開発記録に残します。docs.fuel.networkのStableページも特定のSwayリリースを選んで公開されるため、upstreamの最新タグやFuelupチャンネルと一致するとは限りません。ソースビルドではrustup default stableの結果、cargo buildの対象コミット、forcのヘルプ出力を保管します。justのbenchmarkやcollect-gas-usageを使う場合も、レシピの内容と入力を確認してから結果を比較します。
導入前に固定する対象
この節では Sway のREADMEに書かれた forc --version、Sway BookのURL、Fuelupチャンネル を基準にします。リポジトリの人気や説明文だけで、READMEにない性能、可用性、対応範囲を補ってはいけません。実際に確認できる入力、設定、出力を切り分けると、導入判断の根拠を追跡できます。記載がない部分は文書未説明として残します。 リリース版を使うのかmaster版を追うのかで、文書とコンパイラの組み合わせが変わります。最初の確認は rustup default stable の状態、cargo buildの結果、cargo run --bin forc -- --helpの出力です。次に対象ネットワークのFuelupチャンネルと forc --version を比較し、just --listで利用可能なレシピを確認します。READMEには性能ベンチマークの基準やデプロイ手順はないため、そこは別の公式文書で補ってください。
Sway Bookのlatestを開いた時点でどのリリースへ向いたかを記録し、masterのstd文書やreferenceをリリース版の仕様として引用しません。rustup default stable、cargo build、cargo run --bin forc -- --helpの出力を保存し、forc --versionとFuelupチャンネルの組み合わせを確認します。just --listのupdate系レシピは変更対象を読んでから実行します。
Swayのコンパイラ版を決めるときは、Fuelupチャンネル名とSway BookのURLを同じ意味で扱いません。latestは最新公開リリース、vX.Y.Zは特定タグ、masterは未リリースの可能性がある文書です。Rust stableの導入後にcargo buildを実行し、forc --versionとcargo run --bin forc -- --helpの出力を保存します。契約開発とコンパイラ開発で参照する章を分け、just --listにないレシピを推測しないでください。
編集部の結論
Fuel向けコントラクトをSwayで開発する人には、リリース版とブランチ版の違いが明示されている点が役立ちます。コンパイラとネットワークの対応を曖昧にしたくない場合にも向きますが、READMEだけでは契約の実運用やネットワーク選択を決められません。最初に forc --version と対象Fuelupチャンネルを照合し、使用するドキュメント版を固定してください。
コミュニティノート