分享

安装并同步geth并开启本地RPC端口8545

 quasiceo 2018-07-16
2018年03月28日 11:03:54
阅读数:1276

安装

Ubuntu用户可以选择在线安装的方式,在终端中依次执行以下命令即可:

$ sudo add-apt-repository -y ppa:ethereum/ethereum
$ sudo apt-get update
$ sudo apt-get install ethereum
  • 1
  • 2
  • 3

安装完成后执行 geth help 查看geth的用法。

同步的几种方式

Full同步

geth --syncmode "full"
  • 1
  1. 获取区块的header
  2. 获取区块的body
  3. 从创始块开始校验没一个元素
    PS:下载所有区块数据信息

Fast同步

geth --syncmode "fast"
  • 1
  1. 获取区块的header
  2. 获取区块的body

在同步到当前块之前不处理任何事务,然后获得一个快照,像full节点一样进行后面的同步操作。沿着区块下载最近数据库中的交易,有可能丢失历史数据。比如,你的账户地址A上面有10个ETH,但转入的的交易存在于较老的历史交易中,此同步模式无法获取到交易的详细情况。

使用此模式时注意需要设置–cache,默认16M,建议设置为1G(1024)到2G(2048)。

Ligth同步

geth --syncmode "light"
  • 1

仅获取当前状态。验证元素需要向full节点发起相应的请求。

疑问

具体同步的到底是什么?比如light模式,就把world state和当前区块同步下来?有空慢慢研究

light同步的只是区块头

这里写图片描述

开启本地RPC端口

# light模式同步区块并开启RCP:rpcaddr:rpcport
geth --rpc --rpcaddr localhost --rpcport "8545" --syncmode "light"
  • 1
  • 2

获取与RCP相关的命令

geth --help | grep rpc
  --rpc                         Enable the HTTP-RPC server
  --rpcaddr "127.0.0.1"         HTTP-RPC server listening interface
  --rpcport "8545"              HTTP-RPC server listening port
  --rpcapi "db,eth,net,web3"    API's offered over the HTTP-RPC interface
  --rpccorsdomain               Domains from which to accept cross origin requests (browser enforced)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多