Le fonctionnaire Client de nœud de protocole Dusk et plateforme de contrat intelligent.
Instable : Aucune garantie ne peut être donnée concernant la stabilité de l'API, le projet est en développement.
Pour plus d'informations sur l'exécution d'un nœud, consultez nos documents :
Rusk utilise la chaîne d'outils nocturne, assurez-vous qu'elle est installée. De plus, pour créer les contrats WASM, wasm-pack
est requis.
Pour installer et définir la chaîne d'outils nocturnes et installer wasm-pack
, exécutez :
rustup toolchain install nightly
rustup default nightly
cargo install wasm-pack
Pour créer rusk
à partir des sources, Rust, GCC et Clang sont requis. Une fois les dépendances installées, vous pouvez simplement exécuter la commande suivante pour tout compiler :
make
Pour exécuter des tests :
make test
Cela compilera également tous les contrats de genèse et ses circuits associés.
Conditions préalables :
# 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
Exécutez un seul cluster à nœud complet avec un exemple d'état.
# 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
Le nœud peut être construit en tant que prouveur uniquement comme suit :
cargo r --release --no-default-features --features prover -p rusk
Ce nœud de preuve sera accessible sur https://localhost:8080
. Des applications comme Rusk-Wallet peuvent y être connectées pour une preuve locale plus rapide et plus privée.
Pour simplement compiler tous les contrats Genesis sans exécuter le serveur :
make contracts
Pour générer un contrat de genèse spécifique :
# generate the wasm for `transfer` contract
make wasm for=transfer
Voir aussi make help
pour toutes les commandes disponibles
Il est également possible d'exécuter un nœud éphémère local avec Docker.
Pour créer l'image Docker :
docker build -t rusk .
Pour exécuter Rusk dans un conteneur Docker :
docker run -p 9000:9000/udp -p 8080:8080/tcp rusk
Le port 9000 est utilisé pour Kadcast, le port 8080 pour les API HTTP et GraphQL.
Le logiciel Rusk est sous licence Mozilla Public License version 2.0.