用NEO节点搭建私有链的方法步骤。
1.配置虚拟机
NEO 私有链的部署至少需要 4 台服务器才能取得共识,每台服务器对应一个共识节点。
我使用的是VMware workstation,在本地搭建了4台Windows 10系统的虚拟机。
1)安装VMware workstation,并创建虚拟机
VMware workstation下载链接:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
Windows 10系统镜像文件下载:http://www.w10zj.com/Win10down/Win1064_178.html
下载安装VMware workstation并新建虚拟机,安装win10系统,在此不再赘述如何安装虚拟机系统,可以百度其他教程。共需构建4个虚拟机。
提示:可以安装好一个win10系统之后,右键点击虚拟机,选择克隆出其他的三个虚拟机。如图所示:
右键系统--管理--克隆2)配置虚拟机
虚拟机安装好之后,需要对其进行设置。每个虚拟机的操作都是一样的。
a.设置虚拟机网络
在VMware workstation的工具栏,点击编辑--虚拟网络编辑器。
虚拟网络编辑器点击NAT设置,配置好网关并点击确定保存。
b.开放端口
开放系统的端口:10331-10334。
开放方法:
高级安全防火墙在系统中找到高级安全防火墙,打开后右击入站规则,选择端口,下一步,特定本地端口输入10331-10334,一直下一步,输入有意义的名称,点击保存。
c.取消虚拟机禁ping规则
还是在防火墙入站规则里,找到虚拟机监控(回显请求-ICMPv4-In),右键这个规则并启用规则。
d.查找本机IP
在powershell或cmd中,输入ipconfig,记录下每个虚拟机的IP地址,后面会用到。
2.安装NEO节点
在安装NEO节点前,需要确保已安装.net core。我建议安装.net时选择同时安装好visual studio和.net,即Download .NET and Visual Studio。
.net core安装链接:https://www.microsoft.com/net/learn/get-started-with-dotnet-tutorial
每台虚拟机上,都需要下载NEO节点:NEO CLI
NEO CLI下载链接:https://github.com/neo-project/neo-cli/releases
安装好.net core并下载好NEO CLI之后,在命令行中,切换到neo cli所在目录运行以下命令:
dotnet neo-cli.dll
运行成功即表示安装节点成功。
3.创建钱包
在物理机上,注意不是虚拟机,同样安装好NEO CLI,运行命令:
dotnet neo-cli.dll
在命令行下,运行以下命令创建钱包4个钱包:
create walletcreate wallet wallet1.db3
创建好钱包之后,把pubkey保存下来,后面会用到。
然后,分别将每个钱包在neo-cli目录下生成的文件,复制到每个虚拟机的neo-cli目录下。例如:wallet1.db3复制到第一个虚拟机neo-cli的同样位置下,wallet2.db3复制到第二个虚拟机下,以此类推。
4.修改节点的protocal.json文件
在每个虚拟机下,打开节点的配置文件:protocal.json。
修改StandbyValidators,将刚刚在物理机上生成的4个钱包的公钥,填写在这个字段位置。
修改SeedList,将配置虚拟机时获得的4个虚拟机的IP地址填写在这个字段的位置,端口号保持不变,仍然为10333。
例如,我的配置修改为如下:
protocal.json注意,四个虚拟机的Magic字段一定要保持一致。
5.启动节点
每个虚拟机,都执行同样的命令:
dotnet neo-cli.dll
open wallet wallet1.db3
//注意,每个虚拟机打开对应的钱包,例如虚拟机1打开wallet1,虚拟机2打开wallet2
start consensus
如果上述操作成功,可以运行show state来查看节点状态,若高度发生变化,说明共识过程正常,私有链搭建成功。
6.添加多方签名
在物理机上安装PC版客户端(Neo-GUI),修改配置文件 protocol.json 使其连接到私有链中,物理机上的protocol.json文件要和虚拟机上的文件内容一模一样。
打开钱包(neo-gui.exe),如果左下角有连接数不为零,而且一直在同步区块,表示该客户端已经成功地连接到了私有链中。
连接数不为0即可在 PC 版客户端中打开钱包 wallet1.db3,右键钱包,创建合约地址,选择多方签名,添加 protocol.json 中的 4 个公钥,设置最小签名数量为 3(共识节点数量 / 2 + 1),如图所示。
添加多方签名确定,然后需要重建钱包索引,在菜单栏中点击 钱包->重建钱包索引 然后就会看到在合约地址中有 1 亿的 NEO 了。
一亿NEO入账注意,四个钱包都需要进行上述操作。
7.提取NEO和NeoGas
四个钱包的多方签名都添加完成之后,重新打开wallet1.db3,点击菜单栏中的交易->转账,输入wallet1的address,此时系统会提示“交易构造完成,但没有足够的签名”,但是会生成一段代码,把代码复制下来。
在NEO-GUI中打开wallet2.db3,点击交易->签名,把刚刚复制的代码粘贴到这里,点击签名,再把生成的签名复制下来;然后再打开wallet3.db3,还是点击交易->签名,再把复制的代码放进去,点击签名。
这时,会发现,窗口下面出现了广播按钮,点击广播,大约15秒左右,交易完成。重新打开wallet1.db3,会发现NEO已经到账。
提取NEOGas的步骤和提取NEO的步骤差不多。点击高级->提取NeoGas,全部提取。
网友评论