공식 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 Public License 버전 2.0에 따라 라이센스가 부여됩니다.