0x is an open protocol that facilitates trustless, low friction exchange of Ethereum-based assets. A full description of the protocol may be found in our whitepaper. This repository contains the system of Ethereum smart contracts comprising 0x protocol's shared on-chain settlement layer, native token (ZRX) and decentralized governance structure. Truffle is used for deployment. Mocha is used for unit tests.
- Architecture
- Contract Interactions
- Contract deployed addresses
- 0x Protocol Message Format
- Bug Bounty Program
Install Node v6.9.1
Install project dependencies:
npm install
Start Testrpc
npm run testrpc
Compile contracts
npm run compile
Run tests
npm run test
0x protocol is intended to serve as an open technical standard for EVM blockchains and we strongly encourage our community members to help us make improvements and to determine the future direction of the protocol. To report bugs within the 0x smart contracts or unit tests, please create an issue in this repository.
Significant changes to 0x protocol's smart contracts, architecture, message format or functionality should be proposed in the 0x Improvement Proposals (ZEIPs) repository. Follow the contribution guidelines provided therein.
We use a custom set of TSLint rules to enforce our coding conventions.
In order to see style violation errors, install a tslinter for your text editor. e.g Atom's atom-typescript.