$ ./hmy --node=https://api.s0.dry.hmny.io blockchain validator information one1sgcpjc405ueglhp5udsskjxcn8crrc2lmuf35c
{
"id": "0",
"jsonrpc": "2.0",
"result": {
Test log
This is the test log for PR: harmony-one/harmony#3048
Blockchain can sync as expected.
Since the singleflight solution might cause memory leak, swithed the solution to lur.Cache. Do the test again.
Steps and target please see this gist
- Shard 0 validator (localhost:9502): PASSED
- Shard 1 validator (localhost:9503): PASSED
- Explorer S0 (localhost:9099): PASSED
- Explorer S1 (localhost:9099 with script update): PASSED
During synchronization process, the client node will ask some of the DNS nodes instead of all of them.
- Add some print message in function
node.forEachPeer
to print out all the nodes being used. - Start node.sh to join mainnet with the customized binary file.
- See the log for intended message. Shall see number of DNS nodes being queried shall be 4 for beacon.
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{"level":"info","port":"9002","ip":"173.254.205.202","self":"173.254.205.202:9002","PeerID":"QmWfsstapbUYnDxrMSsZTtdg7riS4C7e5ZQ4KyBVJEKyXn","PubKey":"009415a42c849b150b60ba32a748a004cc2eb2fd0cd1ed0233edb567c9f85256ea318df0a6b52e85ca2319e5a661b30d","caller":"/home/leochen/go/src/github.com/harmony-one/harmony/p2p/host.go:117","time":"2020-05-22T10:55:57.755156755-07:00","message":"libp2p host ready"} | |
{"level":"info","port":"9002","ip":"173.254.205.202","publicKey":"009415a42c849b150b60ba32a748a004cc2eb2fd0cd1ed0233edb567c9f85256ea318df0a6b52e85ca2319e5a661b30d;12d5c6e54e81e0316fb746b2fc71fb6d2816413710aca2cdfa01c8e7fbbd9c29d6256bba872baa37052fba3fae411715;73a7aac411ee826586556f2e517a44e3d44daa70be42726229f2b0eb0416c05773afc4811289f60bdbeda529453d1e89;f9381ee9b6233813215bc5ccae45d7c3f9c31cc26e5be66b8eab7e3a5422bd797435e0892a5d25c01122fe3ece801689;","caller":"/home/leochen/go/src/github.com/harmony-one/harmony/consensus/consensus.go:194","time":"2020-05-22T10:55:57.756621475-07:00","message":"My Public Key"} | |
{" |
In order to refactor the syncing module of the harmony code, several questions need to be answered:
- What is the current network structure?
- What is the role of crosslink in block header/body verification?
- What is the role of view change in block header/body verification?
- What is the role of slashing and how it interact with offchain data?
This document is the design doc for harmony fastSync.
Note:
- This document inherit a lot of ideas from Ethereum. It would help if you have some knowledge of Ethereum network implementation to better understand this document.
- Please use this document as a collection of potential ideas instead of the final design.
OlderNewer