⚠️ DEPRECATION NOTICE ⚠️
This repository is no longer being maintained. 0x Labs isn’t keeping it aligned with future 0x protocol versions, nor is updating its dependencies with other blockchain protocols. We welcome other team’s contributions to do that if they find value in it. If you’re looking to integrate orderbook-like capabilities in your application, we encourage you to try 0x API /orderbook service instead
We intend to keep 0x-mesh bootstrap nodes up for the foreseeable future, however you can always set up your own mesh-bootstrap nodes and configure the 0x-mesh nodes via the BOOTSTRAP_LIST
environment variable.
0x Mesh is a peer-to-peer network for sharing orders that adhere to the 0x order message format.
We have reached the point where Mesh is being used by some teams in production. We feel that for many use cases, Mesh is stable enough for production. However, we caution that there are some issues and shortcomings in its current state, which generally fall into two categories:
@0x/mesh-browser
is feasible for most production use cases.0x Mesh has a lot of different use cases for different categories of users:
Both Relayers and Market makers can use Mesh to watch a set of 0x orders for changes in fillability (e.g., cancellations, fills, expirations, etc...).
0x Mesh is intended to be entirely automatic. It takes care of all the work of receiving, sharing, and validating orders so that you can focus on building your application. When you run a 0x Mesh node, it will automatically discover peers in the network and begin receiving orders from and sending orders to them. You do not need to know the identities (e.g., IP address or domain name) of any peers in the network ahead of time and they do not need to know about you.
Developers can use the GraphQL API to interact with a Mesh node that they control. The API allows you to send orders into the network, query for existing orders, and get notified when an order is added or the status of an existing order changes (e.g. when it is filled, canceled, or expired). Under the hood, Mesh performs efficient order validation and order book pruning, which takes out a lot of the hard work for developers.
You can find documentation and guides for 0x Mesh at https://0x-org.gitbook.io/mesh.
We love receiving contributions from the community :smile: If you are interested in helping develop 0x Mesh, please read the Development Guide. If you are looking for a place to start, take a look at the issues page and don't hesitate to reach out to us on Discord.