Versions and network endpoints
| Component | Version |
|---|---|
| Terra Core | v3.6.0Copy v3.6.0 |
| Oracle Feeder | v3.1.6Copy v3.1.6 |
| Go | go1.22.12Copy go1.22.12 |
| Endpoint | URL |
|---|---|
| RPC | https://terra-classic-rpc.publicnode.com |
| LCD | https://terra-classic-lcd.publicnode.com |
| gRPC | grpc://terra-classic-grpc.publicnode.com:443Copy grpc://terra-classic-grpc.publicnode.com:443 |
Tip
Keep Binodes (https://api-lunc-rpc.binodes.comCopy https://api-lunc-rpc.binodes.com, https://api-lunc-lcd.binodes.comCopy https://api-lunc-lcd.binodes.com) configured as secondaries. Mirror your own sentry relay to avoid depending entirely on public endpoints.
Hardware prerequisites
- Linux server (Ubuntu or Debian recommended)
- 6+ CPU cores (8+ recommended)
- 64 GB RAM minimum
- Swap space configured for cases of memory pressure
- 2 TB NVMe SSD (1 TB may work for fully pruned nodes but is not recommended)
Install toolchain and build terrad
- Follow the instructions in System configuration and Build Terra Core.
Bootstrap chain data
Initialise the node configuration.
BASHterrad init <moniker>Download the latest address book and genesis files.
BASHcd ~/.terra/config wget -O addrbook.json "https://snapshots.hexxagon.io/cosmos/terra-classic/columbus-5/addrbook.json" wget -O genesis.json "https://snapshots.hexxagon.io/cosmos/terra-classic/columbus-5/genesis.json"In config/app.tomlCopy config/app.toml, disable fast IAVL (iavl-disable-fastnode = trueCopy iavl-disable-fastnode = true) before restoring snapshots. Terra Classic Core v3 enables fast-node by default; validate this flag matches snapshot provider requirements.
Fetch a recent snapshot (replace the URL with the most recent archive).
BASHcd ~/.terra mv data data~backup wget -O snapshot.tar.lz4 "https://snapshots.publicnode.com/terra-classic-pruned-25311240-25311250.tar.lz4" # or # wget -O snapshot.tar.lz4 "https://snapshots.hexxagon.io/cosmos/terra-classic/columbus-5/snapshot-goleveldb-25309877.tar.lz4" lz4cat snapshot.tar.lz4 | tar xvf -Start the node and confirm sync progress.
BASHterrad start terrad status
Join the validator set
Create a signing key.
BASHterrad keys add valwallet terrad keys listFund valwalletCopy valwallet with LUNC from an exchange or an existing wallet. Keep at least 10,000 LUNC to buffer against gas prices and oracle feeder set up.
Submit the validator registration (adjust commission and moniker as required).
BASHterrad tx staking create-validator \ --amount "10000000uluna" \ --commission-max-change-rate "0.01" \ --commission-max-rate "0.2" \ --commission-rate "0.05" \ --min-self-delegation 1 \ --pubkey "$(terrad tendermint show-validator)" \ --moniker "myvalidator" \ --chain-id columbus-5 \ --gas auto \ --gas-prices 28.325uluna \ --gas-adjustment 1.4 \ --from valwalletVerify the validator status.
BASHterrad q staking validators | grep -A6 "myvalidator"
Warning
Some validator parameters (for example commission-max-rateCopy commission-max-rate) are immutable once set. Double-check every flag before broadcasting create-validatorCopy create-validator.
Oracle feeder setup
Create an authorised feeder key and delegate privileges.
BASHterrad keys add feederwallet terrad tx oracle set-feeder <feederwallet> --from valwallet --chain-id columbus-5 --gas auto --gas-prices 30uluna --gas-adjustment 2Enable the LCD API locally by editing ~/.terra/config/app.tomlCopy ~/.terra/config/app.toml and setting enable = trueCopy enable = true in the [api]Copy [api] section, then restart the node. Set max-open-connectionsCopy max-open-connections to at least 1000Copy 1000 if exposing to feeders and tooling.
Deploy the oracle price server using Docker Compose or systemd. The binary now ships via GitHub releases; review the oracle-feeder repository for updated flags. Example command:
BASHnpm start vote -- \ -d http://localhost:8532/latest \ --lcd-url http://127.0.0.1:1317 \ --validators <your-valoper-address> \ --password <wallet-password>
Unbonding and shutdown checklist
Use terrad tx staking unbondCopy terrad tx staking unbond to undelegate your stake before powering down the validator:
BASHterrad tx staking unbond <your-valoper-address> 10000000uluna --from valwallet --chain-id columbus-5 --gas auto --gas-prices 30uluna --gas-adjustment 2Confirm the validator reports status: BOND_STATUS_UNBONDINGCopy status: BOND_STATUS_UNBONDING before shutting down services.
Troubleshooting
- Feeder wallet not found: Ensure the feeder address holds a small LUNC balance so the chain recognises the account.
- Feeder not submitting votes: Confirm the LCD API is enabled locally and that the feeder/price server versions match the versions specified above. Check for vote_periodCopy vote_period changes after network upgrades and adjust /etc/systemd/system/oracle-feeder.serviceCopy /etc/systemd/system/oracle-feeder.service accordingly.