用 NEO 节点搭建私有链
本教程将教你如何建立一个带有NEO节点的私有链,以及如何从你自己的私有链中提取NEO和NeoGas。NEO私有链的部署需要至少4台服务器达成共识,每台服务器对应一个共识节点,每台服务器都有一个NEO钱包文件。
配置虚拟机
neo私有链的部署需要至少4台服务器达成共识,每台服务器对应一个共识节点。为了演示,我在Azure上创建了4个Windows虚拟机,大小为标准的DS1 v2 (1个内核,3.5 GB内存)。您还可以在局域网或虚拟机中部署专用链。
蓑衣网小编2022
创建后,应该会打开端口10331-10334。具体方法是在系统的
高级防火墙设置入站规则
中新建一条规则,然后添加端口10331-10334。注意:如果您在云服务器上创建虚拟机,您必须登录到虚拟机的管理后台。设置网络安全组Azure的设置方法是:网络入站端口规则添加端口10331-10334。创建虚拟机后,保存四个虚拟机的IP地址以备后用。安装NEO节点请参考NEO 的安装和部署来安装NEO节点。安装插件要使节点达成共识,需要安装SimplePolicy插件来启用共识策略。具体请参考安装插件。创建钱包我们首先创建四个钱包文件,依次是1.json-4.json。此步骤可在PC版wallet和命令行wallet中创建。下图是在命令行客户端创建wallet文件的截图。创建钱包后,保存4个钱包的公钥(只需保存在一个txt文件中)以备后用。直接复制上述公钥或使用CLI命令中的list key命令检查公钥,然后复制。然后将这四个钱包复制到四台虚拟机的节点目录中。
修改节点的配置文件打开节点的配置文件protocol.json。首先,修改Magic值,该值用于标识消息的源网络,并指定不同的Magic,以确保近地天体区块链中的不同网络信息在传输过程中不会被发送到其他网络。NOTEMagic的类型是uint,所以注意要填写的数值应该在[0-4294967295]的范围内。然后修改StandbyValidators,并在这里填入步骤3中记录的四个公钥。最后修改SeedList,在这里填写第一步记录的IP地址,保持端口号不变。例如,我将其修改为以下配置。{ ' protocol configuration '{ ' Magic '123456,' AddressVersion' 23,' SecondsPerBlock' 15,' stand by validators '[' 03072384 ECE 95 C4 febe 7211 ee 4833 CD 36 CDF 0f 0f 255 EC 5263 b 28 a4 be 1 F2 af 7 a3 D7 f 3 '' 0208 da 33 ce 651 a4 DC 119654 b 5b 8067 ade 533 e 39 e 63 A8 B4 建议修改每个节点下的config.json文件,替换掉这部分' unlock wallet '{ ' path '' 1 . JSON '' password'' 1111111 '' startconsensus' true,IsActive' true}其中Path是钱包名称,password是钱包密码。 修改成自己的钱包名和密码就行了,其他两个保持不变。然后在四个虚拟机上依次输入以下命令启动节点,然后程序会自动打开钱包,打开共识。启动节点:neo-cli.dll点网。如果上述操作成功,您可以运行show state来检查节点状态。如果身高有变化,共识过程正常。 四个节点的共识过程如图
四个节点即使关闭一个仍然可以达成共识,如图
提取NEO,NeoGas
安装PC客户端(Neo-GUI),修改配置文件protocol.json将其连接到私有链。打开钱包。如果左下角的连接数不为零,并且块一直在同步,则表示客户端已经成功连接到私有链。在PC客户端打开钱包wallet1.db3,添加多方签名地址,在protocol.json中输入4个公钥,将签名的最小个数设置为3(共识节点数/2 ^ 1),会看到契约地址中有1亿个neo,如图。
注意4钱包必须添加多方签名地址,否则下一步会提示签名失败。接下来我们将NEO从合同地址转到标准地址,打开四个钱包中的任意一个,点击
交易转账 进入一个标准地址,转账1亿元。然后系统会提示“交易结构完整,但签名不够”,然后复制代码,打开第二个钱包,点击
交易签名
粘贴刚刚复制的代码,点击签名,然后复制代码,打开第三个钱包,点击
点击签名,然后你会在窗口发现一个广播按钮,表示交易已经签名(多方签名要求的最小签名数点击
广播
后提取NEOGas的操作方法类似。
点击高级提取
NeoGas提取,(记住此时你所在的钱包X,后面会用到),如图
接下来的操作类似于传送Neo,不会有足够的签名。点击
交易签名粘贴刚刚复制的代码,点击签名,然后复制代码,打开第三个钱包,点击
交易签名蓑衣网小编2022
粘贴刚刚复制的代码,提取成功后点击
,NeoGas会输入您发起提取NeoGas的钱包的第一个标准地址(即最上面的X钱包),如图