xone --dev already runs a one-validator XDC chain with the block controls that test scripts expect: evm_mine, evm_snapshot and evm_revert, anvil_reset, a settable next timestamp and more (the dev chain, resuming a dev chain). Three more tools came on 2026-11-15: sending transactions as any account without its key, a block explorer on the loopback address, and one command to start and stop a whole local XDPoS network. All three are on main, not in v0.1.0, and none of them is served outside dev mode.

How do I send a transaction as an account whose key I do not have?

Impersonate it. On a --dev node:

curl -s -H 'content-type: application/json' 127.0.0.1:8545 -d \
 '{"jsonrpc":"2.0","id":1,"method":"anvil_impersonateAccount","params":["0x<address>"]}'
curl -s -H 'content-type: application/json' 127.0.0.1:8545 -d \
 '{"jsonrpc":"2.0","id":2,"method":"eth_sendTransaction","params":[{"from":"0x<address>","to":"0x<to>","value":"0x1"}]}'
  • anvil_impersonateAccount and anvil_stopImpersonatingAccount, with hardhat_ aliases, are the names Foundry and Hardhat scripts already call (PR #1059).
  • eth_sendTransaction exists only in the dev method registry. For an impersonated sender it builds a legacy transaction with a dummy signature, which the pool admits for that account only (PR #1066).
  • After anvil_stopImpersonatingAccount, an unsigned transaction from that account is refused again, and a correctly signed one is still accepted.
  • Public profiles never register these methods, so a node on a real network cannot be told to accept an unsigned transaction.

Use it to test a contract call from a large holder, a multisig or another address whose key you do not have.

How do I see what my dev chain did?

Start the node with --dev --dev.explorer. It serves a block explorer on 127.0.0.1:3000 (PR #1118):

  • It shows a local transfer with its receipt and logs.
  • It proxies RPC on the same origin, so the browser needs no CORS setting.
  • Restarting the explorer does not reset the chain or touch the datadir.
  • /capabilities lists which Otterscan indexing methods the node supports and which it does not.

For a full explorer on a shared network, see trace_ and ots_ for Blockscout and Otterscan.

How do I run a local multi-node XDPoS network?

xone network init writes a workspace for a private network: a genesis and one config per node. Since PR #1053 three commands drive it:

REFERENCE TABLEScroll to explore all columns →
Command Does
xone network up Starts every node of the workspace. Each node config must point at the workspace genesis. If one process fails, the result names every node, and the others keep running so you can look at them.
xone network status Shows which workspace nodes are running
xone network down Stops only the processes this workspace started (by pid and start time). Genesis and node data stay unless you add --purge.

Add --permissions.nodes to the node configs if the network must refuse outside peers (the node allowlist).

How does this compare with other dev tools?

REFERENCE TABLEScroll to explore all columns →
Need Foundry anvil and Hardhat xOneRS --dev
Impersonate an account anvil_impersonateAccount, hardhat_impersonateAccount the same names
Mine, snapshot, revert, reset evm_mine, evm_snapshot, evm_revert, anvil_reset the same names (the dev chain)
XDC rules not built in the XDC execution rules, because it is an XDC node

The difference that matters: a test on xone --dev runs on XDC's execution rules and fork rows, not on Ethereum's.

Frequently asked questions

Does xOne support anvil_impersonateAccount?

Yes, on a --dev node of a build from main after 2026-11-15, with the hardhat_ aliases. It is not served on public networks.

Can I send eth_sendTransaction to an xOne node?

Only on a --dev node, where it signs with a dummy signature for an impersonated account. Public nodes do not hold user keys.

Is there a block explorer for xone --dev?

Yes. --dev.explorer serves one on 127.0.0.1:3000.

How do I start and stop a local XDC test network with several nodes?

xone network init to create the workspace, then xone network up, status and down.

Sources