Go-Ethereum

如何將自定義 JSON-RPC 端點添加到 geth?

  • July 24, 2019

我正在建構一個乙太坊專用網路,並且我想製作一個自定義 JSON-RPC 端點。

我一直在自定義並在 go-ethereum 原始碼中添加一些東西,但我還不知道在哪裡做這個以及涉及哪些文件……

嘗試不同的事情我發現答案很簡單:

只需在go-ethereum/internal/ethapi/api.go“MyMethod”中添加一個方法,它就會映射到 JSON-RPC 方法“eth_myMethod”,如下所示:

// go-ethereum/internal/ethapi/api.go
func (s *PublicTransactionPoolAPI) MyMethod(ctx context.Context, text string) error {
   log.Info(text)
   return nil
}

RPC 呼叫

{
   "jsonrpc": "2.0",
   "method": "eth_myMethod",
   "params": [
       "Hello, World!"
   ],
   "id": 1
}

這將返回:

{
   "jsonrpc": "2.0",
   "id": 1,
   "result": null
}

Hello, World!並將在控制台中 列印。

引用自:https://ethereum.stackexchange.com/questions/73106