Galois is an extremely high performance matching engine written in Rust which uses event-sourcing pattern to handle tens of thousands of orders per second or even better, depending on the performance of persistence. Basic architecture is shown below.
core dump(disk)
^
^
+----------+
events(mysql) >> | galois | >> match results(mysql)/best n price(redis)
will be replaced +----------+ will be replaced
^
^
query requests(TCP)
Galois works as the prover(a.k.a Proof of Matches) component of Fusotao. From v0.4.0, we don't support running Galois in standalone mode anymore. According to the Roadmap 2023, the UINB team is working on implementing the Proof of Order Relay which enables users to run Fusotao Node as an order relayer(a.k.a broker) rather than supporting multiple prover instances in the network. In the near future, galois will be recoverable from anywhere by pulling the core data and sequences from Arweave and under management of the FusoDAO.
- MySQL(will be replaced with RocksDB): persist the events and output the match result
- Redis(will be removed): output the best n price of the orderbook
TODO, or refer to the old version.
TODO, or refer to the old version.
Galois is licensed under Apache 2.0.