ParadigmCore is the reference implementation of the OrderStream (OS) network. To read more about OS network and the high-level functionality the software enables, check out the Paradigm Protocol whitepaper. An introduction to the protocol as a whole can be found here. Additional documentation and tutorials will be published over the coming weeks and months.
ParadigmCore is built on Tendermint, which it uses for networking and BFT consensus.
Jump into ParadigmCore by following one of the links below:
- Quick start (install/setup)
- Run a full node (tutorial)
- Source code (on GitHub)
- JSONRPC/WebSocket API reference
Non-exhaustive list of ParadigmCore functionality.
- Robust one-way communication "bridge" between Ethereum and ParadigmCore
- Securely and consistently replicate state across node instances
- Security guaranteed by signatures from all network participants
- Fully compliant Tendermint ABCI transactional state machine
- Dynamic setup script for "easy" configuration
- JSONRPC/WebSocket API allowing access to the state and valid orders
- REST API for submitting orders over HTTP to validator nodes
- Self-administered error resolution for various network errors
- Docker images for easy deployment (incl. pre-configured test-net image)
- Dynamic validator set curation based on the
- Segregated-witness style
ordertransaction separation (conserves blockchain space)
- KV based indexing for historical transactions
- Golang implementation of ParadigmCore
Order books and storage
The OrderStream network design follows a partially-synchronous and event-driven architecture, with strong consistency guarantees provided by the underlying Tendermint consensus protocol. The network and client implementations are specifically designed for order message broadcast. As such, ParadigmCore does not include a database interface (by default) or offer query functionality for historical orders. Instead it provides a simple "event stream" that allows for applications to derive order books in real time that can be stored in an out-of-state database.
We have released one database driver so far,
OrderStream-SRA. It subscribes to a full or validating OrderStream node's WebSocket endpoint, and derives an order book of valid, executable 0x order messages.
OrderStream-SRA serves this order book through a 0x Standard Relayer API compliant interface. You can preview a live version of this software at sra.zaidan.io/v2/.
Issues and proposals
ParadigmCore is under active development, and at this point should not be considered stable. If you find a bug, inconsistency, or vulnerability please open an issue.
If you encounter errors setting up or running setting up ParadigmCore, feel free to reach out on our chat server.
ParadigmCore granted to the public domain, under a CC0 license.
Proposals for improvements and enhancements to the protocol are highly encouraged. If you have a suggestion or specification, please submit a Paradigm Improvement Proposal (PIP).