このプロジェクトについて
Fuel Coreは、Fuel v2プロトコルのフルノードとしてRustで書かれた公式のFuelクライアント実装です。リポジトリにはノードバイナリ、サポート用クレート、およびFuelノードのビルド、テスト、実行のためのツールが含まれています。
## ネットワークバージョン
READMEには、さまざまなFuelネットワークで現在使用されているバージョンが記載されています。
- Fuel Ignition: 0.48.1
- Testnet: 0.48.1
- Devnet: 0.48.1
リポジトリには、ソースからIgnitionノードを実行するためのチェックアウトタグv0.45.1への参照もあり、最新の表のバージョンとは異なる場合があります。
## ビルド
システム要件には、cmake、pkg-config、clang、および`wasm32-unknown-unknown`ターゲットを備えたRustなどの一般的なビルドツールが含まれます。macOS(Homebrew)、Debian(apt)、Arch(pacman)向けのプラットフォーム固有のセットアップコマンドが提供されています。
ビルドコマンド:
- `make build`はリリース形式のノードバイナリビルド用
- `cargo xtask build`は開発ビルド用で、GraphQLスキーマも再生成します
## ノードの実行
ドキュメントリンクは、ノードオペレーターがメインネット(Ignition)またはローカルネットワークノードを実行するためのFuelドキュメントを指しています。ノードは`fuel-core run`で直接起動することもできます。例では、非永続状態にする`--db-type in-memory`の使用や、自動ブロック生成を無効にする`--poa-instant=false`が示されています。デフォルトのデータベースはRocksDBで、インメモリモードを使用しない限り状態は永続化されます。
## テストとコントリビューション
プロジェクトでは、変更をプッシュしたりプルリクエストを開く前に`source ci_checks.sh`を実行することをコントリビューターに推奨しています。このスクリプトはテストを含むすべてのCIチェックを実行します。また、クレートの公開、古いデータベースエラー(`rm -rf ~/.fuel/db`)、macOSのファイルディスクリプタ制限、`RUST_LOG`または`HUMAN_LOGGING`によるログレベル設定に関するトラブルシューティングノートもあります。
## GraphQLサービス
クライアント機能は`/v1/graphql`のGraphQLサービスエンドポイントを通じて公開されます。スキーマはビルド後に`crates/client/assets/schema.sdl`で利用可能になります。このサービスは、Fuel仕様に従い、16進エンコードされたバイナリ形式のTransactionを受け入れる`submit`ミューテーションを想定しています。
## DockerとKubernetes
デプロイ資産は`deployment/`以下に含まれており、DockerfileとKubernetesマニフェストがあります。コマンドは、Dockerイメージのビルド方法と、Kubernetesのボリューム、デプロイメント、サービスリソースの作成/削除方法を示しています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.