Rubicon is a decentralized exchange protocol on the Ethereum blockchain. The protocol enables the exchange of crypto assets that adhere to the ERC-20 standard, whether it be cryptocurrencies like ETH and WBTC, stablecoins, governance tokens, or anything in between. Our hope is that the Rubicon protocol can replace traditional intermediaries and costly third parties with open-source code in order to democratize, open, and accelerate global financial markets. This is achieved through the deployment, development, and management of the Rubicon protocol's smart contracts described throughout these docs.
The Rubicon protocol will launch on Ethereum in the Summer of 2021, utilizing layer 2 scaling solutions for increased transaction throughput and reduced transaction fees. The first scaling solution Rubicon will use is Optimism. If you are interested in learning more, developing on the Rubicon protocol, joining the team, or just want to contact the team please feel free to reach us at [email protected] - we would love to hear from you!
There are a number of key smart contracts that facilitate the operations of the Rubicon protocol. Please see below for an overview of our current smart contract infrastructure.
At a high level, Rubicon revolves around a core smart contract (RubiconMarket.sol) that facilitates the peer-to-peer exchange of digital assets. Additionally, Rubicon Pools has its own system of smart contracts that enables users to provide passive liquidity on the Rubicon order books.
$ git clone https://www.github.com/RubiconDeFi/rubicon_protocol.git$ cd rubicon_protocol && npm i$ npm i --save-dev [email protected]$ truffle init$ 'n' for overwriting contracts$ 'n' for overwriting migrations$ (in separate terminal) ganache-cli
Also make sure that you comment out the lines in truffle-config.js that say 'development: ' and include localhost under networks so that you can connect to Ganache.
$ truffle migrate -- deploys contracts to development network, i.e. localhost$ truffle test -- run the set of tests provided in the test folder of repo