Consensus client of the Polygon PoS chain, using forks of cometBFT and cosmos-sdk.
Make sure you have go1.24+ already installed.
$ make buildThis will produce the binary heimdalld in the build directory.
$ heimdalld init <MONIKER_NAME> --chain-id=<NETWORK_NAME>You can skip --chain-id flag if you want to run this locally (it will default to heimdall-local).
Otherwise, use heimdallv2-80002 for amoy, or heimdallv2-137 for mainnet.
<MONIKER_NAME> is the name of your node, which can be any string you like.
This command will generate some folders and files in the heimdall home directory (default /var/lib/heimdall).
$ heimdalld startInstructions on how to import your validator private key into the keyring and use it to sign transactions.
Get your base64 encoded private key from:
/var/lib/heimdall/config/priv_validator_key.json
Convert the base64 encoded key to the hex encoded key:
echo "<PRIVATE_KEY_BASE64_ENCODED>" | base64 -d | xxd -p -c 256
Import the hex encoded key to your keyring:
heimdalld keys import-hex <KEY_NAME> <PRIVATE_KEY_HEX_ENCODED> --home <HOME_DIR_PATH>
When you first import a key into the keyring, you will be prompted for a password, which will be used every time you sign a transaction.
When running a tx command, specify the --from argument, by using the name of the key you have set above. Example:
heimdalld tx gov vote 1 yes --from <KEY_NAME>