Experimental implementation of the minimal viable data sync protocol specification including the metadata format specification.
Listening to MVDS messages is fairly simple:
sub := node.Subscribe()
for {
msg := <-sub
print(msg)
}
Ensure you have protoc
(Protobuf) and Golang installed. Then run make
.
In order to run a very naive simulation, use the simulation command. The simulation is configurable using various CLI flags.
Usage of main.go:
-communicating int
amount of nodes sending messages (default 2)
-interactive int
amount of nodes to use INTERACTIVE mode, the rest will be BATCH (default 3)
-interval int
seconds between messages (default 5)
-nodes int
amount of nodes (default 3)
-offline int
percentage of time a node is offline (default 90)
-sharing int
amount of nodes each node shares with (default 2)
This project is licensed under the MIT License - see the LICENSE file for details