达世币全节点


zcash全节点搭建

<h3>环境</h3> <p>NodeJs</p> <h3>安装客户端</h3> <p>zcash进行硬分叉后,使用1.1.2版本的源码,且已增加rpc方法,硬分叉的主要变化在于发起交易时要分别调用创建交易,签名交易,广播交易接口,因为创建交易时必须指定花费的amount,详情见:<a href="https://zcash-rpc.github.io/signrawtransaction.html">https://zcash-rpc.github.io/signrawtransaction.html</a> 启动客户端命令:./root/zcash1.1.2_改好的/src/zcashd --daemon</p> <pre><code>搭建流程: 1.使用samueldebruyn/debian-git作为基础镜像(在47.244.239.11上),下载二进制文件,下载依赖包,然后执行./zcash-fetch-params,commit为一个新镜像,再执行./zcashd 更新2.1.0版本后: 下载源码后编译 git checkout v2.1.0-1 ./zcutil/fetch-params.sh ./zcutil/build.sh -j$(nproc) 生成可执行文件在src目录下,启动即可,配置文件如下 </code></pre> <p><strong>Dockerfile:</strong></p> <pre><code>FROM zcash:1.0 EXPOSE 13144 CMD ["/root/zcash-2.0.7-3/bin/zcashd", "--conf=/root/zcash-2.0.7-3/bin/zcash.conf"] 查看同步进程:/root/zcash-2.0.7-3/bin/zcash-cli --conf=/root/zcash-2.0.7-3/bin/zcash.conf getblockcount 存储目录:/root/.zcash docker run -itd -p 13144:13144 -v /root/.zcash:/root/.zcash herry143/zec:2.0 /root/zcash-2.0.7-3/bin/zcashd --conf=/root/zcash-2.0.7-3/bin/zcash.conf docker run -itd --net=host -v /root/.zcash:/root/.zcash herry143/zec:2.0 /root/zcash-2.0.7-3/bin/zcashd --conf=/root/zcash-2.0.7-3/bin/zcash.conf</code></pre> <pre><code>addnode=mainnet.z.cash rpcuser=root rpcpassword=root rpcport=13144 rpcallowip=0.0.0.0/0 server=1 txindex=1 addressindex=1 timestampindex=1 spentindex=1</code></pre> <h3>同步全节点</h3> <p>安装dre-node后,在代码中</p> <pre><code>var zcashcore = require('bitcore-node-zcash'); var Zcash = zcashcore.services.Bitcoin; var node = new zcashcore.Node({ network: 'livenet', services:[ { name: 'bitcoind', module: Zcash, config: { connect: [{ "rpchost": "127.0.0.1", "rpcport": 8331, "rpcuser":"bitcoin", "rpcpassword": "local321", "zmqpubrawtx": "tcp://127.0.0.1:28331" }] } } ] }); </code></pre> <p>zcash.conf:</p> <pre><code>addnode=mainnet.z.cash gen=1 genproclimit=-1 rpcuser=bitcoin rpcpassword=local321 rpcport=8331 rpcallowip=127.0.0.1 server=1 whitelist=127.0.0.1 txindex=1 addressindex=1 timestampindex=1 spentindex=1 zmqpubrawtx=tcp://127.0.0.1:28331 zmqpubhashblock=tcp://127.0.0.1:28331 </code></pre> <p>//启动节点,节点成功启动之后,执行里面的回调函数 node.start(() =&gt; { //do something... });</p> <h3>开发</h3> <p>上面代码中的node提供了很多的方法可共调用 node.services.bitcoind.getAddressBalance node.services.bitcoind.sendTransaction 等等,详细内容可以查看bitcore文档</p> <h4>代码</h4> <p>接口代码:/root/zcashapi-master/ 源码:/root/zcash1.1.2_改好的</p> <h4>区块数据</h4> <h5>/root/.zcash/</h5> <pre><code>./dfs/dn2/zcash/zcash/src/zcashd --conf=/dfs/dn2/zcash/zcash.conf </code></pre>

页面列表

ITEM_HTML