Hardware Provider Onboarding
Learn how to register as a hardware provider for a Layer 1 blockchain.
This guide is the first step in onboarding as a hardware provider for a Layer 1 blockchain network. It walks you through setting up your environment, generating node keys, securely backing them up, and registering with the Hypha system.
The next guide in this series will walk you through the process of running a Layer 1 node.
Prerequisites
Before proceeding, ensure the following dependencies are installed on your system:
Go 1.23 or higher: Required to build Tartarus.
Follow Go’s official installation instructions to install the correct version.
We do not recommend installing via Ubuntu Apt repositories. These typically provide outdated versions that are not supported.
Important Compatibility Notes:
Go 1.22 and below are untested and may not work as expected.
jq: A lightweight JSON processor used by the scripts.
Installing Dependencies on Ubuntu
Install Go
Run the following command to install Go (the command below is for version 1.23.2) on your system, if not already installed:
Then, verify the installation:
For detailed installation instructions, refer to the official Go documentation.
Installing Tartarus
Tartarus is a NodeID and key generation tool that simplifies the creation of node keys for Avalanche L1s. Tartarus generates node IDs with customizable prefixes and saves them in a JSON or CSV file compatible with AvalancheGo.
Follow these steps to install it:
After successful compilation, you should see the tartarus
executable in your current directory.
Sign Up for a Hypha Account
Before uploading node keys, you must first create a Hypha account. Run the signup script provided in the Tartarus repository:
The script will prompt you for:
Your email address
A password (make sure to use a unique password not used elsewhere)
Password confirmation
After signing up, you'll receive a verification email. You must verify your email address before proceeding.
Get Your Hardware Provider ID
Before you can generate and upload keys, you need a Hardware Provider ID. This ID will be assigned to you by the system administrators. Please contact the administrators to get your Hardware Provider ID.
Generating Node Keys
Node keys are cryptographic credentials used to operate L1 nodes. These keys enable secure communication, authentication, and participation in consensus mechanisms. Each node requires a unique set of keys, which are stored in a nodes.json
file.
Tartarus supports multiple output formats. You can choose between JSON, CSV, or an AvalancheGo-compatible directory.
To generate these keys, follow the steps below:
Generate Node Keys
Run the following command using the Tartarus executable:
Be sure to replace <number_of_nodes>
with how many nodes you want to generate, and <your_prefix>
with your assigned prefix.
Replace
<number_of_nodes>
with the number of nodes allocated to you. (e.g.,10
)Replace
<your_prefix>
with your assigned prefix. This prefix ensures uniqueness across the network. (e.g.,GGP
)The
-o
flag specifies the output file (nodes.json
) where the generated keys will be stored.
Note: The Hypha team will provide your assigned prefix and the number of nodes (allocated number).
Note: Key generation may take some time depending on the number of keys. With prefixes, it typically takes around 1 second per key.
Verify Output
Ensure your output file (CSV or JSON file) or AvalancheGo-compatible directory is created and contains the expected number of keys.
Output Formats
CSV file (default):
Contains node ID, certificate, key, and BLS information
Suitable for spreadsheet analysis
JSON file:
Contains the same information in JSON format
Required for uploading to the system
AvalancheGo-compatible directory:
Creates a directory with
staker.crt
,staker.key
, andsigner.key
filesReady to use with AvalancheGo nodes
Do not use the same keys on both Avalanche Mainnet and Fuji testnet. Always generate new keys for each network to ensure security and isolation.
Uploading Node Keys
Once you have generated your node keys, you can upload them to the system:
Be sure to replace YOUR_HARDWARE_PROVIDER_ID
with your hardware provider ID.
Upload Flags
Required flags for upload:
-d, --data-file
: Path to your JSON file containing node data--hp-id
: Your Hardware Provider ID (assigned by administrators)
Optional flags:
-e, --email
: Your email address (will prompt if not provided)--password
: Your password (will prompt securely if not provided)--network
: Network for the nodes (default: "fuji")--include-secrets
: Include staker cert, staker key, and BLS private key in the upload--batch-size
: Number of nodes to upload in each batch (default: 25)
Security Notes
Keep your generated keys secure and never share them
Use a unique password for your account
The BLS private key is particularly sensitive and should be protected
Consider using the
--include-secrets
flag only when necessary
Conclusion
By following this guide, node providers can use Tartarus to generate the necessary NodeID
s and BLS keys, and upload them to the appropriate backend system for their Layer 1 blockchain (such as the Hypha Provider Manager).
Always treat your private keys with extreme care, and ensure they are securely backed up.
If you encounter any issues, refer to the provided scripts or consult the Tartarus documentation. You can also reach out to Hypha support via Discord or the Live Support Chat available on the Hypha website.
For instructions on running an L1 node, see the Running an L1 Node for Hypha guide.
Last updated