darknode-sol
contains a collection of Ethereum smart contracts utilized by the Ren Darknodes, written in Solidity. Ren bootstraps off Ethereum as a trusted third-party computer to handle Darknode registration and fee payouts.
Ren is powered by the RenVM — the Ren Virtual Machine — in a decentralized network of Darknodes that is distinct from Ethereum. This ensures the performance of the network, and the privacy of data, is not dependent on Ethereum.
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