maroon

The Rust playground where we put all the pieces together.

Pieces so far:

Visualisation-demonstration of messages inside the system

https://dkorolev.github.io/maroon/

Useful run scenarious

Local test in a single node mode

Run in a single-node mode. When you need to test logic, but can sacrifice durability and don’t want to start etcd cluster.

make run-local PORT=3000 CONSENSUS_NODES=1

Runs imitation of gateway with the given key-range

+- realistic run scenarious

  1. Run etcd:
    • make start-test-etcd
  2. Run in a separate terminal sessions(if you need different ports, provide correct NODE_URLS as well):
    • make run-local PORT=3000
    • make run-local PORT=3001
    • make run-local PORT=3002
  3. Now if you open another terminal session you can see updates in etcd:
    • etcdctl --endpoints=http://localhost:2379 get --prefix /maroon/history
    • check out more

you should see published epochs but with empty increments

  1. In order to start publishing transactions - use gateway.

Right now it’s very dumb implementation that can only publish empty transactions from a given key-range. To run:

make run-gateway KEY_RANGE=2 NODE_URLS=/ip4/127.0.0.1/tcp/3000

NODE_URLS should contain at least one valid node url, in that case transaction will reach out all nodes in cluster eventually

to-do list