For detailed documentation of the Rubicon protocol please visit our docs
Rubicon is a Layer 2, open-orderbook DEX built on the EVM and Optimism. Rubicon is also a blockchain-based protocol that is aimed at developing and ushering in the emergence of digital asset markets on the Ethereum blockchain. Read more about our mission and Rubicon here
The Rubicon protocol aims to launch on the Optimism Layer 2 mainnet soon. At that time, the community distribution of the governance token RBCN will be live. If you are interested in joining our team, learning more, or want to contact Rubicon please feel free to reach us at contact@rubicon.finance - we would love to hear from you!
There are a number of key smart contracts that facilitate the governance and operation of Rubicon. 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 transfer of tokens, digital assets, and any ERC-20 compliant token. Additionally, Rubicon and its governance token, RBCN, leverage a number of smart contracts to facilitate the decentralization of the protocol, community governance, and future iterations of the protocol.
$ git clone https://www.github.com/RubiconDeFi/rubicon_protocol.git
$ cd rubicon_protocol && npm i
$ npm i --save-dev openzeppelin-solidity@2.5.1
$ truffle init
$ 'n' for overwriting contracts
$ 'n' for overwriting migrations
$ (in a separate instance) ganache-cli
Migrate the contracts to the blockchain of your choosing:
$ truffle compile --all
$ truffle migrate
The command below will run all of the protocol tests located in the test folder which make sure that everything from trading functionality to the community distribution of RBCN are working correctly in the EVM.
$ truffle test
All OVM specific logic, tests, and configs are contained in the 'ovm' folder of the repository. Given the OVM's nature of being nearly 1:1 with native Solidity and the EVM most core testing logic lives in the test folder for Layer 1 EVM testing.
To compile the project's contracts in the OVM or run the suite of OVM tests located in ./ovm/ovmTests simply run the following from the root directory:
$ npx hardhat compile
$ npx hardhat test
To compile or migrate via truffle in the OVM with a ganache instance running, run the following from the root directory:
$ cd ovm
$ truffle compile --all
$ truffle migrate --reset