Skip to main content

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 WASM smart 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