HOPR net
HOPR is a privacy-preserving messaging protocol that incentivizes users to participate in the network. It provides privacy by relaying messages via several relay nodes to the recipient. Relay nodes are getting paid via payment channels for their services.
hopr-ethereum
Hopr-ethereum contains the on-chain logic that is used to process payments for hoprnet.org on the Ethereum blockchain.
Table of Contents
Requirements
Install
# 1. Installs dependancies
yarn
Build
# 1. Runs linter
# 2. Compiles smart contracts
# 3. Generates smart contracts' typescript types
# 4. Compiles migrations to `.js`
yarn build
Testing
yarn test
tip: we can use truffle's debug feature to seemingly debug our tests, take look at this example
Coverage
npx hardhat coverage
tip: see coverage results by launching
./coverage/index.html
Migrating
For public network migrations (rinkeby, kovan, etc), you will have to create a .env file within the root directory of this project.
# local migration
yarn network
# public migration
yarn migrate --network matic
Audits
You can follow the auditing process over at hopr-audits.
Linting
We use solhint's recommended preset to perform linting onto our smart contracts.