SSH和以太坊节点

时间:2018-08-17 14:11:13

标签: ethereum

我有一个节点(虚拟机1),该节点具有用于SSH的开放端口,并且密钥位于密钥库中,同一网络中的另一个虚拟机(没有节点和密钥)可以使用该节点进行交易吗?通过访问使用web3.js的网站在虚拟机1中输入密钥?

例如就像在VM2 >>中访问指向localhost的METAMASK自定义RPC一样,但是事务在VM1中

请告知

1 个答案:

答案 0 :(得分:1)

是的,可以,但这确实是危险!因为您基本上将密钥公开给外部世界,所以这是脚本小伙伴可以找到公开的RPC端点的蜜罐。

更好的方法是在VM2上创建事务并使用VM1广播它,根本不需要web3.js。只需将Websockets或HTTP-JSONRPC终结点公开到Web。 注意,您只应公开安全的API。

对于以太坊,VM1配置如下所示:

parity --jsonrpc-port 53545           \
       --jsonrpc-interface 133.3.3.37 \ # your public IP of VM1
       --jsonrpc-apis safe            \ # only expose safe APIs
       --jsonrpc-hosts 242.42.42.42   \ # the IP (or hostname) of VM2

这样,您可以在VM2上创建事务并使用VM1 raw transaction广播它:

curl --data '{"method":"eth_sendRawTransaction","params":["0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"],"id":1,"jsonrpc":"2.0"}' -H "Content-Type: application/json" -X POST 133.3.3.37:53545