Ren has two repositories for its Solidity contract:
darknode-sol
(this repository) - contracts on Ethereum for managing darknode registrations.gateway-sol
- contracts on multiple EVM chains for minting and burning of ren-assets.
Ren bootstraps off Ethereum to handle the REN token and darknode registrations.
~ Documentation ~
- For the latest contract addresses, see the contract addresses page.
- For a summary of each contract, see the summary of contracts page.
Development notes
Install the dependencies.
yarn install
Run the ganache-cli
or an alternate Ethereum test RPC server on port 8545. The -d
flag will use a deterministic mnemonic for reproducibility.
yarn ganache-cli -d
Run the Truffle test suite.
yarn run test
Run the Truffle test suite with coverage.
yarn run coverage
Open the coverage file.
open ./coverage/index.html
Add a .env
, filling in the mnemonic and Infura key:
MNEMONIC_KOVAN="..."
MNEMONIC_MAINNET="..."
INFURA_KEY="..."
Deploy to Kovan:
NETWORK=kovan yarn run deploy
See 1_darknodes.js
for additional instructions.
Add an Etherscan API key to your .env
:
ETHERSCAN_KEY="..."
Run the following (replacing the network and contract name):
NETWORK=mainnet yarn run verify Contract1 Contract2