CLIツール
FuelLabs/sway avatar
FuelLabs/sway

Swayの版とForcを分けてFuel開発環境を読む

誰もが信頼性が高く効率的なスマート コントラクトを構築できるようにします。

スター 61,439フォーク 5,414RustApache-2.0

ひと目でわかる

これは何?
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チャンネルを照合し、使用するドキュメント版を固定してください。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート