国内以太坊节点数量不足300个,而且国内特殊的网络原因也会影响到国内用户同步区块数据。为了国内用户更加流畅地同步区块,EthFans 发起星火节点计划。
由于Windows坑太多,复盘太痛苦,下面的步骤是根据我回忆配置节点的过程整理出来的,如果您想尝试在Windows系统下运行节点,最好保持与我的环境一样 * 系统环境:Windows 2008 R2, 64bit * 假设你的用户名是ethfans(根据实际情况替换成自己的windows登录名)
1. 安装node 下载并安装最新的nodejs:https://nodejs.org/en/download/ 选择windows 64-bit 2. 安装git 下载并安装最新的git:https://git-scm.com/(点击网站上的下载链接,会自动为你选择64-bit版本,如果不是,请手动选择64-bit版本) 安装过程基本都是默认选项,安装完成后,确认应用程序文件夹下面有:Git Bash 3. 下载最新的Geth或Parity Geth:https://github.com/ethereum/go-ethereum/releases Parity:https://github.com/ethcore/parity/releases/download/v1.3.1/parity-1.3.1-install-win64.exe Parity 下载下来后是一个windows安装程序,直接默认安装即可,安装完成后,Parity应该在 “C:Program FilesEthcoreParity”下面 4. 下载ethstate-client https://github.com/cubedro/eth-net-intelligence-api/archive/master.zip 下载完成后,将下载的文件解压到 “C:Usersethfansethstats-client"文件夹下 ***注意解压时,默认会嵌套一个eth-net-intelligence-api文件夹,将所有文件从这个文件夹下面移到 ethstats-client文件夹下 5. 将geth.exe和parity.exe移到 “C:Usersethfans"文件夹下面(如果你不想运行parity,只需要移动geth) 6. 启动Git Bash 执行下列安装 npm install pm2 -g npm install xmlhttprequest npm install utf8 npm install crypto-js npm install bignumber.js npm install socket.io npm install socketio 7. 安装完成以后检查一下 pm2 -v node -v npm -v 确保都能看到反馈的版本号 8. 安装 ethstats-client cd ethstats-client npm install cd 9. 准备Json文件
[ { "name" : "ethstats-client", "cwd" : "ethstats-client", "script" : "app.js", "logdateformat" : "YYYY-MM-DD HH:mm Z", "logfile" : "node-app-log.log", "outfile" : "node-app-out.log", "errorfile" : "node-app-err.log", "mergelogs" : true, "watch" : false, "maxrestarts" : 10, "execinterpreter" : "node", "execmode" : "forkmode", "env": { "NODEENV" : "production", "RPCHOST" : "localhost", "RPCPORT" : "8545", "LISTENINGPORT" : "30303", "INSTANCENAME" : "", //<-双引号内填写您的节点名称信息。如果是公司运行的节点,建议写成【贵公司网站】+公司名字,如果是个人运行的节点,建议写成【Ethfans】+个人名字。 "CONTACTDETAILS" : "", //<-双引号内填写您的联系信息,如网址或邮箱地址。 "WSSERVER" : "wss://stats.ethfans.org", "WSSECRET" : "ethfans4you", "VERBOSITY" : 2 } }, { "name" : "geth", "script" : "geth.exe", "args" : "--rpc --fast --maxpeers 100 --cache 512", "logdateformat" : "YYYY-MM-DD HH:mm Z", "mergelogs" : false, "watch" : false, "maxrestarts" : 10, "execinterpreter" : "none", "execmode" : "forkmode" } ]
将上面的代码保存为 processesForGeth.json (注意选择utf-8,否则不能再星火节点上显示中文名称)
[ { "name" : "ethstats-client", "cwd" : "ethstats-client", "script" : "app.js", "log_date_format" : "YYYY-MM-DD HH:mm Z", "log_file" : "node-app-log.log", "out_file" : "node-app-out.log", "error_file" : "node-app-err.log", "merge_logs" : true, "watch" : false, "max_restarts" : 10, "exec_interpreter" : "node", "exec_mode" : "fork_mode", "env": { "NODE_ENV" : "production", "RPC_HOST" : "localhost", "RPC_PORT" : "8545", "LISTENING_PORT" : "30303", "INSTANCE_NAME" : "", //<-双引号内填写您的节点名称信息。如果是公司运行的节点,建议写成【贵公司网站】+公司名字,如果是个人运行的节点,建议写成【Ethfans】+个人名字。 "CONTACT_DETAILS" : "", //<-双引号内填写您的联系信息,如网址或邮箱地址。 "WS_SERVER" : "wss://stats.ethfans.org", "WS_SECRET" : "ethfans4you", "VERBOSITY" : 2 } }, { "name" : "parity", "script" : "parity.exe", "ARGS" : "--max-peers 100 --fast-and-loose", "log_date_format" : "YYYY-MM-DD HH:mm Z", "merge_logs" : false, "watch" : false, "max_restarts" : 10, "exec_interpreter" : "none", "exec_mode" : "fork_mode" } ]
将上面的代码保存为 processesForParity.json (注意选择utf-8,否则不能再星火节点上显示中文名称)
10. 配置windows防火墙 允许geth和parity通过防火墙 ![](http://upyun-assets.ethfans.org/uploads/photo/image/92dc7bee4cec4eb1bfae1a176ed0a4f0.png) 注意这里的geth.exe 和parity.exe 是位于 "C:Usersethfans"下面的那两个文件 11. 到这里全部完成了 如果你要启动geth节点: pm2 start processesForGeth.json 如果要启动parity节点: pm2 kill pm2 start processesForParity.json pm2 status 查看一下是否两个进程都正确启动了
本文来自以太坊爱好者
网友评论