The core protocol of WoopChain
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
woop/api/proto/discovery
Kai Lee 9e87c928f1 Replace all logs in api module to use zerolog 5 years ago
..
pingpong.go Replace all logs in api module to use zerolog 5 years ago
pingpong_test.go update core code to use swapped BLS sig 6 years ago
readme.md add a readme.md file to explain the ping/pong messages 6 years ago

readme.md

Ping

Ping message sent by new node who wants to join in the consensus. The message is broadcasted to the shard. It contains the public BLS key of consensus and the peerID of the node. For backward compatibility, it still contains the IP/Port of the node, but it will be removed once the full integration of libp2p is finished as the IP/Port is not needed.

It also contains a Role field to indicate if the node is a client node or regular node, as client node won't join the consensus.

Pong

Pong message is sent by leader to all validators, once the leader has enough validators. It contains a list of peers and the corresponding BLS public keys. Noted, the list of peers may not be needed once we have libp2p fully integrated. The order of the peers and keys are important to the consensus.

At bootstrap, the Pong message is sent out and then the consensus should start.

TODO

The following two todo should be worked on once we have full libp2p integration. For network security reason, we should in general not expose the IP/Port of the node.

-[] remove peer info in Ping message, only keep peerID, which should be sufficient for p2p communication. -[] remove peer list from Pong message.