Skip to content
Doug Beardsley edited this page Nov 2, 2019 · 10 revisions

Welcome to the chainweb-node wiki!

Please watch this page for further updates.

For answers to frequently asked questions, see our FAQ.

Bootstrap Nodes

All bootstrap nodes are running on port 443.

  • us-e1.chainweb.com
  • us-e2.chainweb.com
  • us-e3.chainweb.com
  • us-w1.chainweb.com
  • us-w2.chainweb.com
  • us-w3.chainweb.com
  • jp1.chainweb.com
  • jp2.chainweb.com
  • jp3.chainweb.com
  • fr1.chainweb.com
  • fr2.chainweb.com
  • fr3.chainweb.com

Nodes that have mining turned on

  • us-e3.chainweb.com
  • us-w3.chainweb.com
  • jp3.chainweb.com
  • fr3.chainweb.com

Instructions for generating a key pair

This assumes you have obtained a chainweb-miner binary, the full setup instructions for which can be found here

The easiest way to obtain a Key Pair is by typing chainweb-miner keys in your terminal window. Once generated, please be very careful to note down the public and secret (private) key as you don’t want to lose them.

Choosing an account name

The best way to ensure that your account does not already exist is by setting your account name equal to your public key

Using the miner

As above, this assumes you have obtained a chainweb-miner binary, the full setup instructions for which can be found here

Type this in your terminal window:

chainweb-miner cpu --cores 1 --node=<node:port-as-specified-above> --miner-account=<account-name-we-choose> --miner-key=<public-key-that-we-generated>

It’s also important to note that the account name determines who the mining rewards go to, so if you input an account name that you do not own, your mining rewards may be lost.

Monitoring the health of a Chainweb Node

The following outlines how you can check that your chainweb-node is healthy

chainweb-node should be running from the public IP address and a port that is open to the other chainweb nodes.

If you're behind a NAT, it is VERY IMPORTANT that your network allows external nodes to connect to the node you are running. If you provide us with your ip address and port number in our Discord mining channel, we can verify whether your node is reachable to the rest of the network.

When running the chainweb-node binary, you can indicate your hostname and port number directly on the config-file, or you can set it via command line flags like such:

$ chainweb-node --config-file <path-to-config-file> --hostname <public-ip> --port <port> --log-level <desired-log-level>

Once you're node is running, go through the following checks to verify that you have a healthy node:

  • run the command in your terminal:
$ curl -sk "https://<public-ip>:<port>/chainweb/0.0/mainnet01/cut"

Usually, when a node is receiving and publishing cuts (i.e. block heights at every chain), it's working correctly.

The /cut endpoint will return the latest cut that your node has. It's possible that your node is falling behind, so make sure to compare its cut height with the cut heights of the bootstrap nodes. It's also possible that you are mining to a node that is catching up to the rest of the network. Before you start mining to a node, you SHOULD verify that this node has the most up-to-date cut.

You can get the cut height of any node by running the following:

$ https://<bootstrap-node-url>/chainweb/0.0/mainnet01/cut | python -m json.tool | jq '.height'

Miscellaneous

To find your public ip:

$ dig +short myip.opendns.com @resolver1.opendns.com
$ dig TXT +short o-o.myaddr.l.google.com @ns1.google.com