Build
Run a testnet node
The reset testnet started on 2026-09-26 00:00 UTC from a new genesis block. It runs Neurai node
2.0.0 (protocol 70030) from the DePIN-Test branch;
older releases cannot connect to it.
Identity
Testnet at a glance
| Genesis hash | 0000008b384aeffecdab182575dc4e86c9f07f90318c65088532660ed9a8a021 |
|---|---|
| Genesis time / reward | 2026-09-26 00:00 UTC · 50,000 XNA |
| Network magic | 52 55 45 4e ("RUEN") |
| Ports | P2P 19100 · RPC 19101 (regtest 19200 / 19201) |
| Proof of work | SHA256d, Dark Gravity Wave v3, 180-block window (DGW-180) |
| DNS seeds |
|
| Burn address | tBURNXXXXXXXXXXXXXXXXXXXXXXXVZLroy |
| Asset burn costs | Issue 1,000 · reissue 200 · sub-asset 200 · unique 10 · message channel 200 · qualifier 2,000 · restricted 3,000 XNA |
| CAIP-2 chain id | bip122:0000008b384aeffecdab182575dc4e86 |
Step 1
Build from source
Follow doc/build-unix.md for the
dependencies; the only new one is liboqs for the post-quantum signatures.
git clone --branch DePIN-Test https://github.com/NeuraiProject/Neurai.git
cd Neurai
./autogen.sh
./configure # liboqs 0.16.0 is required; the depends/ system can build it
make -j"$(nproc)"
Step 2
Configure
Every option also works on the command line with a leading dash, for example -testnet.
# ~/.neurai/neurai.conf (testnet data goes to ~/.neurai/testnet/)
testnet=1
server=1
# Indexes used by explorers, wallets and the privacy pools
txindex=1
addressindex=1
spentindex=1
# Family of new wallet addresses: legacy, ecdsa or pq
addresstype=ecdsa
rpcuser=change-me
rpcpassword=change-me-too
Step 3
Start and check the chain
The node finds peers through the DNS seeds. Confirm the genesis before trusting what it reports.
./src/neuraid -daemon
./src/neurai-cli -testnet getblockchaininfo
./src/neurai-cli -testnet getblockhash 0 # must print the genesis below
./src/neurai-cli -testnet getpeerinfo
Optional
Mine some blocks
Testnet uses SHA256d, not KAWPOW, and its difficulty is low, so the node's built-in miner can find blocks on an ordinary CPU. Each block pays 25,000 XNA.
ADDR=$(./src/neurai-cli -testnet getnewaddress "" legacy)
./src/neurai-cli -testnet generatetoaddress 1 "$ADDR"
# Coinbase coins can be spent after 5 confirmations.
Compared
Testnet and mainnet parameters
| Parameter | Testnet | Mainnet |
|---|---|---|
| P2P port | 19100 | 19000 |
| RPC port | 19101 | 19001 |
| Message start | 52 55 45 4e (RUEN) | 4e 45 55 52 (NEUR) |
| Protocol version | 70030 | 70029 |
| Proof of work | SHA256d | KAWPOW |
| Difficulty | DGW-180 | DGW-180 |
| Target block time | 30 s (60 s before block 10) | 60 s |
| Coinbase maturity | 5 blocks | 100 blocks |
| P2PKH / P2SH / WIF version | 127 / 196 / 239 | 53 / 117 / 128 |
| Legacy address starts with | t | N |
| Extended keys | tpub / tprv, PQ tpqp | xpub / xprv, PQ xpqp |
| Bech32m HRPs | tnq, tpq, tnc | nq, pq, nc |
| BIP44 coin type (new wallets) | 1 | 1900 |
| Non-standard transactions | Relayed | Rejected |
Schedule
Activation heights
Blocks 1–9 ran the rules from before the new proposals; block 10 switched almost everything on at once. Mainnet has none of these scheduled yet.
| Feature | Height | Notes |
|---|---|---|
| Assets, messaging, restricted assets | Genesis |
Active from the first block as a plain rule. |
| NIP-028 block time reduction | 10 |
30-second blocks, halved subsidy, 120-block reorg cap. |
| AuthScript v1 and the covenant opcodes | 10 |
Introspection, CTV, CAT/SPLIT, hashes, 64-bit arithmetic, tx v3 reference inputs. |
| Strict PQ (v2) and strict ECDSA (v3) addresses | 10 |
tpq1z… and tnq1r… address families, NIP-041. |
| CSFS, Ed25519, CHECKSIGADD | 10 |
Signature opcodes. |
| TXHASH, script trees, execution budgets | 10 |
NIP-042, NIP-043, NIP-044, NIP-046. |
| OP_ZKVERIFY and the ZK public tree | 10 |
Privacy pool profiles 1 and 2 (C4, C5). |
| NIP-040 asset marker | 10 |
Outputs use the xna marker; rvn before block 10. |
| DePIN transfer state | 10 |
Open, close and seal for DePIN tokens. |
| ZK portable tree | 100 |
Privacy pool profile 3 (C6). |