Go-Ethereum
如何將自定義 JSON-RPC 端點添加到 geth?
我正在建構一個乙太坊專用網路,並且我想製作一個自定義 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!
並將在控制台中 列印。