Prerequisites
- git, make, Docker, and Docker Compose (depending on your setup)
- 16-32 GB RAM recommended
Steps
Clone the repository:
BASHgit clone https://github.com/classic-terra/core.git terra-core cd terra-coreStart a localnet:
BASHmake localnet-startThis spins up a multi-validator local network with RPC and LCD endpoints. Keep it running in the background while you develop.
Endpoints (typical defaults):
- RPC: http://localhost:26657Copy http://localhost:26657
- LCD: http://localhost:1317Copy http://localhost:1317
- gRPC: http://localhost:9090Copy http://localhost:9090
Chain ID:
- Usually localterraCopy localterra or localnetCopy localnet (check the console output). Use this in your SDK configuration.
Using with CosmES
Example Keplr setup against localnet:
TSimport { KeplrController, WalletType } from "@goblinhunt/cosmes/wallet"; const controller = new KeplrController("<YOUR_WC_PROJECT_ID>"); const wallets = await controller.connect(WalletType.EXTENSION, [ { chainId: "localterra", // or "localnet" rpc: "http://localhost:26657", gasPrice: { denom: "uluna", amount: "28.325" }, }, ]); const connected = wallets.get("localterra"); console.log("address", connected?.address);
Warning
Make sure to add the chain information to keplr before connecting.
Tips
- If ports conflict, stop other chain processes or change ports in Terra Core configs.
- For contract workflows, use the same Msg*Copy Msg* transactions in CosmES as on mainnet or testnet—only the endpoints and chain ID change.