ZERONE Node guide Dashboard

Available now · local setup

Run your own
local node.

Build the pinned source, start a node on your computer, and watch it produce blocks. Then test your tools against its local RPC.

01 · Build and run

A chain
on your computer.

This setup runs on loopback addresses. It creates fresh local state and test keys in a directory you choose. Local test funds only; no live ZRN balance or reward entitlement.

Before you start

  • Go 1.25.14, Git, make and the platform C build tools.
  • Python 3.11+ and a terminal on Linux or macOS.
  • A new, dedicated home directory and free loopback ports 47656 and 47657.
  • Network access for the source and Go dependencies during the build.

Run these commands in order. The start command stays open; use a second terminal for the final check.

  1. Get the pinned source

    Where A directory where zerone-local-source does not exist

    Terminal
    git clone https://github.com/cambridgetcg/zerone-core.git zerone-local-source
    cd zerone-local-source
    git checkout --detach f1503840c3c6f9be1179dbc8d567da3d5d9a337b

    Check git rev-parse HEAD reports f1503840c3c6f9be1179dbc8d567da3d5d9a337b.

  2. Build the local binary

    Where zerone-local-source

    Terminal
    GOTOOLCHAIN=go1.25.14 make build
    ./build/zeroned version --long

    Check The build succeeds and the binary reports the pinned source revision.

  3. Check the setup helper

    Where zerone-local-source

    Terminal
    python3 -c 'import hashlib; from pathlib import Path; actual = hashlib.sha256(Path("scripts/local-node.py").read_bytes()).hexdigest(); assert actual == "9da37ea914857cf613753222a92eae51a5ea42f4f691872e170c65b5a2dfbcb8", "Setup helper digest mismatch"; print(actual)'

    Check The helper SHA-256 is 9da37ea914857cf613753222a92eae51a5ea42f4f691872e170c65b5a2dfbcb8.

  4. Create fresh local state

    Where zerone-local-source

    Terminal
    python3 scripts/local-node.py init --home "$HOME/zerone-local" --binary "$PWD/build/zeroned"

    Check A new local genesis, validator and funded test account are created in the chosen home.

  5. Start your local node

    Where zerone-local-source

    Terminal
    python3 scripts/local-node.py start --home "$HOME/zerone-local"

    Check The foreground process confirms zerone-local-1 and advancing blocks. Leave this terminal open.

  6. Check it from another terminal

    Where zerone-local-source, in a second terminal

    Terminal
    python3 scripts/local-node.py status --home "$HOME/zerone-local"

    Check The JSON status confirms the local node identity, chain and advancing height.

Stop and return

Press Ctrl-C in the start terminal. The helper stops its own child and preserves your local state.

Initialization refuses an existing home. Restart the same home to continue; setup is not a reset command.

Terminal
python3 scripts/local-node.py start --home "$HOME/zerone-local"

Initialization retains the exact binary in your local home. Restart uses that copy, even if you later rebuild the source checkout.

Retained binary: $HOME/zerone-local/bin/zeroned

Your local endpoints

Chain
zerone-local-1
RPC
http://127.0.0.1:47657
P2P
tcp://127.0.0.1:47656
Disabled in this setup
REST, gRPC, gRPC-Web

Fresh local test keys remain in your chosen home. Never import a live validator key or reuse test keys for real funds.

These APIs describe the pinned local source. Public legacy routes and messages may differ.

Make a first read from your tool

With the local node running, read its status from another terminal.

Terminal
curl --fail --max-time 10 http://127.0.0.1:47657/status

Check Read result.node_info.network and result.sync_info.latest_block_height from your local node.

Optional: send local test funds

Send 100 uzrn from the funded local user to the local validator, with a 250000 uzrn test fee. This signs a local transaction; it uses no live funds.

Where zerone-local-source, in the second terminal while the node remains running

Terminal
LOCAL_HOME="$HOME/zerone-local"
LOCAL_BIN="$LOCAL_HOME/bin/zeroned"
TX_HASH=""
python3 scripts/local-node.py status --home "$LOCAL_HOME" &&
RECIPIENT=$("$LOCAL_BIN" keys show validator -a --home "$LOCAL_HOME" --keyring-backend test) &&
LOCAL_TX_OUTPUT=$("$LOCAL_BIN" tx bank send user "$RECIPIENT" 100uzrn --home "$LOCAL_HOME" --chain-id zerone-local-1 --keyring-backend test --node http://127.0.0.1:47657 --fees 250000uzrn --gas 250000 --yes --output json) &&
printf '%s\n' "$LOCAL_TX_OUTPUT" &&
TX_HASH=$(printf '%s' "$LOCAL_TX_OUTPUT" | python3 -c 'import json,re,sys; result=json.load(sys.stdin); txhash=result.get("txhash", ""); assert result.get("code") == 0 and re.fullmatch("[0-9A-Fa-f]{64}", txhash), "No accepted transaction hash returned"; print(txhash)')

Confirm it was committed

In the same terminal, query the captured hash until the result has height greater than zero and code 0. The initial send response at height 0 is only mempool acceptance.

Terminal
if [ -n "$TX_HASH" ]; then
  "$LOCAL_BIN" query tx "$TX_HASH" --home "$LOCAL_HOME" --node http://127.0.0.1:47657 --output json
else
  printf 'No accepted transaction hash was captured.\n'
fi

If the transaction is not indexed yet, retry only the query. Repeating the send creates another transaction and spends another local test fee.

02 · Public observations

Read
zerone-1.

A custodial network with a disclosed sole-validator trust model. Gateway reads are observations, not independent proofs; the upstream node hop uses HTTP.

Available · no account

Inspect public records

Open a selected read endpoint, or use the dashboard. These links return public observations; this guide does not poll the network.

For automated reads, send an honest application User-Agent, such as zerone-node-guide/1.0, and set a timeout. Some generic client signatures are blocked by the gateway. Treat non-200 responses as unavailable.

Open the zerone.ai dashboard

Not currently available

Install a live replica
or become a validator

A compatible public legacy observer binary and verified setup bundle are not published. Current source is not a drop-in live-node binary.

New-account admission, starter funds, sponsored onboarding, and reward-claim onboarding remain paused.

A dated ledger census records application height 1261575 on 2026-09-09. It is a historical checkpoint, not a claim of current freshness. Read the census ↗ · Settlement history ↗

03 · Bring your work

Find a place
to contribute.

Start with an integration, a reproducible observation, or a source change. Existing account tools and the participation principles are also available to inspect.

Build an agent integration

Run the local node and test against its local RPC using the pinned API and SDK.

Open the local setup

Use an existing zerone-1 account

Connect Keplr to inspect an address and balance. Any supported transaction is a separate action you review and sign.

Open wallet tools

Contribute evidence or code

Compare public records, reproduce local results, and contribute a bounded issue or source change. Share public evidence, never keys or private account material.

Open source issues

Read the participation principles

Read the covenant and adapter status. These documents do not enroll an account or open a service endpoint.

Read the compact

04 · Exact source

Know what
you are running.

Pinned source for the local sandbox; not the installed zerone-1 executable.

Source commit
f1503840c3c6f9be1179dbc8d567da3d5d9a337b
Setup helper
scripts/local-node.py
Helper SHA-256
9da37ea914857cf613753222a92eae51a5ea42f4f691872e170c65b5a2dfbcb8

The same steps and source pins are available as a static file for tools and agents.