mirror of
https://github.com/vacp2p/mvds.git
synced 2026-01-06 21:34:17 -05:00
master
`CalculateNextEpoch` should set `SendEpoch` instead of cumulating it.
Minimal Viable Data Sync
Experimental implementation of the minimal viable data sync protocol specification including the metadata format specification.
Usage
Listening to MVDS messages is fairly simple:
sub := node.Subscribe()
for {
msg := <-sub
print(msg)
}
Prerequisites
Ensure you have protoc (Protobuf) and Golang installed. Then run make.
Simulation
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)
License
This project is licensed under the MIT License - see the LICENSE file for details
Languages
Go
98.4%
Makefile
1.6%