3

When we start a Tezos node from scratch, it takes long time to bootstrap. We can monitor the progress with tezos-client bootstrapped command.

However, the command usually quits at a very early stage of bootstrapping, telling Bootstrapped.

What does it mean? Is it a bug of the command, or the notion of Bootstrapped is different from what I have, full (or nearly full) DB synchronization?

And, what is the current recommended way to check my node is fully bootstrapped? (Of course I can use tezos-client bootstrapped command regularly to see the current status, but it is bit tedious...)

1 Answer 1

4

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.