Humanode Docs
Search
K
Comment on page

Manual Installation

This page describes how to install the Humanode Peer without the use of Humanode Launcher or Humnode Distribution.

Downloading the binaries

How it works

We have a JSON manifest that you can use to obtain the package.

Manifest URL

Check the Chains page for the particular chain you would like to run. We will use the Humanode Mainnet manifest in the instructions below as an example.
To download and inspect the manifest run the command below:
$ curl -sSL "https://chainspec.mainnet.stages.humanode.io/latest/manifest.json" | jq .
{
"binaries": [
...
Sample manifest
{
"binaries": [
{
"platform": "Darwin",
"arch": "arm64",
"displayName": "Humanode Mainnet",
"description": "The Humanode network.",
"icon": "icon.png",
"executablePath": "humanode-peer",
"chainspecPath": "chainspec.json",
"ngrokPath": "ngrok-wrapper",
"humanodeWebsocketTunnelClientPath": "humanode-websocket-tunnel",
"files": [
{
"subUrl": "/latest/binaries/Darwin-arm64/humanode-peer",
"destinationSubPath": "humanode-peer",
"sha256": "b0260fcc038706f3ebf97ef16c1e49596e262a450adca94fc06c1ceaa9272f9d"
},
{
"subUrl": "/latest/chainspec.json",
"destinationSubPath": "chainspec.json",
"sha256": "eefac86f7a9089c3e403c5860dfb0d576af22834bee0b6e38936d597ba69afc5"
},
{
"subUrl": "/latest/binaries/Darwin-arm64/ngrok",
"destinationSubPath": "ngrok",
"sha256": "c9e6dfec454f9faec92a13dfd3f3857de982007e3b85987bb875aa0d74ca8101"
},
{
"subUrl": "/latest/binaries/Darwin-arm64/humanode-websocket-tunnel-client",
"destinationSubPath": "humanode-websocket-tunnel-client",
"sha256": "76d63b77f219e56065cbb183d920a2a4efbc616a82d0788cc53275cea89a5d32"
},
{
"subUrl": "/latest/scripts/humanode-websocket-tunnel",
"destinationSubPath": "humanode-websocket-tunnel",
"sha256": "514b29731d5ae89097ac6f8158fe9529bec0076cc4fdab40d7aa7de60587fa87"
},
{
"subUrl": "/latest/scripts/ngrok-wrapper",
"destinationSubPath": "ngrok-wrapper",
"sha256": "f5b7ba7c61cb5f70278fa7b46d1be11f29348650989a795128b5a7a81f9d5ed6"
}
]
},
{
"platform": "Darwin",
"arch": "x86_64",
"displayName": "Humanode Mainnet",
"description": "The Humanode network.",
"icon": "icon.png",
"executablePath": "humanode-peer",
"chainspecPath": "chainspec.json",
"ngrokPath": "ngrok-wrapper",
"humanodeWebsocketTunnelClientPath": "humanode-websocket-tunnel",
"files": [
{
"subUrl": "/latest/binaries/Darwin-x86_64/humanode-peer",
"destinationSubPath": "humanode-peer",
"sha256": "ad8127d1139a4f1ab8c5cfa37d3f8cf052e2a35e7fcfd317382abecbc53eec58"
},
{
"subUrl": "/latest/chainspec.json",
"destinationSubPath": "chainspec.json",
"sha256": "eefac86f7a9089c3e403c5860dfb0d576af22834bee0b6e38936d597ba69afc5"
},
{
"subUrl": "/latest/binaries/Darwin-x86_64/ngrok",
"destinationSubPath": "ngrok",
"sha256": "80c8fb121d6c93350d84351d9516674f4e20a3e003cdd7dcb4c3e7c48b9c5b07"
},
{
"subUrl": "/latest/binaries/Darwin-x86_64/humanode-websocket-tunnel-client",
"destinationSubPath": "humanode-websocket-tunnel-client",
"sha256": "110ef86c98a2e76a05d16518294ed2c2faeefdd3314576d7db119bcd20de5bd5"
},
{
"subUrl": "/latest/scripts/humanode-websocket-tunnel",
"destinationSubPath": "humanode-websocket-tunnel",
"sha256": "514b29731d5ae89097ac6f8158fe9529bec0076cc4fdab40d7aa7de60587fa87"
},
{
"subUrl": "/latest/scripts/ngrok-wrapper",
"destinationSubPath": "ngrok-wrapper",
"sha256": "f5b7ba7c61cb5f70278fa7b46d1be11f29348650989a795128b5a7a81f9d5ed6"
}
]
},
{
"platform": "Linux",
"arch": "x86_64",
"displayName": "Humanode Mainnet",
"description": "The Humanode network.",
"icon": "icon.png",
"executablePath": "humanode-peer",
"chainspecPath": "chainspec.json",
"ngrokPath": "ngrok-wrapper",
"humanodeWebsocketTunnelClientPath": "humanode-websocket-tunnel",
"files": [
{
"subUrl": "/latest/binaries/Linux-x86_64/humanode-peer",
"destinationSubPath": "humanode-peer",
"sha256": "f225e89320ea31846c948e10cec5a7dcffb102ca1fa67b688b198a7aefaee494"
},
{
"subUrl": "/latest/chainspec.json",
"destinationSubPath": "chainspec.json",
"sha256": "eefac86f7a9089c3e403c5860dfb0d576af22834bee0b6e38936d597ba69afc5"
},
{
"subUrl": "/latest/binaries/Linux-x86_64/ngrok",
"destinationSubPath": "ngrok",
"sha256": "218d267cd1195334718bafac14bfdf1c19dc95dcf8a24aaa6a1383c21dc86e76"
},
{
"subUrl": "/latest/binaries/Linux-x86_64/humanode-websocket-tunnel-client",
"destinationSubPath": "humanode-websocket-tunnel-client",
"sha256": "b39c88cf5e7125c852f9727e00a76626c4e817837b62bf9799f397f75b8a6dd1"
},
{
"subUrl": "/latest/scripts/humanode-websocket-tunnel",
"destinationSubPath": "humanode-websocket-tunnel",
"sha256": "514b29731d5ae89097ac6f8158fe9529bec0076cc4fdab40d7aa7de60587fa87"
},
{
"subUrl": "/latest/scripts/ngrok-wrapper",
"destinationSubPath": "ngrok-wrapper",
"sha256": "f5b7ba7c61cb5f70278fa7b46d1be11f29348650989a795128b5a7a81f9d5ed6"
}
]
}
]
}

Setting up the humanode-peer binary

Find the binaries for your platform in the manifest. In case of Linux, it's an entry with the following subUrl:
/latest/binaries/Linux-x86_64/humanode-peer
Use the path together with the domain from the manifest URL to get the binary download link:
https://chainspec.mainnet.stages.humanode.io/latest/binaries/Linux-x86_64/humanode-peer
Download the humanode-peer binary using the obtained link:
$ curl -sSL "https://chainspec.mainnet.stages.humanode.io/latest/binaries/Linux-x86_64/humanode-peer" -o humanode-peer
Make the binary executable and install it into the system:
$ chmod +x humanode-peer
$ sudo cp humanode-peer /usr/local/bin/

Downloading the chainspec file

Using the same manifest we have obtained above, find and download the chainspec.json file.
In our case, this is the file with the following subPath:
/latest/chainspec.json
Use the hostname from the manifest URL to obtain the chainspec file URL, like in the humanode-peer step:
https://chainspec.mainnet.stages.humanode.io/latest/chainspec.json
Then download the chainspec.json
$ curl -sSL "https://chainspec.mainnet.stages.humanode.io/latest/chainspec.json" -o ~/chainspec.json
We are now ready to proceed to the next step.

Downloading the RPC Tunnel

In the same way, you can download and use ngrok, humanode-websocket-tunnel and ngrok-wrapper.