役人 Dusk プロトコル ノード クライアントとスマート コントラクト プラットフォーム。
不安定: API の安定性については保証できません。プロジェクトは開発中です。
ノードの実行の詳細については、次のドキュメントを参照してください。
Rusk は nightly ツールチェーンを使用します。それがインストールされていることを確認してください。さらに、WASM コントラクトを構築するには、 wasm-pack
が必要です。
Nightly ツールチェーンをインストールして設定し、 wasm-pack
インストールするには、次を実行します。
rustup toolchain install nightly
rustup default nightly
cargo install wasm-pack
ソースからrusk
をビルドするには、Rust、GCC、Clang が必要です。依存関係がインストールされたら、次のコマンドを実行するだけですべてをコンパイルできます。
make
テストを実行するには:
make test
これにより、すべてのジェネシス コントラクトとそれに関連する回路もコンパイルされます。
前提条件:
# Generate the keys used by the circuits
make keys
# Compile all the genesis contracts
make wasm
# Copy example consensus.keys
mkdir -p ~ /.dusk/rusk
cp examples/consensus.keys ~ /.dusk/rusk/consensus.keys
サンプル状態を使用して単一のフルノード クラスターを実行します。
# Generate genesis state
cargo r --release -p rusk -- recovery state --init examples/genesis.toml -o /tmp/example.state
# Launch a local ephemeral node
DUSK_CONSENSUS_KEYS_PASS=password cargo r --release -p rusk -- -s /tmp/example.state
ノードは次の場合にのみ証明者として構築できます。
cargo r --release --no-default-features --features prover -p rusk
この証明者ノードはhttps://localhost:8080
でアクセスできます。ラスクウォレットのようなアプリをそれに接続すると、より迅速かつプライベートなローカル証明が可能になります。
サーバーを実行せずにすべての Genesis コントラクトをコンパイルするだけです:
make contracts
特定のジェネシス コントラクトを生成するには:
# generate the wasm for `transfer` contract
make wasm for=transfer
使用可能なすべてのコマンドについては、 make help
も参照してください。
Docker を使用してローカルの一時ノードを実行することもできます。
Docker イメージをビルドするには:
docker build -t rusk .
Docker コンテナ内で Rusk を実行するには:
docker run -p 9000:9000/udp -p 8080:8080/tcp rusk
ポート 9000 は Kadcast に使用され、ポート 8080 は HTTP および GraphQL API に使用されます。
Rusk ソフトウェアは、Mozilla Public License バージョン 2.0 に基づいてライセンスされています。