rusk
v0.7.0
官方 Dusk协议节点客户端和智能合约平台。
不稳定:无法保证 API 稳定性,该项目正在开发中。
有关运行节点的更多信息,请参阅我们的文档:
Rusk 使用夜间工具链,请确保已安装它。此外,为了构建 WASM 合约,需要wasm-pack
。
要安装和设置夜间工具链,并安装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
访问。像 rusk-wallet 这样的应用程序可以连接到它,以进行更快、更私密的本地证明。
只编译所有创世合约而不运行服务器:
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 公共许可证版本 2.0 获得许可。