syntax = "proto3"; package message; enum MessageType { UNKNOWN = 0; NEWNODE_BOOTNODE = 1; BOOTNODE_NEWNODE = 2; NEWNODE_BEACON = 3; BEACON_NEWNODE = 4; NEWNODE_BEACON_STAKING = 5; } // This is universal message for all communication protocols. // There are different Requests for different message types. // As we introduce a new type of message just add a new MessageType and new type of request in Message. // // The request field will be either one of the structure corresponding to the MessageType type. message Message { MessageType type = 1; oneof request { StakingRequest staking = 3; } } // Message of NewNode talking to BootNode. message NewNodeBootNodeRequest { } // Message of BootNode talking to NewNode. message BootNodeNewNodeRequest { } // Staking Request from new node to beacon node. message StakingRequest { bytes transaction = 1; string node_id = 2; }