美文网首页
以太坊开发:如何搭建远程私有节点服务器

以太坊开发:如何搭建远程私有节点服务器

作者: 暴走的K哥哥 | 来源:发表于2018-04-23 17:04 被阅读0次

    本文将介绍如何在远程服务器搭建私有链,并且进行rpc连接。

    搭建私有链

    首先需要有一台远程服务器,Linux下安装geth,比较简单,只需要几个指令:

    sudo apt-get install software-properties-common
    sudo add-apt-repository -y ppa:ethereum/ethereum
    sudo apt-get update
    sudo apt-get install ethereum
    
    

    安装完后创建创世块、启动私有链参考之前文章:https://www.jianshu.com/p/b6dcb5afe866

    如何连接远程rpc服务

    启动私有链后有个问题:rpc默认连接的地址是localhost,这样其他机器就无法访问到这台服务器的节点,那和本地电脑搭建的私链有啥区别。

    • 使用geth --help发现启动参数有个 rpcaddr可以设置rpc服务的地址
    • 把启动参数里添加 --rpcaddr "服务器ip" 进行启动
    • 启动后会报如下错误:
    panic: runtime error: invalid memory address or nil pointer dereference
    

    额,这是啥问题,百度一番没找到解决方法。后来看官方文档,找到一句话:

    Do not forget --rpcaddr 0.0.0.0, if you want to access RPC from other containers and/or hosts. 
    By default, geth binds to the local interface and RPC endpoints is not accessible from the outside.
    
    
    • 原来是需要通过设置0.0.0.0,才可以进行外部访问,0.0.0.0表示指向本机的所有IP地址。修改之后果然启动成功了

    如何验证你启动的rpc服务是能够正常被外部访问的?

    很简单,打开remix ide,点击Run,选择Environment的Web3 Provider,填写你的rpc服务地址(例:http://x.x.x.x:8545),连接成功后在Account中看到该链上的账户和余额,表示连接成功了。

    相关文章

      网友评论

          本文标题:以太坊开发:如何搭建远程私有节点服务器

          本文链接:https://www.haomeiwen.com/subject/kgsllftx.html