Creates a graph with node_size nodes
Contains the information of an active node
Cache holding the event package current processed
Build a wave-front which can be package and send to another node
The channel is the public key used by this node
Create the first event for this node Uses the eva_pack function to created the event-package
Creates and wave-front init-tide as a HiRPC Which can be send to other active nodes Note. Will generate tidalWavewave but if the node are not yet in the graph then a sharpWave is generate
Removes an event-package with the fingerprint
Special function to generate the first event-package when the this node starts
Create and event package which can be serialized and send to other nodes
Same as node(channel) except that the node will be add if it doesn't exists This function is only used internally
Checks if votes is the majority
Used to set the local Event.id
Lookup the node on the channel
Get a map of all the nodes currently handled by the graph
Register the event-package with the fingerprint hash Calls the Register.register function if it's defined or else it uses the event_cache
Remove the node at the channel
* The rounds containing the information of rounds which a process or has been processed * The processed rounds will over time be erased * Returns:
First time it is called we only send our own eva since this is all we know. Later we send everything it knows.
to synchronize two _nodes A and B 1) Node A send it's wave front to B This is done via the waveFront function 2) B collects all the events it has which is are in front of the wave front of A. This is done via the waveFront function B send the all the collected event to B including B's wave font of all the node which B know it leads in, The wave from is collect via the waveFront function by adding the remaining tides 3) A send the rest of the event which is in front of B's wave-front
Converts a received wave-front to a response. Handles the wavefront-state dependent response. If the package is not recognized the an HiRPC error response is generated
Handles over all HashGraph algorithm 1. The event graph 2. Node information 3. Round information 4. The wave-from gossip state 5. And the refinement of generated epochs