我正尝试通过以下方式使用此库制作JSON RPC API https://www.npmjs.com/package/node-json-rpc:
var rpc = require('node-json-rpc');
var options = {
port: 443,
host: "mynode",
path: '/rpc',
strict: true
};
this.client = new rpc.Client(options);
rpc api在以下网址上公开
https://mynode/rpc
我正在尝试使用以下代码执行txpool_content
https://github.com/ethereum/go-ethereum/wiki/Management-APIs#txpool_content api:
var self = this;
return new Promise((resolve, reject) => {
console.log("insie transaction pool");
self.client.call(
{"jsonrpc": "2.0", "method": "txpool_content", "params": [], "id": 1},
function (err, res) {
if( err ) {
resolve(null);
}
else {
resolve(res.result);
}
}
);
});
但是,有时我会收到此错误
Error: read ECONNRESET
at TCP.onread (net.js:660:25) errno: 'ECONNRESET', code: 'ECONNRESET', syscall: 'read' }
,有时res
对象是undefined
我正在使用GCE入口控制器(mynode),然后将其转发到运行geth节点的服务器。
我应该如何调试此问题?
PS:如果我运行此命令
geth attach https://mynode/rpc
> txpool.content
运行正常。
在本地运行并在端口http
上的8545
上运行时,它工作正常。