Créer un Réseau Local Testnet
Introduction
Dans le tutoriel pour commencer nous avons connecté un nœud au réseau testnet. Vous trouverez peut-être utile de créer un réseau local testnet.
Nous allons vous montrer comment lancer un réseau de test local à 5 nœuds. Pour les deux, nous montrerons comment lancer le réseau à l'aide d'Avash et manuellement.
Les 5 nœuds auront des ports HTTP (où les appels API doivent être envoyés) 9650
, 9652
, 9654
, 9656
et 9658
.
Créer un réseau de test local
Les commandes ci-dessous supposent que vous avez AvalancheGo installé dans$GOPATH/src/github.com/ava-labs/avalanchego
. Chacun des cinq nœuds créés est un validateur. Les clés de jalonnement pour ces nœuds se trouvent dans $GOPATH/src/github.com/ava-labs/avalanchego/staking/local/staker1.crt
, etc.
Manuellement
Pour démarrer le réseau :
cd $GOPATH/src/github.com/ava-labs/avalanchego
./scripts/build.sh
./build/avalanchego --public-ip=127.0.0.1 --snow-sample-size=2 --snow-quorum-size=2 --http-port=9650 --staking-port=9651 --db-dir=db/node1 --staking-enabled=true --network-id=local --bootstrap-ips= --staking-tls-cert-file=$(pwd)/staking/local/staker1.crt --staking-tls-key-file=$(pwd)/staking/local/staker1.key
./build/avalanchego --public-ip=127.0.0.1 --snow-sample-size=2 --snow-quorum-size=2 --http-port=9652 --staking-port=9653 --db-dir=db/node2 --staking-enabled=true --network-id=local --bootstrap-ips=127.0.0.1:9651 --bootstrap-ids=NodeId-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg --staking-tls-cert-file=$(pwd)/staking/local/staker2.crt --staking-tls-key-file=$(pwd)/staking/local/staker2.key
./build/avalanchego --public-ip=127.0.0.1 --snow-sample-size=2 --snow-quorum-size=2 --http-port=9654 --staking-port=9655 --db-dir=db/node3 --staking-enabled=true --network-id=local --bootstrap-ips=127.0.0.1:9651 --bootstrap-ids=NodeId-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg --staking-tls-cert-file=$(pwd)/staking/local/staker3.crt --staking-tls-key-file=$(pwd)/staking/local/staker3.key
./build/avalanchego --public-ip=127.0.0.1 --snow-sample-size=2 --snow-quorum-size=2 --http-port=9656 --staking-port=9657 --db-dir=db/node4 --staking-enabled=true --network-id=local --bootstrap-ips=127.0.0.1:9651 --bootstrap-ids=NodeId-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg --staking-tls-cert-file=$(pwd)/staking/local/staker4.crt --staking-tls-key-file=$(pwd)/staking/local/staker4.key
./build/avalanchego --public-ip=127.0.0.1 --snow-sample-size=2 --snow-quorum-size=2 --http-port=9658 --staking-port=9659 --db-dir=db/node5 --staking-enabled=true --network-id=local --bootstrap-ips=127.0.0.1:9651 --bootstrap-ids=NodeId-7Xhw2mDxuDS44j42TCB6U5579esbSt3Lg --staking-tls-cert-file=$(pwd)/staking/local/staker5.crt --staking-tls-key-file=$(pwd)/staking/local/staker5.key
Avec Avash
Nous supposons que vous avez installé Avash.
Pour ouvrir Avash :
cd $GOPATH/src/github.com/ava-labs/avash
go build
./avash
Nous sommes maintenant dans Avash. Pour démarrer le réseau :
runscript scripts/five_node_staking.lua
Lorsque vous souhaitez démanteler le réseau, exécutez exit
pour quitter Avash.
Vérifier que les nœuds sont connectés
Nous pouvons examiner l'un des pairs du nœud pour nous assurer que les nœuds sont connectés. Pour ce faire, appelez info.peers
.
curl -X POST --data '{
"jsonrpc":"2.0",
"id" :1,
"method" :"info.peers"
}' -H 'content-type:application/json;' 127.0.0.1:9650/ext/info
peers
devrait avoir 4 entrées :
{
"jsonrpc":"2.0",
"result":{
"peers":[
{
"ip":"127.0.0.1:9158",
"publicIP":"127.0.0.1:9158",
"id":"NwEmCRVweJs9vTin7LpnweWSKVP4AB9Qi",
"version":"avalanche/0.5.0",
"lastSent":"2020-06-01T19:41:08Z",
"lastReceived":"2020-06-01T19:41:08Z"
},
{
"ip":"127.0.0.1:9156",
"publicIP":"127.0.0.1:9156",
"id":"6f3yBqjAJYV3tpBHLJKYruY3dPHAzKFEE",
"version":"avalanche/0.5.0",
"lastSent":"2020-06-01T19:41:08Z",
"lastReceived":"2020-06-01T19:41:08Z"
},
{
"ip":"127.0.0.1:9155",
"publicIP":"127.0.0.1:9155",
"id":"KxLwPp9MYV26CoP8ixTXggWvEgVaa9iPN",
"version":"avalanche/0.5.0",
"lastSent":"2020-06-01T19:41:08Z",
"lastReceived":"2020-06-01T19:41:08Z"
},
{
"ip":"127.0.0.1:9157",
"publicIP":"127.0.0.1:9157",
"id":"CkcATAFTDK4HHNWycEWfCz5wEMCsssZSt",
"version":"avalanche/0.5.0",
"lastSent":"2020-06-01T19:41:08Z",
"lastReceived":"2020-06-01T19:41:08Z"
}
]
},
"id":1
}
Obtenir des AVAX
Lorsque vous exécutez un réseau avec --network-id = local
, comme nous l'avons fait, il existe une adresse X-Chain pré-financée que vous pouvez importer afin d'obtenir AVAX. La clé privée de cette adresse est PrivateKey-ewoqjP7PxY4yr3iLTpLisriqt94hdyDFNgchSxGGztUrTXtNN
. Après avoir créé un keytsore user sur un nœud, vous pouvez importer cette clé et les fonds qu'elle détient, avec :
curl --location --request POST 'localhost:9650/ext/platform' \
--header 'Content-Type: application/json' \
--data-raw '{
"jsonrpc": "2.0",
"method": "platform.importKey",
"params":{
"username":"USERNAME GOES HERE",
"password":"PASSWORD GOES HERE",
"privateKey":"PrivateKey-ewoqjP7PxY4yr3iLTpLisriqt94hdyDFNgchSxGGztUrTXtNN"
},
"id": 1
}'
C'est tout ! Votre réseau local Avalanche est opérationnel. Il a les blockchains par défaut : la X-Chain, C-Chain et P-Chain. Le seul sous-réseau existant est le réseau principal.
Vous pouvez ajouter d'autres nœuds au réseau. N'oubliez pas de donner des valeurs uniques pour db-dir
, http-port
et staking-port
.
Dernière mise à jour
Cet article vous a-t-il été utile ?