Run
oasis-node control statusto get information like the following (example taken from a runtime compute node):
{
"software_version": "21.3",
"identity": {
"node": "iWq6Nft6dU2GWAr9U7ICbhXWwmAINIniKzMMblSo5Xs=",
"p2p": "dGd+pGgIlkJb0dnkBQ7vI2EWWG81pF5M1G+jL2/6pyA=",
"consensus": "QaMdKVwX1da0Uf82cp0DDukQQwrSjr8BwlIxc//ANE8=",
"tls": [
"Kj8ANHwfMzcWoA1vx0OMhn4oGv8Y0vc46xMOdQUIh5c=",
]
},
"consensus": {
"version": {
"major": 4
},
"backend": "tendermint",
"features": 3,
"node_peers": [
"5ab8074ce3053ef9b72d664c73e39972241442e3@57.71.39.73:26658",
"abb66e8780f3815d87bad488a2892b4d4b2221e3@108.15.34.59:50716"
],
"latest_height": 5960191,
"latest_hash": "091c29c3d588c52421a4f215268c6b4ab1a7762c429a98fec5de9251f8907add",
"latest_time": "2021-09-24T21:42:29+02:00",
"latest_epoch": 10489,
"latest_state_root": {
"ns": "0000000000000000000000000000000000000000000000000000000000000000",
"version": 5960190,
"root_type": 1,
"hash": "c34581dcec59d80656d6082260d63f3206aef0a1b950c1f2c06d1eaa36a22ec3"
},
"genesis_height": 5891596,
"genesis_hash": "e9d9fb99baefc3192a866581c35bf43d7f0499c64e1c150171e87b2d5dc35087",
"last_retained_height": 5891596,
"last_retained_hash": "e9d9fb99baefc3192a866581c35bf43d7f0499c64e1c150171e87b2d5dc35087",
"chain_context": "9ee492b63e99eab58fd979a23dfc9b246e5fc151bfdecd48d3ba26a9d0712c2b",
"is_validator": true
},
"runtimes": {
"0000000000000000000000000000000000000000000000000000000000000001": {
"descriptor": {
"v": 2,
"id": "0000000000000000000000000000000000000000000000000000000000000001",
"entity_id": "Ldzg8aeLiUBrMYxidd5DqEzpamyV2cprmRH0pG8d/Jg=",
"genesis": {
"state_root": "c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a",
"state": null,
"storage_receipts": null,
"round": 0
},
"kind": 1,
"tee_hardware": 0,
"versions": {
"version": {
"minor": 2
}
},
"executor": {
"group_size": 3,
"group_backup_size": 3,
"allowed_stragglers": 1,
"round_timeout": 5,
"max_messages": 256
},
"txn_scheduler": {
"algorithm": "simple",
"batch_flush_timeout": 1000000000,
"max_batch_size": 100,
"max_batch_size_bytes": 1048576,
"propose_batch_timeout": 2000000000
},
"storage": {
"group_size": 3,
"min_write_replication": 2,
"max_apply_write_log_entries": 10000,
"max_apply_ops": 2,
"checkpoint_interval": 100,
"checkpoint_num_kept": 2,
"checkpoint_chunk_size": 8388608
},
"admission_policy": {
"any_node": {}
},
"constraints": {
"executor": {
"backup-worker": {
"max_nodes": {
"limit": 1
},
"min_pool_size": {
"limit": 3
}
},
"worker": {
"max_nodes": {
"limit": 1
},
"min_pool_size": {
"limit": 3
}
}
},
"storage": {
"worker": {
"max_nodes": {
"limit": 1
},
"min_pool_size": {
"limit": 3
}
}
}
},
"staking": {},
"governance_model": "entity"
},
"latest_round": 1355,
"latest_hash": "2a11820c0524a8a753f7f4a268ee2d0a4f4588a89121f92a43f4be9cc6acca7e",
"latest_time": "2021-09-24T21:41:29+02:00",
"latest_state_root": {
"ns": "0000000000000000000000000000000000000000000000000000000000000000",
"version": 1355,
"root_type": 1,
"hash": "45168e11548ac5322a9a206abff4368983b5cf676b1bcb2269f5dfbdf9df7be3"
},
"genesis_round": 0,
"genesis_hash": "aed94c03ebd2d16dfb5f6434021abf69c8c15fc69b6b19554d23da8a5a053776",
"committee": {
"latest_round": 1355,
"latest_height": 5960180,
"last_committee_update_height": 5960174,
"executor_roles": [
"worker",
"backup-worker"
],
"storage_roles": [
"worker"
],
"is_txn_scheduler": false,
"peers": [
"/ip4/57.71.39.73/tcp/41002/p2p/12D3KooWJvL8mYzHbcLtj91bf5sHhtrB7C8CWND5sV6Kk24eUdpQ",
"/ip4/108.67.32.45/tcp/26648/p2p/12D3KooWBKgcH7TGMSLuxzLxK41nTwk6DsxHRpb7HpWQXJzLurcv"
]
},
"storage": {
"last_finalized_round": 1355
}
}
},
"registration": {
"last_registration": "2021-09-24T21:41:08+02:00",
"descriptor": {
"v": 1,
"id": "iWq6Nft6dU2GWAr9U7ICbhXWwmAINIniKzMMblSo5Xs=",
"entity_id": "4G4ISI8hANvMRYTbxdXU+0r9m/6ZySHERR+2RDbNOU8=",
"expiration": 10491,
"tls": {
"pub_key": "Kj8ANHwfMzcWoA1vx0OMhn4oGv8Y0vc46xMOdQUIh5c=",
"addresses": [
"Kj8ANHwfMzcWoA1vx0OMhn4oGv8Y0vc46xMOdQUIh5c=@128.89.215.24:30001",
]
},
"p2p": {
"id": "dGd+pGgIlkJb0dnkBQ7vI2EWWG81pF5M1G+jL2/6pyA=",
"addresses": [
"159.89.215.24:30002"
]
},
"consensus": {
"id": "QaMdKVwX1da0Uf82cp0DDukQQwrSjr8BwlIxc//ANE8=",
"addresses": [
"dGd+pGgIlkJb0dnkBQ7vI2EWWG81pF5M1G+jL2/6pyA=@128.89.215.24:26656"
]
},
"beacon": {
"point": "BHg8TOqKD4wV8UCu9nICvJt7rhXFd8CxXuYiHa6X/NnzlIndzGNEJyyTr00s5rgKwX25yPmv+r2xRFbcQK6hGLE="
},
"runtimes": [
{
"id": "0000000000000000000000000000000000000000000000000000000000000001",
"version": {
"minor": 2
},
"capabilities": {},
"extra_info": null
}
],
"roles": "compute,storage,validator"
},
"node_status": {
"expiration_processed": false,
"freeze_end_time": 0,
"election_eligible_after": 9810
}
},
"pending_upgrades": []
}To check if a given genesis file is valid, run:
oasis-node genesis check --genesis.file /path/to/genesis.json:::info
This also checks if the genesis file is in the canonical form.
:::
To dump the state of the network at a specific block height, e.g. 717600, to a genesis file, run:
oasis-node genesis dump \
--address unix:/path/to/node/internal.sock \
--genesis.file /path/to/genesis_dump.json \
--height 717600:::caution
You must only run the following command after the given block height has been reached on the network.
:::
To initialize a new genesis file with the given chain id and staking token symbol, run:
oasis-node genesis init --genesis.file /path/to/genesis.json \
--chain.id "name-of-my-network" \
--staking.token_symbol TEST:::info
You can set a lot of parameters for the various consensus layer services.
To see the full list, run:
oasis-node genesis init --help:::
Run
oasis-node stake account info \
--stake.account.address <account address> \
--address unix:/path/to/node/internal.sockto get staking information for a specific account:
General Account:
Balance: TEST 0.0
Nonce: 0
Escrow Account:
Active:
Balance: TEST 0.0
Total Shares: 0
Debonding:
Balance: TEST 0.0
Total Shares: 0
Commission Schedule:
Rates: (none)
Rate Bounds: (none)
Stake Accumulator:
Claims:
- Name: registry.RegisterEntity
Staking Thresholds:
- Global: entity
- Name: registry.RegisterNode.LQu4ZtFg8OJ0MC4M4QMeUR7Is6Xt4A/CW+PK/7TPiH0=
Staking Thresholds:
- Global: node-validator
Run
oasis-node stake pubkey2address --public_key <public_key>to get staking account address from an entity or node public key. Example response:
oasis1qqncl383h8458mr9cytatygctzwsx02n4c5f8ed7
Run (when the node is not running):
oasis-node storage compact-experimental --config /path/to/config/fileto trigger manual compaction of consensus database instances:
{"caller":"storage.go:310","level":"info","module":"cmd/storage", \
"msg":"Starting database compactions. This may take a while...", \
"ts":"2025-10-08T09:18:22.185451554Z"}If pruning was not enabled from the start or was recently increased, then even after successful pruning, the disk usage may stay the same.
This is due to the LSM-tree storage design that BadgerDB uses. Concretely, deleting a key only marks it as ready to be deleted (a tombstone entry). The actual removal of the stale data happens later during the compaction.
During normal operation, compaction happens in the background. However, BadgerDB is intentionally lazy, trading write throughput for disk space among other things. Therefore it is expected that in case of late pruning, the disk space may stay constant or not be reclaimed for a very long time.
This command gives operators manual control to release disk space during maintenance periods.
Run (when the node is not running):
oasis-node storage prune-experimental --config /path/to/config/fileto trigger manual pruning of consensus database instances:
{"caller":"storage.go:433","level":"info","module":"cmd/storage", \
"msg":"Starting consensus databases pruning. This may take a while...", \
"ts":"2025-10-23T11:02:11.129822974Z"}Operators should run this whenever they change pruning configuration, e.g. when enabling it for the first time, or later changing it to retain less data. This way they guarantee the node is healthy when it starts.
Following successful pruning, to release disk space, they are encouraged to run the compaction command.
Run (when the node is not running):
oasis-node storage inspect --config /path/to/config/fileto inspect consensus and runtime databases:
Consensus:
State DB:
Ok: true
Latest height: 25499708
Last retained height: 16817956
Block history:
Ok: true
Latest height: 25499708
Last retained height: 16817956
Runtimes:
000000000000000000000000000000000000000000000000f80306c9858e7279
State DB:
Ok: true
Latest round: 9735938
Last retained round: 1357486
Light History:
Ok: true
Latest round: 9735938
Last retained round: 1357486