Hydro Protocol is an open-source framework for building decentralized exchanges
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Use CircleCI for code coverage Dec 17, 2018
contracts Initial commit Dec 17, 2018
images updated README Dec 19, 2018
migrations Initial commit Dec 17, 2018
scripts Initial commit Dec 17, 2018
sdk Initial commit Dec 17, 2018
test Initial commit Dec 17, 2018
.gitignore Initial commit Dec 17, 2018
.prettierrc Initial commit Dec 17, 2018
.solcover.js Initial commit Dec 17, 2018
LICENSE.txt adding the Apache-2.0 license Dec 17, 2018
README.md switched order of installation and features Dec 19, 2018
package-lock.json Initial commit Dec 17, 2018
package.json Initial commit Dec 17, 2018
truffle-config.js Initial commit Dec 17, 2018
truffle.js Get coverage tests working again Dec 18, 2018

README.md

Hydro Protocol

CircleCI codecov

Hydro Protocol is an open-source framework for building decentralized exchanges on Ethereum.

Hydro is designed for developers looking to build decentralized exchanges without having to deal with the complexity and expense of designing, deploying, and securing their own smart contracts.

Features

Hydro 1.0 contains a single exchange contract called HybridExchange.sol with the following attributes:

  • No order collision
  • No possibility of front-running
  • Accurate market orders
  • Ability to collect fees as a percentage of the traded assets
  • Allows asymmetrical maker/taker fee structure, rebates, discounts
  • Multiple settlement models:
    • Wallet to wallet mode
    • Contract-deposit mode (supports ETH)
  • Highly optimized gas usage

Installation

npm install

To build json ABI files:

npm run compile

Tests

npm run coverage

Acknowledgments

Hydro is inspired by the 0x project.

In addition, projects such as IDEX and Paradex motivated the decision to focus on first order support for off-chain matching.

Contributing

  1. Fork it (https://github.com/hydroprotocol/protocol/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request

License

This project is licensed under the Apache-2.0 License - see the LICENSE.txt file for details