Summary
The Running an Arc Node documentation incorrectly states that the result returned by eth_blockNumber represents the next block height.
eth_blockNumber returns the number of the latest block known to the node.
Calling the returned value the "next block height" introduces an off-by-one semantic error in the node-operation documentation.
Affected Documentation
File:
docs/running-an-arc-node.md
Section:
Current Documentation
The guide instructs operators to call:
curl -s -X POST http://localhost:8545 \
-H "Content-Type: application/json" \
-d '{ "jsonrpc": "2.0", "method": "eth_blockNumber", "params": [], "id": 1}'
It then states that:
The result field represents the next block height, in hexadecimal.
This is inaccurate.
Actual Behavior
For a chain whose latest block is block N:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0xN"
}
represents block N, not block N + 1.
In other words:
eth_blockNumber = latest/current block number
not:
eth_blockNumber = next block height
Why This Matters
This wording can create off-by-one mistakes in:
- node sync checks;
- operational scripts;
- monitoring;
- block indexing;
- troubleshooting;
- documentation copied into third-party tooling.
For example, if the RPC returns:
the node's reported latest block number is:
The documentation currently implies this is the height of the next block to be produced.
Expected Documentation
The paragraph should instead say something similar to:
The `result` field contains the latest block number known to the execution
layer, encoded as a hexadecimal quantity. The value should increase as the
node follows the chain.
Suggested Fix
Replace:
The result field represents the next block height, in hexadecimal
with:
The result field represents the latest block number known to the node,
encoded in hexadecimal.
Optional Improvement
The verification section could also provide a deterministic conversion example:
BLOCK_HEX=$(curl -s -X POST http://localhost:8545 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \
| jq -r '.result')
printf "%d\n" "$BLOCK_HEX"
This makes it clearer that the value is the current latest block number.
Impact
Documentation / developer experience.
Severity:
Low
The node itself behaves correctly; the issue is the documented interpretation
of a standard RPC response.
Environment
Repository:
circlefin/arc-node
File:
docs/running-an-arc-node.md
RPC method:
eth_blockNumber
Summary
The
Running an Arc Nodedocumentation incorrectly states that theresultreturned byeth_blockNumberrepresents the next block height.eth_blockNumberreturns the number of the latest block known to the node.Calling the returned value the "next block height" introduces an off-by-one semantic error in the node-operation documentation.
Affected Documentation
File:
Section:
Current Documentation
The guide instructs operators to call:
It then states that:
This is inaccurate.
Actual Behavior
For a chain whose latest block is block
N:{ "jsonrpc": "2.0", "id": 1, "result": "0xN" }represents block
N, not blockN + 1.In other words:
not:
Why This Matters
This wording can create off-by-one mistakes in:
For example, if the RPC returns:
the node's reported latest block number is:
The documentation currently implies this is the height of the next block to be produced.
Expected Documentation
The paragraph should instead say something similar to:
Suggested Fix
Replace:
with:
Optional Improvement
The verification section could also provide a deterministic conversion example:
This makes it clearer that the value is the current latest block number.
Impact
Documentation / developer experience.
Severity:
LowThe node itself behaves correctly; the issue is the documented interpretation
of a standard RPC response.
Environment
Repository:
circlefin/arc-nodeFile:
docs/running-an-arc-node.mdRPC method:
eth_blockNumber