-
Notifications
You must be signed in to change notification settings - Fork 34
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* refactor sequencer, accepting commands from sidecar directly * extract scanner/committer from connector * replace mysql with rocksdb * update README.md --------- Co-authored-by: Cyberaurora <[email protected]>
- Loading branch information
Showing
33 changed files
with
2,601 additions
and
3,677 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,47 +1,45 @@ | ||
[](https://github.com/blyxyas/no-rust-policy-change) | ||
# Galois | ||
|
||
[](#LICENSE) | ||
[](https://github.com/uinb/galois/actions?query=branch%3Amaster) | ||
|
||
|
||
## Introduction | ||
|
||
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](https://github.com/uinb/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](https://github.com/uinb/fusotao) 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](https://arweave.org/) and under management of the FusoDAO. | ||
|
||
## Getting Started | ||
sidecar chain <-+ | ||
| | \ | ||
| | \ | ||
v v \ | ||
+-----> server scanner + | ||
| \ / | | ||
|\ \ / | | ||
| \ \ / | | ||
| +-<- sequencer | | ||
+ | | | ||
|\ | | | ||
| \ v | | ||
| +-<- executor | | ||
+ / \ + | ||
\ / \ / | ||
\ / \ / | ||
+-<- output committer -+ | ||
[Fusotao Docs](https://docs.fusotao.org/) | ||
``` | ||
|
||
### Dependencies | ||
Galois works as the prover of [Fusotao](https://github.com/uinb/fusotao)(a.k.a Proof of Matches). From v0.4, we don't support running Galois in standalone mode anymore. | ||
|
||
- 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 | ||
NOTICE: The v0.7 is still under heavy development. | ||
|
||
### Quick Start | ||
## Documents | ||
|
||
TODO, or refer to the old version. | ||
See [Fusotao Docs](https://docs.fusotao.org/). | ||
|
||
### Instructions | ||
## How it works | ||
|
||
TODO, or refer to the old version. | ||
See [Fusotao Greebook](https://www.fusotao.org/fusotao-greenbook.pdf). | ||
|
||
## License | ||
Galois is licensed under [Apache 2.0](LICENSE). | ||
|
||
[Apache 2.0](LICENSE). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.