`Tezos-Client BootsTrapped`": Pourquoi cela arrête-t-il trop tôt, vraiment sans attendre la démarrage au réseau?
1 réponses
- votes
Iln'y apas d'indicateur sur leblockchain ou lenœud de savoir si la chaîneest auplustard ou "bootstrapped". C'est à quelpoint les voiliersfonctionnent. Àtoutmoment,ilpourrait y avoir unnouveaubloc ou unenouvellefourchette de la chaîne. La seulefaçonpour votrenœud de savoir si votre version stockée locale dublockchainest la source de la vérité consiste à demander à d'autres homologues denoeuds sur le réseau. Comme vous le savez déjà,lamanière de lefaireest via Tezos-Client BootsTrapped
.
La question revient donc,pourquoi Tezos-Client BootsTrapped
se comporte correctement? Pourquoiest-ce "mentent" à vous quand cen'estpas? La cléest la configurationpour définir le seuilpour lenombre dejeux denoeuds à confirmer avec avant depouvoir accepter avec confiance quenous sommesbootstrapped. Mettez simplement,lorsque vous démarrez votrenœud,vous voudriez quelque chose comme ceci:
./Tezos-Nodeexécution --Bootstrap-Seuil=10
Cela confirmerait avec 10pairs avant de voir que la confirmation de «bootsTrappe» à l'aide de Tezos-Client BootsTrapped
.
FYI,voici la description officielle de l'argument de lapage denœud Manen exécutant ./Tezos-nœud Run Aide
:
-bootstrap-thehold=nombre
Définissez lenombre depairs avec qui une synchronisation de la chaîne doit être
complétépourbootstrap lenœud
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
Lorsquenous commençons unnœud Tezos àpartir de zéro,ilfautbeaucoup detempspourbootstrap.Nouspouvons surveiller laprogression avec
tezos-client bootstrapped
.Cependant,la commande quittegénéralement une étapetrèsprécoce debootstrapping,raconter
Bootstrapped.
Qu'est-ce que cela signifie?Est-ce unbogue de la commande ou lanotion de
Bootstrapped
est différente de ce quej'ai,complète (oupresque complète) DB Synchronisation?Et quelleest lamanière recommandée actuelle de vérifiermonnœudest complètementbootstrapped?(Bien sûr,je peux utiliser la commande
tezos-client bootstrapped
régulièrementpour voir le statut actuel,maisilestbit fastidieux ...)