hopli

Module network_registry

Source
Expand description

This module contains arguments and functions to interact with the Network Registry contract for a privileged account. To participate in the HOPR network, a node must be included in the network registry contract. Nodes and the staking account (Safe) that manages them should be registered as a pair in the Network registry contrat. Nodes and safes can be registered by either a manager or by the staking account itself.

Note the currently only manager wallet can register node-safe pairs. Node runners cannot self-register their nodes.

A manager (i.e. an account with MANAGER_ROLE role), can perform the following actions with hopli network-registry, by specifying the subcommand: A manager account can register nodes and safes with manager-regsiter A manager account can deregister nodes with manager-deregsiter A manager account can set eligibility of staking accounts with manager-force-sync

Some sample commands:

  • Manager registers nodes:
hopli network-registry manager-register \
    --network anvil-localhost \
    --contracts-root "../ethereum/contracts" \
    --identity-directory "./test" --password-path "./test/pwd" \
    --node-address 0x9e820e68f8c024779ebcb6cd2edda1885e1dbe1f,0xb3724772badf4d8fffa186a5ca0bea87693a6c2a \
    --safe-address 0x0aa7420c43b8c1a7b165d216948870c8ecfe1ee1,0x0aa7420c43b8c1a7b165d216948870c8ecfe1ee1,0x0aa7420c43b8c1a7b165d216948870c8ecfe1ee1,0xd057604a14982fe8d88c5fc25aac3267ea142a08,0xd057604a14982fe8d88c5fc25aac3267ea142a08 \
    --private-key ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 \
    --provider-url "http://localhost:8545"
  • Manager deregisters nodes:
hopli network-registry manager-deregister \
    --network anvil-localhost \
    --contracts-root "../ethereum/contracts" \
    --node-address 0x9e820e68f8c024779ebcb6cd2edda1885e1dbe1f,0xb3724772badf4d8fffa186a5ca0bea87693a6c2a \
    --private-key ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 \
    --provider-url "http://localhost:8545"
  • Manager syncs the eligibility of safes
hopli network-registry manager-force-sync \
    --network anvil-localhost \
    --contracts-root "../ethereum/contracts" \
    --safe-address 0x9e820e68f8c024779ebcb6cd2edda1885e1dbe1f,0xb3724772badf4d8fffa186a5ca0bea87693a6c2a \
    --eligibility true \
    --private-key ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 \
    --provider-url "http://localhost:8545"

Enumsยง

NetworkRegistrySubcommands
CLI arguments for hopli network-registry