Humanode Docs

Running the node

The distribution package

The distribution package includes:
  • humanode-peer - the main binary to launch the humanode peer.
  • chain-spec - the collection of information that describes a Substrate-based blockchain network. Check the substrate source to get more details.
  • ngrok-wrapper - a tool that enables a proper ports forwarding in NAT (and ngrok-like tunnel) to connect to your node's RPC endpoint from a handheld device (i.e. phone).

Running the peer

Bioauth key generation

Generate your bioauth key, the one that is used for enrolment and authentication.
$ humanode-peer key generate
Secret phrase: drop find ginger chief worry trial electric sense long deer lock north
Network ID: substrate
Secret seed: 0xd35f23dd8c1672467c57a55dcf8d6761dd2238fec489e1c8cf90c437b18aefce
Public key (hex): 0xf8eb7c948e3889c3149296e5a25b25f98f4814e781968cf5876f8cab474d480f
Account ID: 0xf8eb7c948e3889c3149296e5a25b25f98f4814e781968cf5876f8cab474d480f
Public key (SS58): 5Hh5gnML29ZkoSgkrYCeMw8BC4tu5R6q7NgRWfXZnp1NZei3
SS58 Address: 5Hh5gnML29ZkoSgkrYCeMw8BC4tu5R6q7NgRWfXZnp1NZei3

Bioauth key import

Copy the secret phrase and import it into keystore.
$ humanode-peer key insert --key-type kbai --suri "$SECRET_PHRASE" \
--chain chainspec.json --scheme sr25519
  • --key-type kbai - bioauth key type used in the Humanode networks.
  • --suri "$SECRET_PHRASE" - your secret phrase (i.e. mnemonic) from the previous command.
  • --chain chainspec.json - path to the Humanode chain specification file.

Run the tunnel

The humanode peer uses 9933 RPC endpoint by default. You are free to use any of your choices. But don't forget to explicitly specify the same port during the peer run in case using a different one from 9933.
Run the tunnel using ngrok-wrapper
$ ngrok-wrapper 9933

Run the peer

There are 2 options to run it:
  • Using --rpc-url-ngrok-detect subcommand to automatically detect RPC URL from ngrok-wrapper that you have already launched before.
    $ humanode-peer --name "$NAME" --validator --chain chainspec.json \
    --rpc-url-ngrok-detect --rpc-cors all
  • You can manually specify RPC URL from ngrok-wrapper output console.
    $ humanode-peer --name "$NAME" --validator --chain chainspec.json \
    --rpc-url "$RPC_URL" --rpc-cors all
  • --name "$NAME" - where $NAME is your Humanode peer name.
  • --validator - means that you join the network as a block producer.
  • --chain chainspec.json - a path to the file that contains Humanode chain specification.
  • --rpc-url "$RPC_URL" - the peer's RPC URL, where $RPC_URL is the URL that you noted at the ngrok-wrapper configuration step, or your own URL if you're not using ngrok-wrapper.
  • --rpc-url-ngrok-detect - to detect peer's RPC URL automatically from ngrok-wrapper (mutually exclusive with --rpc-url).
We strongly recommend to use --rpc-url-ngrok-detect subcommand to avoid facing unexpected issues.