如何在以太坊经典游戏中添加新的RPC

问题描述

我要更改core-geth,需要添加一些RPC。

我已经完成/尝试过的事情:

  1. 更改了其他一些RPC摘要,并使用make geth重建了节点-然后在我请求rpc.discover时出现。
  2. 使用一种方法添加了新的API结构,然后对其进行了初始化,并将其添加文件return append(apis,[]rpc.API{ <here> }中的eth/backend.go中。
  3. methods的{​​{1}}字段中添加了新方法

预期结果: 该方法出现在internal/openrpc/openrpc_schema.go中。

实际结果: 构建后-没有任何变化。新的RPC方法显示rpc.discover上,并且无法访问它(返回下一条错误消息rpc.discover)。

我已添加the method example_testCall does not exist/is not available代码

eth/backend.go

// In append for RPCs: { Namespace: "example",Version: "1.0",Service: &PublicExampleAPI{},Public: true,} // PublicExampleAPI: type PublicExampleAPI struct {} // TestCall ... func (api *PublicExampleAPI) TestCall(ctx context.Context) string { return "It works!" } 代码

openrpc

存储库和提交:https://github.com/etclabscore/core-geth/tree/a3b5c762376c8ceec388d238d293c9ef76bd6549

无法使其正常工作,我想我错过了一些东西,应该添加一些其他行使其正常工作。任何帮助表示高度赞赏!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...