Set of smart contracts needed for mysterium identity registration and working with payment channels (using payment hubs).
- Payments solution white paper
- Smart contracts API description
- Requirements/prerequisites of payment solution
- Registration flow (technical)
We're using truffle for smart contract compilation and running tests.
- Install dependencies
npm install
- Run local ethereum node, e.g.
ganache
. Make sure to use version greater than 6.12.2.
npx ganache-cli --port 8545 --mnemonic "amused glory pen avocado toilet dragon entry kitchen cliff retreat canyon danger"
- Run tests
npm test
- Testing migration/deployment
npm run migrate
Registry smart contract:
- Polygon 0x87F0F4b7e0FAb14A565C87BAbbA6c40c92281b51
- Ethereum 0x87F0F4b7e0FAb14A565C87BAbbA6c40c92281b51
Hermes smart contract
- V1 on Polygon 0xa62a2A75949d25e17C6F08a7818e7bE97c18a8d2
- V1 on Ethereum 0xa62a2A75949d25e17C6F08a7818e7bE97c18a8d2
- V2 on Polygon 0xDe82990405aCc36B4Fd53c94A24D1010fcc1F83d
- V3 on Polygon 0x80ed28d84792d8b153bf2f25f0c4b7a1381de4ab
Implementation addresses:
- Hermes implementation address (same on both networks):
0x213a1B1d08F2715aE054ade98DEEd8a8F1cc937E
- Hermes implementation v3 address (Polygon only):
0x4f7265afc1373317975a306023574BE5Ec87157A
- Channel implementation address (Polygon):
0x25882f4966065ca13b7bac15cc48391d9a4124f6
- Channel implementation v2 address (Polygon):
0x813d3A0ef42FD4F25F2854811A64D5842EF3F8D1
- Channel implementation v3 address (Polygon):
0x6b423D3885B4877b5760E149364f85f185f477aD
- Channel implementation address (Ethereum):
0xBd20839B331A7A8d10e34CDf7219edf334814c4f
MYSTT test token:
- on Görli: 0xf74a5ca65E4552CfF0f13b116113cCb493c580C5
- on Mumbai: 0xB923b52b60E247E34f9afE6B3fa5aCcBAea829E8
Registry smart contract:
- Görli: 0xDFAB03C9fbDbef66dA105B88776B35bfd7743D39
- Mumbai: 0xDFAB03C9fbDbef66dA105B88776B35bfd7743D39
- Mumbai (new for v3): 0x1ba2DF26371E83D87Afee2F27a42f5A7FE9e5219
Hermes smart contract:
- Görli 0x7119442C7E627438deb0ec59291e31378F88DD06
- Mumbai 0x7119442C7E627438deb0ec59291e31378F88DD06
- Mumbai v3: 0xcAeF9A6E9C2d9C0Ee3333529922c280580365b51
Implementation addresses:
- Hermes implementation address (same on both networks):
0x72227c86B8B6C0cA292C3631679a5DdB20433cb3
- Channel implementation address (Görli):
0x1aDF7Ef34b9d48DCc8EBC47D989bfdE55933B6ea
- Channel implementation address (Mumbai):
0xf8982Ba93D3d9182D095B892DE2A7963eF9807ee
- Hermes implementation address (Mumbai v3):
0xaC69E0C98A688E35698630Eb0c741eB2A2fc5eF1
- Channel implementation address (Mumbai v3):
0x6FE3E5e5008e49821BF7282870eC831BA9694dDB
All v3 related Smart Contracts are deployed by Hermes Operator
To be able easily call these smart contract out of any software writen in Go you need to generate golang bindings and import payments
package into your software.
- Tag newest version of smart contracts on GitHub
- CI will build artifacts
- Go to
payments
repo and ingo.gen
set tag and which artifacts to build. - Run
mage generate
.