Skip to main content

gnoland

gnoland is the gno.land blockchain client binary, which is capable of managing node working files, as well as starting the blockchain client itself.

gnoland start [flags]

Starts the Gnoland blockchain node, with accompanying setup.

FLAGS

NameTypeDescription
chainidStringThe ID of the chain. (default: dev)
data-dirStringThe path to the node's data directory. This is an important folder. The chain may fail to start if this folder is contaminated. (default: gnoland-data)
flag-config-pathStringThe flag config file (optional).
genesisStringThe path to the genesis.json file. (default: genesis.json)
genesis-balance-fileStringInitial distribution file. (default: ~/gno/gno.land/genesis/genesis_balances.txt)
genesis-max-vm-cyclesIntSets maximum allowed vm cycles per operation. Zero means no limit. When increasing this option, the block-max-gas must also be increased to utilize the max cycles. (default: 100000000)
genesis-remoteStringA replacement for $$REMOTES%% in genesis. (default: localhost:26657)
genesis-txs-fileStringInitial txs to replay. (default: ~/gno/gno.land/genesis/genesis_txs.jsonl)
gnoroot-dirStringThe root directory of the gno repository. (default: ~/gno)
lazyBooleanFlag indication if lazy init is enabled. Generates the node secrets, configuration, and genesis.json. When set to true, you may start the chain without any initialization process, which comes in handy when developing. (default: false)
log-formatStringThe log format for the gnoland node. (default: console)
log-levelStringThe log level for the gnoland node. (default: debug)
skip-failing-genesis-txsBooleanDoesn’t panic when replaying invalid genesis txs. When starting a production-level chain, it is recommended to set this value to true to monitor and analyze failing transactions. (default: false)

gnoland genesis \<subcommand> [flags][\<arg\>...]

Gno genesis.json manipulation suite for managing genesis parameters.

SUBCOMMANDS

NameDescription
generateGenerates a fresh genesis.json.
validatorValidator set management in genesis.json.
verifyVerifies a genesis.json.
balancesManages genesis.json account balances.
txsManages the initial genesis transactions.

gnoland genesis generate [flags]

Generates a node's genesis.json based on specified parameters.

FLAGS

NameTypeDescription
block-max-data-bytesIntThe max size of the block data.(default: 2000000)
block-max-gasIntThe max gas limit for the block. (default: 100000000)
block-max-tx-bytesIntThe max size of the block transaction. (default: 1000000)
block-time-itoaIntThe block time itoa (in ms). (default: 100)
chain-idStringThe ID of the chain. (default: dev)
genesis-timeIntThe genesis creation time. (default: utc now timestamp)
output-path :StringThe output path for the genesis.json. If the genesis-time of the Genesis File is set to a future time, the chain will automatically start at that time if the node is online. (default: ./genesis.json)

gnoland genesis validator \<subcommand> [flags]

Manipulates the genesis.json validator set.

SUBCOMANDS

NameDescription
addAdds a new validator to the genesis.json.
removeRemoves a validator from the genesis.json.

FLAGS

NameTypeDescription
addressStringThe gno bech32 address of the validator.
genesis-pathStringThe path to the genesis.json. (default ./genesis.json)

gnoland genesis validator add [flags]

Adds a new validator to the genesis.json.

FLAGS

NameTypeDescription
addressStringThe gno bech32 address of the validator.
genesis-pathStringThe path to the genesis.json. (default: ./genesis.json)
nameStringThe name of the validator (must be unique).
powerUintThe voting power of the validator (must be > 0). (default: 1)
pub-keyStringThe bech32 string representation of the validator's public key.
gnoland genesis validator add \
-address g1rzuwh5frve732k4futyw45y78rzuty4626zy6h \
-name test1 \
-pub-key gpub1pggj7ard9eg82cjtv4u52epjx56nzwgjyg9zplmcmggxyxyrch0zcyg684yxmerullv3l6hmau58sk4eyxskmny9h7lsnz

Validator with address g1rzuwh5frve732k4futyw45y78rzuty4626zy6h added to genesis file

gnoland genesis validator remove [flags]

Removes a validator from the genesis.json.

FLAGS

NameTypeDescription
addressStringThe gno bech32 address of the validator.
genesis-pathStringThe path to the genesis.json. (default: ./genesis.json)
gnoland genesis validator remove \
-address g1rzuwh5frve732k4futyw45y78rzuty4626zy6h

Validator with address g1rzuwh5frve732k4futyw45y78rzuty4626zy6h removed from genesis file

gnoland genesis verify \<subcommand> [flags][\<arg\>…]

Verifies a genesis.json.

FLAGS

NameTypeDescription
genesis-pathStringThe path to the genesis.json. (default: genesis.json)

gnoland genesis balances \<subcommand> [flags][\<arg\>…]

Manages genesis.json account balances.

SUBCOMMANDS

NameDescription
addAdds the balance information.
removeRemoves the balance information of a specific account.

gnoland genesis balances add [flags]

FLAGS

NameTypeDescription
balance-sheetStringThe path to the balance file containing addresses in the format <address>=<amount>ugnot.
genesis-pathStringThe path to the genesis.json (default: ./genesis.json)
parse-exportStringThe path to the transaction export containing a list of transactions (JSONL).
singleStringThe direct balance addition in the format <address>=<amount>ugnot.
gnoland genesis balances add \
-single g1rzuwh5frve732k4futyw45y78rzuty4626zy6h=100ugnot

1 pre-mines saved

g1rzuwh5frve732k4futyw45y78rzuty4626zy6h:{[24 184 235 209 35 102 125 21 90 169 226 200 234 208 158 56 197 197 146 186] [{%!d(string=ugnot) 100}]}ugnot

gnoland balances remove [flags]

FLAGS

NameTypeDescription
addressStringThe address of the account whose balance information should be removed from genesis.json.
genesis-pathStringThe path to the genesis.json. (default: ./genesis.json)
gnoland genesis balances remove \
-address=g1rzuwh5frve732k4futyw45y78rzuty4626zy6h

Pre-mine information for address g1rzuwh5frve732k4futyw45y78rzuty4626zy6h removed

gnoland txs \<subcommand> [flags][\<arg\>…]

Manages genesis transactions through input files.

SUBCOMMANDS

NameDescription
addImports transactions into the genesis.json.
removeRemoves the transactions from the genesis.json.
exportExports the transactions from the genesis.json.

gnoland secrets \<subcommand> [flags][\<arg\>…]

The gno secrets manipulation suite for managing the validator key, p2p key and validator state.

SUBCOMMANDS

NameDescription
initInitializes required Gno secrets in a common directory.
verifyVerifies all Gno secrets in a common directory.
getShows all Gno secrets present in a common directory.

gnoland secrets init [flags][\<key\>]

Initializes the validator private key, the node p2p key and the validator's last sign state. If a key is provided, it initializes the specified key.

Available keys:

  • validator_key : The private key of the validator, which is different from the private key of the wallet.
  • node_id : A key used for communicating with other nodes.
  • validator_state : The current state of the validator such as the last signed block.

FLAGS

NameTypeDescription
data-dirStringThe secrets output directory. (default: gnoland-data/secrets)
forceStringOverwrites existing secrets, if any. (default: false)
# force initialize all key
gnoland secrets init -force

Validator private key saved at gnoland-data/secrets/priv_validator_key.json
Validator last sign state saved at gnoland-data/secrets/priv_validator_state.json
Node key saved at gnoland-data/secrets/node_key.json


# force initialize a specific key type (ex: NodeKey)
gnoland secrets init node_key -force
Node key saved at gnoland-data/secrets/node_key.json

gnoland secrets verify [flags][\<key\>]

Verifies the validator private key, the node p2p key and the validator's last sign state. If a key is provided, it verifies the specified key value.

Available keys: [validator_key, node_id, validator_state]

FLAGS

NameTypeDescription
data-dirStringThe secrets output directory. (default: gnoland-data/secrets)
# verify all keys
gnoland secrets verify
Validator Private Key at gnoland-data/secrets/priv_validator_key.json is valid
Last Validator Sign state at gnoland-data/secrets/priv_validator_state.json is valid
Node P2P key at gnoland-data/secrets/node_key.json is valid


# verify a specific key type (ex: NodeKey)
gnoland secrets verify node_key
Node P2P key at gnoland-data/secrets/node_key.json is valid

gnoland secrets get [flags][\<key\>]

Shows the validator private key, the node p2p key and the validator's last sign state. If a key is provided, it shows the specified key value.

Available keys: [validator_key, node_key, validator_state]

FLAGS

NameTypeDescription
data-dirStringThe secrets output directory. (default: gnoland-data/secrets)
gnoland secrets get

{
"validator_key": {
"address": "g14j4dlsh3jzgmhezzp9v8xp7wxs4mvyskuw5ljl",
"pub_key": "gpub1pggj7ard9eg82cjtv4u52epjx56nzwgjyg9zqaqle3fdduqul4slg6zllypq9r8gj4wlfucy6qfnzmjcgqv675kxjz8jvk"
},
"validator_state": {
"height": 0,
"round": 0,
"step": 0
},
"node_id": {
"id": "g17h5t86vrztm6vuesx0xsyrg90wplj9mt9nsxng",
"p2p_address": "g17h5t86vrztm6vuesx0xsyrg90wplj9mt9nsxng@0.0.0.0:26656"
}
}

# will return node id info
gnoland secrets get node_id

# to get node id in cosmos
# gaiad tendermint show-node-id

# will return validator address and pub key
gnoland secrets get validator_key
# to get validator address in cosmos
# gaiad tendermint show-address

# to get validator pub key in cosmos
# gaiad tendermint show-validator

gnoland config [subcommand][flags]

The gno config manipulation suite for editing base and module configurations.

SUBCOMMANDS

NameDescription
initInitializes the Gno node configuration.
setEdits the Gno node configuration.
getShows the Gno node configuration.

gnoland config init [flags]

Initializes the Gno node configuration locally with default values, which includes the base and module configurations.

FLAGS

NameTypeDescription
config-pathStringThe path for the config.toml. (default: gnoland-data/config/config.toml)
forceBooleanOverwrites existing config.toml, if any. (default: false)
# initialize the configuration file
gnoland config init

Default configuration initialized at gnoland-data/config/config.toml

gnoland config set \<key> \<value>

Edits the Gno node configuration at the given path by setting the option specified at \<key\> to the given \<value\>.

FLAGS

NameTypeDescription
config-pathStringThe path for the config.toml. (default: gnoland-data/config/config.toml)
info

The config set command replaces the complexity of manually editing the config.toml file.

gnoland config get \<key>

Shows the Gno node configuration at the given path by fetching the option specified at \<key\>.

FLAGS

NameTypeDescription
config-pathStringthe path for the config.toml (default: gnoland-data/config/config.toml)
# check the current monkier (the displayed validator name)
gnoland config get -r moniker
n3wbie-MacBook-Pro.local

# set a new moniker
gnoland config set moniker hello
Updated configuration saved at gnoland-data/config/config.toml


# confirm the moniker change
gnoland config get -r moniker
hello