- build.mjs no longer writes bench.html, journey.html or journey.json; the three files are deleted; /bench -> /evidence and /journey -> /live redirects (permanent: false); nav, footer, sitemap, capture routes and the site-nav-check groups drop them; link-check resolves literal vercel.json redirects and lists every link that leans on one (evidence.html: /bench, another hand) - every testnet card, column, row, notice and link removed from the pages this lane owns; release manifest: the testnet entry gone, network igneum-devnet-4 "Igneum 2.0 devnet", the Devnet 3 genesis, digest, vote domain and floor lines dropped - "Devnet 3" leaves every owned page; the devnet state is one constant in build.mjs (DEVNET_STATE, 'starting' now: the nav pill and the homepage badge read "Igneum 2.0 devnet starting"; 'live' flips both and re-enables the nav's live read) - no 0.x release history: screenshot alt texts say the current build, the miner page's "Current build:" keeps the data-rm spans without the node version; miner-bench.json keeps the current-program rows only, no Counter ASIC names, no versions; /miners drops the earlier-classes table, the history note and the miner-version column - /income keeps the calculator; the testnet-era tier tables (docs/analysis/income-tiers.md) are not served - the positioning line is the first line of the footer partial (every page), the homepage meta description's first sentence and the hero's sub-line; share metas (site/og/pages.mjs) carry no Devnet 3 or zkEVM - ledger-text-check is red on two index.html pins (X2, X31: the testnet sentences), owned by the ledger hand Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
5.2 KiB
The JSON-RPC a devnet node serves
Read from the node, not from a spec: every method below was sent to a devnet node on 8 October 2026 (web3_clientVersion answered igneumd/2.1.0/execution-layer-v3, eth_chainId 0x116f, block 26,666) and sorted by what came back. A method the node does not know answers JSON-RPC error -32601. The probe is at the end; run it against your own node to refresh this file.
Transport: HTTP POST, JSON-RPC 2.0, one request per call, no batches tested. The public endpoint is https://rpc.devnet.igneum.network; a node you run serves http://127.0.0.1:26790. The DAG side of the node (blocks, the mempool, the vote table) speaks the Kaspa-style gRPC and wRPC on their own ports; the explorer and the observer use those, a contract developer needs only what is here.
Served: the Ethereum set
| Method | Note |
|---|---|
web3_clientVersion |
igneumd/<version>/execution-layer-v3 |
net_version |
the chain id as a decimal string, "4464" |
net_listening, net_peerCount |
|
eth_chainId |
0x1170 (4464) on the Igneum 2.0 devnet. Read it, never fix it |
eth_blockNumber |
the executed chain tip |
eth_syncing |
false when the executor is at the tip |
eth_mining |
false from the RPC's point of view: mining is the miner's, not the node's |
eth_accounts |
always []: the node holds no keys |
eth_protocolVersion |
0x41 |
eth_gasPrice, eth_maxPriorityFeePerGas, eth_feeHistory |
EIP-1559 pricing; the proving dimension is folded into the quoted price |
eth_getBalance, eth_getTransactionCount, eth_getCode, eth_getStorageAt |
by block tag or number |
eth_getBlockByNumber, eth_getBlockByHash |
the EVM view of a chain block; null for an unknown hash |
eth_getBlockTransactionCountByNumber |
|
eth_getTransactionByHash, eth_getTransactionByBlockNumberAndIndex |
|
eth_getTransactionReceipt, eth_getBlockReceipts |
|
eth_getLogs |
by block range, address and topics |
eth_call, eth_estimateGas |
as on Ethereum |
eth_sendRawTransaction |
a signed EIP-155, EIP-1559 or legacy envelope; the chain id must match |
Served: Igneum's own
| Method | What the answer carries (from the probe) |
|---|---|
igneum_getExecStatus |
the executed tip, a continuity break if any, what the executor is blocked on |
igneum_getProvingStatus |
whether proving is active, its activation height, assignees per shard, the dust rule |
igneum_getShardPlan |
a block's shard plan: the DAA score, eligible keys, the epoch seed, the assignments |
igneum_getProofRecords |
the proof records a block carries and claims |
igneum_getTransactionStatus |
per transaction: in the mempool, included in, executed, locked |
igneum_estimateGas |
both gas dimensions, the base fee, and exceedsProvingLimit |
igneum_getBudgets |
the proving budgets: backlog depth, the base fee, chain blocks |
igneum_getAssignedShards |
the shards assigned to this node's prover |
igneum_getSegment, igneum_getSegmentRecords, igneum_getSegmentStatement |
a segment's executed blocks, records and statement |
igneum_getSegmentProofBytes, igneum_getProofBytes |
the proof bytes for a key hash (keyHash is required) |
igneum_exportSegments |
a range of segments with their accounts |
igneum_exportExecSnapshot |
writes a snapshot to a path on the node's own disk |
igneum_submitProofRecord, igneum_submitSegmentRecord |
the prover's submissions; a record is required |
Not served
Each of these answered -32601 on 8 October 2026. Where a tool wants one, the note says what to do instead.
| Method | Instead |
|---|---|
eth_newFilter, eth_newBlockFilter, eth_newPendingTransactionFilter, eth_getFilterChanges, eth_getFilterLogs, eth_uninstallFilter |
poll eth_blockNumber and eth_getLogs |
eth_subscribe, eth_unsubscribe |
no WebSocket subscriptions; poll |
eth_sendTransaction, eth_sign, eth_signTransaction |
the node holds no keys; sign on your side and use eth_sendRawTransaction |
eth_getProof |
not yet |
eth_getTransactionByBlockHashAndIndex, eth_getBlockTransactionCountByHash |
use the by-number forms |
eth_getUncleByBlockHashAndIndex, eth_getUncleByBlockNumberAndIndex, eth_getUncleCountByBlockHash, eth_getUncleCountByBlockNumber |
there are no uncles; the DAG's merged blocks are not EVM blocks |
eth_createAccessList, eth_simulateV1, eth_blobBaseFee |
not yet; no blobs |
eth_coinbase, eth_hashrate |
the miner's, not the node's |
txpool_content, txpool_status |
igneum_getTransactionStatus for one transaction |
debug_traceTransaction, debug_traceBlockByNumber, trace_block |
no tracing yet |
web3_sha3 |
hash on your side |
The probe
Every method with a harmless argument; the verdict is served, not-found (-32601) or error (the node knows the method and refused the argument, which counts as served).
URL=http://127.0.0.1:26790
call() { curl -s -X POST -H 'content-type: application/json' \
--data "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"$1\",\"params\":${2:-[]}}" "$URL"; }
for m in web3_clientVersion eth_chainId eth_blockNumber eth_newFilter eth_subscribe; do
printf '%-32s %s\n' "$m" "$(call $m | cut -c1-80)"
done
The devnet resets without notice and its coins have no value.