Controllate le specifiche hardward qui. Se usate un firewall sarà necessario permettere il traffico alla porta TCP 24567
da tutti gli indirizzi IP (0.0.0.0/0
).
Una volta che il vostro server è pronto, installate nearup. Nearup fornisce un insieme di tool per aiutare i validatori ad avviare il loro nodo, e gli sviluppatori che necessitano di un loro server RPC locale.
Prendetevi del tempo per capire come eseguire l'aggiornamento manuale di nearcore, e come usare correttamente il comando nearup betanet --nodocker --binary-path
qui.
Per connettervi alla rete betanet
scaricate e compilate la versione più recente di nearcore release:
- I release di BetaNet sono identificati da tag nel formato
x.y.z-beta
- I release di TestNet sono identificati da tag nel formato
x.y.z-rc
Attenzione, ora dovrete decidere il nome del vostro staking pool!
Se il vostro wallet è mariorossi.betanet
, dovrete scegliere un nome specifico per il vostro pool, come mariorossi_staking
. Come vedremo al passo step 2.2 dove useremo lo staking pool factory, il nome completo del vostro pool diventerà stakingPool_ID
+ stakehouse.betanet
.
Al primo avvio di nearup
vi verrà chiesto il nome del vostro staking pool, e dovrete inserire mariorossi_staking.stakehouse.betanet
se il nome del vostro pool è mariorossi_staking
:
Enter your account ID (leave empty if not going to be a validator):
Dopo l'inserimento del nome, nearup avvierà automaticamente il vostro nodo da validatore con il nome scelto.
Quando nearup avrà concluso il processo di avvio, esportate e salvate la chiave del validatore usando il comando cat ~/.near/betanet/validator_key.json | grep public_key
, poiché sarà necessario per la configurazione dello smart contract.
Ora è necessario collegare il nodo validatore allo smart contract con lo stesso nome.
Se eravate un validatore nella rete BetaNet, e state usando il comando near stake
, seguite le seguenti istruzioni:
- Eseguite il comando
export NODE_ENV=betanet
nel terminale in modo che near-cli si connetta alla retebetanet
. - Eseguite l'unstake di fondi precedentemente delegati impostando zero come il nuovo importo da delegare:
near stake account_ID <staking public key> 0
- dove la chiave publica e l'ID dell'account sono gli stessi usati inizialmente per eseguire la delegazione.
Ricordatevi che i fondi necessitano di tre epoche per essere disponibile (9 ore in BetaNet). Una volta che i fondi sono disponibili, potrete fermare nearup con il comando nearup stop
, eseguire la pulizia delle cartella ~/.near/betanet
, e riavviare nuovamente nearcore seguendo il punto 1. di questa guida.
Quando avrete completato questo step, e il vostro nodo non sarà più un validatore potrete continuare con il punto successivo di questa guida.
Aggiornamento 22 Luglio 2020: per accogliere e soddifare le specifiche di MainNet Restricted, lo Staking Pool Factory è stato introdotto. Questo smart contract eseguirà il deployment dello staking pool per conto vostro. Inoltre, lo staking pool verrà aggiunto a una speciale lista (whitelist) in modo da poter mandare e ricevere token dal vostro wallet. Se avete altre versioni dello staking pool, è consigliabile seguire il punto 2.1 di questa guida per poi continuare con la instruzioni qui sotto.
Lo staking pool factory è un normale smart contract che può essere invocato usando la funzione call
di near-cli:
near call stakehouse.betanet create_staking_pool '{"staking_pool_id":"<POOL_ID>", "owner_id":"<OWNER_ID>", "stake_public_key":"<VALIDATOR_KEY>", "reward_fee_fraction": {"numerator": <X>, "denominator": <Y>}}' --account_id <OWNER_ID> --amount 30 --gas 300000000000000
dove:
stakehouse.betanet
è lo staking pool factory contractPOOL_ID
è il nome dello staking pool per il vostro nodo. Se il nome del vostro wallet èmariorossi
alloraPOOL_ID
dovrà coincidere conmariorossi.pool.6fb1358
OWNER_ID
è il proprietario del nodo, autorizzato a cambiare la chiave pubblica del nodo e le commissioniVALIDATOR_KEY
è la chiave pubblicacat ~/.near/betanet/validator_key.json | grep public_key
del nodo{"numerator": <X>, "denominator": <Y>}
imposta la commissione. Per impostare un 10% di commissione X=10 e Y=100--amount 30
allega 30 $NEAR alla transazione, come fondo per il pagamento del prezzo di creazione del contratto--gas 300000000000000
specifica l'ammontare di gas per la transazioni (opzionale!)
- Usando near-cli, trasferite fondi dal vostro account principale allo staking pool:
near call stakingPool_ID deposit '{}' --accountId account_ID --amount 100
. Dove 100 è l'ammontare in NEAR che volete trasferire. - Eseguite la proposta di diventare uno dei validatori della rete con il comando
near call stakingPool_ID stake '{"amount": "100000000000000000000000000"}' --accountId account_ID
Attenzione: l'importo usato per il deposito nel primo punto è in $NEAR, mentre l'importo usato per la proposta nel secondo punto è in YoctoNEAR. 1
$NEAR è 1*10^24
YoctoNEAR (1 seguito da 24 zeri). Perciò:
NEAR | YoctoNEAR | YoctoNEAR |
---|---|---|
1 |
1*10^24 |
1000000000000000000000000 |
10 |
1*10^25 |
10000000000000000000000000 |
100 |
1*10^26 |
100000000000000000000000000 |
1,000 |
1*10^27 |
1000000000000000000000000000 |
10,000 |
1*10^28 |
10000000000000000000000000000 |
Vi suggeriamo di prendere confidenza con smart contract dello staking pool (la repository ufficale si trova su Github). Inoltre prestate particolare attenzione alla distinzione tra stakingPool_ID
e account_ID
.