<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[CentOS 安装以太坊 geth 客户端，搭建RPC节点]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[服务器技术]]></category>
<pubDate>Tue, 15 Jun 2021 15:33:57 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	安装Golang<br/>可以直接使用 yum 这个包管理器安装Golang<br/><div class="code"><br/>yum install golang<br/></div><br/>下载以太坊源码（Go Ethereum）<br/>首先下载geth源码<a href="https://github.com/ethereum/go-ethereum/releases/tag/v1.10.3" target="_blank">go-ethereum</a>，这里以 go-ethereum-1.10.3.tar.gz 为例：<br/><div class="code"><br/>https://github.com/ethereum/go-ethereum/archive/refs/tags/v1.10.3.tar.gz<br/></div><br/><br/>安装以太坊源码（安装Geth）<br/>接下来解压缩源码：<br/><div class="code"><br/>tar -xzf go-ethereum-1.9.7.tar.gz <br/></div><br/>用下面的命令编译：<br/><div class="code"><br/>cd go-ethereum-1.9.7<br/>make geth<br/>&#91;code&#93;&nbsp;&nbsp;&nbsp;&nbsp;<br/>make geth 也可以用make all 进行替代，make all 还会编译一些其他的程序套件<br/><br/>如果国内用户安装超时，可设置代理，再进行安装。<br/>&#91;code&#93;<br/>go env -w GOPROXY=https://goproxy.cn<br/></div><br/><br/>编译完成后，此时会在 go-ethereum-1.9.7/build/bin 中生成geth可执行文件。<br/>输入 geth help 命令，会显示geth所有的命令和选项：<br/><div class="code"><br/>cd build/bin<br/>./geth help<br/></div><br/>配置geth<br/>直接使用geth命令可能出现：<br/><div class="code"><br/>-bash: geth: command not found<br/></div><br/>解决方法一：可以为其的安装路径建立软连接<br/><div class="code"><br/>ln -s /data/go-ethereum-1.9.7/build/bin/geth&nbsp;&nbsp;/usr/local/bin/geth<br/></div><br/>解决方法二：也可以为其创建全局配置（对所有系统用户生效，永久生效，推荐）<br/>通过vim 打开编辑器<br/><div class="code"><br/>vim /etc/profile<br/></div><br/>在最后一行追加以下内容：<br/><div class="code"><br/>export PATH=$PATH:/data/go-ethereum-1.9.7/build/bin/<br/></div><br/>然后让配置立即生效：<br/><div class="code"><br/>source /etc/profile<br/></div><br/>用 geth version 测试一下：<br/><div class="code"><br/>geth version<br/></div><br/><br/>同步的几种方式<br/>Full同步<br/><div class="code"><br/>geth --syncmode &quot;full&quot;<br/></div><br/>获取区块的header<br/>获取区块的body<br/>从创始块开始校验没一个元素<br/>PS：下载所有区块数据信息<br/>Fast同步<br/><div class="code"><br/>geth --syncmode &quot;fast&quot;<br/></div><br/>获取区块的header<br/>获取区块的body<br/>在同步到当前块之前不处理任何事务，然后获得一个快照，像full节点一样进行后面的同步操作。沿着区块下载最近数据库中的交易，有可能丢失历史数据。比如，你的账户地址A上面有10个ETH，但转入的的交易存在于较老的历史交易中，此同步模式无法获取到交易的详细情况。<br/>使用此模式时注意需要设置–cache，默认16M，建议设置为1G（1024）到2G（2048）。<br/><br/>Ligth同步<br/><div class="code"><br/>geth --syncmode &quot;light&quot;<br/></div><br/>仅获取当前状态。验证元素需要向full节点发起相应的请求。<br/>开启本地RPC端口<br/># light模式同步区块并开启RCP：rpcaddr:rpcport<br/><div class="code"><br/>geth --rpc --rpcaddr localhost --rpcport &quot;8545&quot; --syncmode &quot;light&quot;<br/></div><br/>获取与RCP相关的命令<br/><div class="code"><br/>geth --help &#124; grep rpc<br/>&nbsp;&nbsp;--rpc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Enable the HTTP-RPC server<br/>&nbsp;&nbsp;--rpcaddr &quot;127.0.0.1&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HTTP-RPC server listening interface<br/>&nbsp;&nbsp;--rpcport &quot;8545&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HTTP-RPC server listening port<br/>&nbsp;&nbsp;--rpcapi &quot;db,eth,net,web3&quot;&nbsp;&nbsp;&nbsp;&nbsp;API&#039;s offered over the HTTP-RPC interface<br/>&nbsp;&nbsp;--rpccorsdomain&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Domains from which to accept cross origin requests (browser enforced)<br/></div><br/><br/><div class="code"><br/>geth –cache=2048 –goerli –rpc –rpcaddr 0.0.0.0 –rpcport=8545 –rpcvhosts=* –rpcapi=’eth,net,rpc’<br/></div><br/><br/>启动geth开始后台同步区块<br/><div class="code"><br/>nohup geth --rpc --rpcapi web3,eth,net,db,personal --rpcaddr 0.0.0.0 --rpcport 8545 &amp;<br/></div><br/>进入geth控制台<br/><div class="code"><br/># geth attach rpc:http://127.0.0.1:8545<br/></div><br/>查看区块同步情况<br/><div class="code"><br/>&gt; eth.syncing<br/>&#123;<br/>&nbsp;&nbsp;currentBlock: 513872,<br/>&nbsp;&nbsp;highestBlock: 8985345,<br/>&nbsp;&nbsp;knownStates: 806036,<br/>&nbsp;&nbsp;pulledStates: 794270,<br/>&nbsp;&nbsp;startingBlock: 0<br/>&#125;<br/></div>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] CentOS 安装以太坊 geth 客户端，搭建RPC节点]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>