Welcome to the chainweb-node wiki!
Please watch this page for further updates.
For answers to frequently asked questions, see our FAQ.
All bootstrap nodes are running on port 443.
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"
- navigate to this website on your browser: https://yourPublicIp:port/chainweb/0.0/mainnet01/cut
- check logs for whether services are started
- check if the node is receiving cuts
- look for errors in the logs
- look for warnings in the logs
Usually, when a node is receiving and publishing cuts (i.e. block heights at every chain), it's working correctly.
/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'
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