Janus is a demo for Reliable CRDT (Paper link: Coming Soon!) that uses DAG-Based consensus algorithm to achieve BFT and serializable operations with CRDTs. Janus works as a Key-value database cluster with PN-Counter and OR-Set support, you can use Janus client to interact with the any of the server.
- .Net SDK 6.0+
- Python 3.10+
- Ubuntu 22.04
$cd BFT-CRDT-Client/scripts
$./start_servers.py start [number_of_servers]
number_of_servers must >= 4
$cd BFT-CRDT-Client/scripts
$./start_servers.py rstart [number_pre_servers] [ip1, ip2]')
$cd BFT-CRDT-Client
$dotnet run <mode> (<ip> <port> | <benchmark config file> <oneshot?>
Use <mode=1> to run an interactive client - see in client help string for commands.
Use <mode=2> to run benchmark - see /BFT-CRDT-Client/benchmark_config_example.json
for details.