`tezos-client bootstrapped` : 네트워크 부트 스트랩을 기다리지 않고 너무 일찍 종료되는 이유는 무엇입니까?
1 대답
- 투표
블록 체인이나 노드에는 체인이 늦어 졌는지 또는 "부트 스트랩되었는지"를 알 수있는 지표가 없습니다. 이것이 블록 체인이 작동하는 방식입니다. 언제든지 새 블록 또는 체인의 새 포크가있을 수 있습니다. 노드가 로컬에 저장된 블록 체인 버전이 진실의 근원인지 알 수있는 유일한 방법은 네트워크의 다른 노드 피어에게 요청하는 것입니다. 이미 알고 있듯이이를 수행하는 방법은 tezos-client bootstrapped
을 사용하는 것입니다.
그러면 질문은 왜 tezos-client bootstrapped
이 올바르게 작동하지 않는 것입니까? 그렇지 않은데 왜 당신에게 "거짓말"입니까? 핵심은 우리가 부트 스트랩된다는 확신을 갖기 전에 확인할 노드 피어 수에 대한 임계 값을 설정하는 구성입니다. 간단히 말해,노드를 시작할 때 다음과 같은 것을 원할 것입니다.
./tezos-node run --bootstrap-threshold=10
이것은 tezos-client bootstrapped
를 사용하여 "bootstrapped"확인을보기 전에 10 명의 피어로 확인합니다.
참고로,다음은 ./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
Tezos 노드를 처음부터 시작하면 부트 스트랩에 오랜 시간이 걸립니다.
tezos-client bootstrapped
명령으로 진행 상황을 모니터링 할 수 있습니다.그러나이 명령은 보통 부트 스트랩의 아주 초기 단계에서 종료되며
를 알려줍니다.Bootstrapped.
무슨 뜻입니까?명령의 버그입니까,아니면
Bootstrapped.
의 개념이 제가 가지고있는 것과 다른 전체 (또는 거의 전체) DB 동기화입니까?그리고 내 노드가 완전히 부트 스트랩되었는지 확인하는 현재 권장되는 방법은 무엇입니까?(물론
tezos-client bootstrapped
명령을 정기적으로 사용하여 현재 상태를 확인할 수 있지만 약간 지루합니다 ...)