Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
85 lines (58 sloc) 2.22 KB
eip title author discussions-to type category status review-period-end created requires
695
Create `eth_chainId` method for JSON-RPC
Isaac Ardis <isaac.ardis@gmail.com>, Wei Tang (@sorpaas), Fan Torchz (@tcz001)
Standards Track
Interface
Last Call
2019-07-20
2017-08-21
155, 1474

Simple Summary

Include eth_chainId method in eth_-namespaced JSON-RPC methods.

Abstract

The eth_chainId method should return a single STRING result for an integer value in hexadecimal format, describing the currently configured CHAIN_ID value used for signing replay-protected transactions, introduced via EIP-155.

Motivation

Currently although we can use net_version RPC call to get the current network ID, there's no RPC for querying the chain ID. This makes it impossible to determine the current actual blockchain using the RPC.

Specification

eth_chainId

Returns the currently configured chain ID, a value used in replay-protected transaction signing as introduced by EIP-155.

Parameters

None.

Returns

QUANTITY - integer of the current chain ID.

Example

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'

// Result
{
  "id": 83,
  "jsonrpc": "2.0",
  "result": "0x3d" // 61
}

Rationale

An ETH/ETC client can accidentally connect to an ETC/ETH RPC endpoint without knowing it unless it tries to sign a transaction or it fetch a transaction that is known to have signed with a chain ID. This has since caused trouble for application developers, such as MetaMask, to add multi-chain support.

Backwards Compatibility

Not relevant.

Implementation

Reference

Return value QUANTITY adheres to standard JSON RPC hex value encoding, as documented here: https://github.com/ethereum/wiki/wiki/JSON-RPC#hex-value-encoding.

Copyright

Copyright and related rights waived via CC0.

You can’t perform that action at this time.