`tezos-client bootstrapped`: perché si chiude troppo presto, davvero senza attendere il bootstrap sulla rete?
1 risposta
- voti
Non c'è alcunindicatore sullablockchain o sulnodoper sapere se la catena è alpiùtardi o "bootstrap". È così chefunzionano leblockchain. In qualsiasimomentopotrebbeesserci unnuovoblocco o unanuovaforcella della catena. L'unicomodoperiltuonodo di sapere se latua versionememorizzatain locale dellablockchain è lafonte della verità è chiedere ad altrinodi delnodo sulla rete. Comegià sai,ilmodoperfarlo ètramite tezos-client bootstrapped
.
Quindi la domanda si riduce a,perché tezos-client bootstrapped
non si comporta correttamente?perchéti sta "mentendo" quandonon lo è? La chiave è la configurazioneperimpostare la sogliaperilnumero dipeer delnodo con cui confermareprima dipoter concordare con sicurezza che siamobootstrap. Inpocheparole,quando avviiiltuonodo,vorresti qualcosa delgenere:
./tezos-node run --bootstrap-threshold=10
Questo verrebbe confermato con 10peerprima di vedere la conferma "bootstrapped" utilizzando tezos-client bootstrapped
.
Cordiali saluti,ecco la descrizione ufficialeper l'argomento dallapaginaman delnodoeseguendo ./tezos-node run help
:
--bootstrap-threshold=NUM
Set the number of peers with whom a chain synchronization must be
completed to bootstrap the node
There is no indicator on the blockchain or the node to know if the chain is at latest or "bootstrapped". That's how blockchains work. At any moment there could be a new block or a new fork of the chain. The only way for your node to know if your local stored version of the blockchain is the source of truth is by asking other node peers on the network. As you already know, the way to do this is via tezos-client bootstrapped
.
So the question comes down to, why isn't tezos-client bootstrapped
behaving correctly? why is it "lying" to you when it isn't? The key is the configuration to set the threshold for how many node peers to confirm with before we can confidently agree that we are bootstrapped. Simply put, when starting your node, you would want something like this:
./tezos-node run --bootstrap-threshold=10
This would confirm with 10 peers before you would see "bootstrapped" confirmation using tezos-client bootstrapped
.
FYI, here is the official description for the argument from the node man page by running ./tezos-node run help
:
--bootstrap-threshold=NUM
Set the number of peers with whom a chain synchronization must be
completed to bootstrap the node
Quando avviamo unnodo Tezos da zero,ilbootstrapimpiegamoltotempo.Possiamomonitorare l'avanzamento conil comando
tezos-client bootstrapped
.Tuttavia,il comando di solito si chiudein unafasemoltoprecoce delbootstrap,indicando
Bootstrapped.
Cosa significa?È unbug del comando o lanozione di
Bootstrapped
è diversa da quella che hoio,sincronizzazione DB completa (o quasi completa)?E qual è l'attualemodo consigliatoper verificare cheilmionodo sia completamente avviato?(Ovviamenteposso usareil comando
tezos-client bootstrapped
regolarmenteper vedere lo stato corrente,ma è unpo 'noioso ...)