Understanding nuklaid
nuklaid is our CLI tool and daemon that serves as the primary entry point for interacting with Helix. It provides all functionality needed to within the network, from managing keys and accounts to creating datasets and deploying smart contracts. Everything.
Overview
Helix is a sovereign chain built on Cosmos SDK with CometBFT, designed specifically for dataset management, ownership tracking, and decentralized. The nuklaid binary allows you to:
- Run a full node or validator node
- Query blockchain the state
- Submit transactions to the chain
- Creating and manageing datasets
- Deploy and interact with
WASMsmart contracts - Participate in on-chain governance
- Delegating tokens to validators
Global Flags
These flags apply to most commands:
--chain-id `string` Chain ID of the chain
--home `string` Directory for config and data (default "$HOME/.nuklai")
--keyring-backend `string` Select keyring backend (os|file|test) (default "os")
--output `string` Output format either (text|json) (default "text")
--gas `string` Gas limit to set per-transaction (default auto-calculation)
--gas-prices `string` Gas prices to determine the transaction fee (e.g. 0.025nai)
--node `string` CometBFT RPC interface (default "tcp://localhost:26657")
Key Management
Create a New Key
nuklaid keys add <name>
Example:
nuklaid keys add developerayo
List Keys
nuklaid keys list
Recover Keys from Mnemonic
nuklaid keys add <name> --recover
Export Key
nuklaid keys export <name>
Delete Key
nuklaid keys delete <name>
Account Ops
Query Account
nuklaid query auth account <address>
Example:
nuklaid query auth account nuklai13fy0hfyy5h9zxmkukfx48j0m84kyl7qpcljh5h
Query Account Balance
nuklaid query bank balances <address>
Example:
nuklaid query bank balances nuklai13fy0hfyy5h9zxmkukfx48j0m84kyl7qpcljh5h
Send Some Tokens
nuklaid tx bank send <from_key_or_address> <to_address> <amount> [flags]
Example:
nuklaid tx bank send developerayo nuklai1ps29ffp86sgjznz2tlgld9ukyphj36jzatzht7 10000nai --fees 20nai
Node Mangt
Init a New Node
nuklaid init <moniker> --chain-id <chain-id>
Example:
nuklaid init my-node --chain-id nuklai
Start Your Node
nuklaid start
Status Check
nuklaid status
Reset Your Node
nuklaid tendermint unsafe-reset-all
Dataset Module
The dataset module is Nuklai's native implementation for dataset management and contribution tracking.
Create A Dataset
nuklaid tx dataset create-dataset <name> <ticker> <description> <url> <categories> <licenseName> <licenseSymbol> <licenseUrl> <isCommunityDataset> <metadata> [flags]
Example:
nuklaid tx dataset create-dataset "Climate Data" CLIM "Global temperature records" example.com "temperature,weather" "CC-BY-4.0" "CC-BY" creativecommons.org/licenses/by/4.0 true "additional-metadata" --from developerayo
List Datasets
nuklaid query dataset list-dataset
Show Details of a Dataset
nuklaid query dataset show-dataset <denom>
Example:
nuklaid query dataset show-dataset nuklaidataset07d1b507e614c562ef726c4b051
Update Dataset
nuklaid tx dataset update-dataset <denom> <name> <description> <url> <categories> <licenseName> <licenseSymbol> <licenseUrl> <isCommunityDataset> <metadata> [flags]
Example:
nuklaid tx dataset update-dataset nuklaidataset07d1b507e614c562ef726c4b051 "New Name" "Updated description" example.com "new-category" "MIT" "MIT" mit.org true "updated-metadata" --from developerayo
Update A Dataset Owner
nuklaid tx dataset update-dataset-owner <denom> <newOwner> [flags]
Example:
nuklaid tx dataset update-dataset-owner nuklaidataset07d1b507e614c562ef726c4b051 nuklai1ps29ffp86sgjznz2tlgld9ukyphj36jzatzht7 --from developerayo
Init A Dataset Contribution
nuklaid tx dataset initiate-contribute-dataset <denom> <dataLocation> <dataIdentifier> [flags]
Example:
nuklaid tx dataset initiate-contribute-dataset nuklaidataset07d1b507e614c562ef726c4b051 ipfs "ipfs://QmT5NvUtoM5nWFfrQdVrFtvGfKFmG7AHE8P34isapyhCxX" --from developerayo
Complete Dataset Contribution
nuklaid tx dataset complete-contribute-dataset <denom> <contributionId> [flags]
Example:
nuklaid tx dataset complete-contribute-dataset nuklaidataset07d1b507e614c562ef726c4b051 049be817a01a4bb71924bea26f041233 --from bob
List Pending Contributions
nuklaid query dataset list-pending-contribution
List Dataset Contributions
nuklaid query dataset list-contribution <denom>
Example:
nuklaid query dataset list-contribution nuklaidataset07d1b507e614c562ef726c4b051
Show Contribution Details
nuklaid query dataset show-contribution <denom> <contributionId>
Example:
nuklaid query dataset show-contribution nuklaidataset07d1b507e614c562ef726c4b051 nuklaidataset07d1b507e614c562ef726c4b051.049be817a01a4bb71924bea26f041233
List Contributions by Owner
nuklaid query dataset list-contribution-by-owner <denom> <owner>
Example:
nuklaid query dataset list-contribution-by-owner nuklaidataset07d1b507e614c562ef726c4b051 nuklai13fy0hfyy5h9zxmkukfx48j0m84kyl7qpcljh5h
Show Contribution Owner
nuklaid query dataset show-contribution-owner <denom> <contributionId>
Example:
nuklaid query dataset show-contribution-owner nuklaidataset07d1b507e614c562ef726c4b051 nuklaidataset07d1b507e614c562ef726c4b051.049be817a01a4bb71924bea26f041233
Update Contribution Owner
nuklaid tx dataset update-contribution-owner <denom> <contributionId> <newOwner> [flags]
Example:
nuklaid tx dataset update-contribution-owner nuklaidataset07d1b507e614c562ef726c4b051 nuklaidataset07d1b507e614c562ef726c4b051.049be817a01a4bb71924bea26f041233 nuklai1ps29ffp86sgjznz2tlgld9ukyphj36jzatzht7 --from developerayo
WASM Smart Contracts
Store A New Contract
nuklaid tx wasm store <wasm-file-her> [flags]
Example:
nuklaid tx wasm store cw20_base.wasm --from developerayo --gas auto --fees 5000nai
List Stored Contracts
nuklaid query wasm list-code
Download WASM Bytecode
nuklaid query wasm code <code-id> <output-filename>
Example:
nuklaid query wasm code 1 your_contract.wasm
Init Contract
nuklaid tx wasm instantiate <code-id> <init-msg> --label <label> [flags]
Example (Your CW20 token):
nuklaid tx wasm instantiate 1 '{"name":"DataToken","symbol":"DT","decimals":6,"initial_balances":[{"address":"nuklai13fy0hfyy5h9zxmkukfx48j0m84kyl7qpcljh5h","amount":"1000000000"}]}' --label "data-token" --admin nuklai13fy0hfyy5h9zxmkukfx48j0m84kyl7qpcljh5h --from developerayo
Execute Contract
nuklaid tx wasm execute <contract-address> <execute-msg> [flags]
Example (CW20 transfer):
nuklaid tx wasm execute nuklai14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9s0phg4d '{"transfer":{"recipient":"nuklai1ps29ffp86sgjznz2tlgld9ukyphj36jzatzht7","amount":"100"}}' --from developerayo
Query Contract
nuklaid query wasm contract-state smart <contract-address> <query-msg>
Example (CW20 balance):
nuklaid query wasm contract-state smart nuklai14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9s0phg4d '{"balance":{"address":"nuklai13fy0hfyy5h9zxmkukfx48j0m84kyl7qpcljh5h"}}'
List Contract Instances
nuklaid query wasm list-contract-by-code <code-id>
Staking & Validation
Create Validator
nuklaid tx staking create-validator [flags]
Example using a JSON file:
nuklaid tx staking create-validator validator.json --from validator --chain-id nuklai
Where validator.json contains:
{
"pubkey": {"@type":"/cosmos.crypto.ed25519.PubKey","key":"..."},
"amount": "1000000nai",
"moniker": "your-validator",
"commission-rate": "0.1",
"commission-max-rate": "0.2",
"commission-max-change-rate": "0.01",
"min-self-delegation": "1"
}
List Validators
nuklaid query staking validators
Delegate Tokens
nuklaid tx staking delegate <validator-addr> <amount> [flags]
Example:
nuklaid tx staking delegate nuklaivaloper13fy0hfyy5h9zxmkukfx48j0m84kyl7qpclkvch 1000000nai --from developerayo
Undelegate Tokens
nuklaid tx staking unbond <validator-addr> <amount> [flags]
Example:
nuklaid tx staking unbond nuklaivaloper13fy0hfyy5h9zxmkukfx48j0m84kyl7qpclkvch 1000000nai --from developerayo
Redelegate Tokens
nuklaid tx staking redelegate <src-validator-addr> <dst-validator-addr> <amount> [flags]
Example:
nuklaid tx staking redelegate nuklaivaloper13fy0hfyy5h9zxmkukfx48j0m84kyl7qpclkvch nuklaivaloper1ps29ffp86sgjznz2tlgld9ukyphj36jzaqrhvk 1000000nai --from developerayo
Validator Set
nuklaid query tendermint-validator-set
Distribution (Rewards)
Withdraw Rewards
nuklaid tx distribution withdraw-rewards <validator-addr> [flags]
Example:
nuklaid tx distribution withdraw-rewards nuklaivaloper13fy0hfyy5h9zxmkukfx48j0m84kyl7qpclkvch --from developerayo
Withdraw All Rewards
nuklaid tx distribution withdraw-all-rewards [flags]
Example:
nuklaid tx distribution withdraw-all-rewards --from developerayo
Query Rewards
nuklaid query distribution rewards <delegator-addr> [validator-addr]
Example:
nuklaid query distribution rewards nuklai13fy0hfyy5h9zxmkukfx48j0m84kyl7qpcljh5h
Withdraw Commission
nuklaid tx distribution withdraw-validator-commission <validator-addr> [flags]
Example:
nuklaid tx distribution withdraw-validator-commission nuklaivaloper13fy0hfyy5h9zxmkukfx48j0m84kyl7qpclkvch --from developerayo
Governance
Submit A Proposal
nuklaid tx gov submit-proposal [flags]
Example (using a draft proposal):
nuklaid tx gov submit-proposal ./draft_proposal_from_ayo.json --from developerayo --chain-id nuklai
Create Draft Proposal
nuklaid tx gov draft-proposal
This interactive command helps you create proposal JSON files.
Query Proposals
nuklaid query gov proposals
Query A Proposal
nuklaid query gov proposal <proposal-id>
Example:
nuklaid query gov proposal 1
Vote on a Proposal
nuklaid tx gov vote <proposal-id> <option> [flags]
Example:
nuklaid tx gov vote 1 yes --from developerayo
Valid options Avail: yes, no, no_with_veto, abstain
Deposit to Proposal
nuklaid tx gov deposit <proposal-id> <deposit> [flags]
Example:
nuklaid tx gov deposit 1 1000000nai --from developerayo
NFT Module
Issue NFT Class
nuklaid tx nft issue <class-id> --name <name> --symbol <symbol> [flags]
Example:
nuklaid tx nft issue artwork --name "Digital Art Collection" --symbol ART --from developerayo
Mint NFT
nuklaid tx nft mint <class-id> <nft-id> --recipient <recipient> [flags]
Example:
nuklaid tx nft mint artwork piece1 --recipient nuklai13fy0hfyy5h9zxmkukfx48j0m84kyl7qpcljh5h --from developerayo
Transfer NFT
nuklaid tx nft transfer <recipient> <class-id> <nft-id> [flags]
Example:
nuklaid tx nft transfer nuklai1ps29ffp86sgjznz2tlgld9ukyphj36jzatzht7 artwork piece1 --from developerayo
Query NFT Classes
nuklaid query nft classes
Query NFT Class
nuklaid query nft class <class-id>
Example:
nuklaid query nft class artwork
Query NFTs in Class
nuklaid query nft nfts --class-id <class-id>
Example:
nuklaid query nft nfts --class-id artwork
Transaction Management
Query Transaction
nuklaid query tx <hash>
Example:
nuklaid query tx AF8430181D198666874152286DE04D34EC6FC6487E93B3DD2DB2AD6E9EF4810A
Broadcast Transaction
nuklaid tx broadcast <file> [flags]
Encode Transaction
nuklaid tx encode <file> [flags]
Decode Transaction
nuklaid tx decode <tx> [flags]
Simulate Transaction
nuklaid tx simulate <file> [flags]
Block Queries
Query Latest Block
nuklaid query block
Query Block by Height
nuklaid query block <height>
Example:
nuklaid query block 839182
Query Transactions in Block
nuklaid query block-results <height>
Chain Information
Query Parameters
Query parameters for specific modules:
nuklaid query params subspace <subspace> <key>
Examples:
nuklaid query mint params
nuklaid query staking params
nuklaid query slashing params
Query Upgrade Information
nuklaid query upgrade plan
Query Module Versions
nuklaid query upgrade module_versions
Testing and Development
In-Place Testnet
Create a local testnet for testing:
nuklaid in-place-testnet <moniker> <validator-key> [flags]
Multi-Node Testnet
Create a multi-node testnet:
nuklaid multi-node --v <number-of-validators> [flags]
Example:
nuklaid multi-node --v 4 --output-dir ./.testnets --validators-stake-amount 1000000,200000,300000,400000
Advanced Ops
Export The Chain State
nuklaid export [flags]
Reset The Chain State
nuklaid tendermint unsafe-reset-all
Create Genesis Txn
nuklaid gentx <key-name> <amount> [flags]
Example:
nuklaid gentx validator 1000000nai --chain-id nuklai
Collect Genesis Txn
nuklaid collect-gentxs
Validate Genesis File
nuklaid validate-genesis
Add Genesis Account
nuklaid add-genesis-account <address_or_key> <amount> [flags]
Example:
nuklaid add-genesis-account developerayo 1000000000nai
Config
Init Config
nuklaid config <key> <value>
Example:
nuklaid config chain-id nuklai
nuklaid config output json
Show Config
nuklaid config [key]
System Information
nuklaid version