From ee555bcc9da75860e09fee7b95e7c15e5568f9c7 Mon Sep 17 00:00:00 2001 From: ia Date: Fri, 18 Aug 2017 07:45:43 -0500 Subject: [PATCH] eth,internal: add eth_chainId method to PublicEthereumApi JSONRPC --- eth/api.go | 5 +++++ internal/web3ext/web3ext.go | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/eth/api.go b/eth/api.go index f5214fc379..74b607b6d5 100644 --- a/eth/api.go +++ b/eth/api.go @@ -71,6 +71,11 @@ func (api *PublicEthereumAPI) Hashrate() hexutil.Uint64 { return hexutil.Uint64(api.e.Miner().HashRate()) } +// ChainId is the EIP-155 replay-protection chain id for the current ethereum chain config. +func (api *PublicEthereumAPI) ChainId() *big.Int { + return api.e.chainConfig.ChainId +} + // PublicMinerAPI provides an API to control the miner. // It offers only methods that operate on data that pose no security risk when it is publicly accessible. type PublicMinerAPI struct { diff --git a/internal/web3ext/web3ext.go b/internal/web3ext/web3ext.go index bf1db88196..d6c2adcc57 100644 --- a/internal/web3ext/web3ext.go +++ b/internal/web3ext/web3ext.go @@ -360,6 +360,11 @@ web3._extend({ property: 'eth', methods: [ + new web3._extend.Method({ + name: 'chainId', + call: 'eth_chainId', + params: 0 + }), new web3._extend.Method({ name: 'sign', call: 'eth_sign',