用 NEO 节点搭建私有链

2018-11-06 20:36 栏目:经验之谈 来源: 查看()
本教程将教您如何使用NEO节点构建专用链以及如何从您自己的专用链中提取NEO和NeoGas。 NEO私有链部署需要至少4台服务器才能达成共识。每个服务器对应一个共识节点,每个服务器都有一个NEO钱包文件。

配置虚拟机

NEO专用链部署需要至少4台服务器才能达成共识,每台服务器对应一个共识节点。为了演示,我在Azure上创建了四个Windows虚拟机,大小为标准DS1 v2(1核,3.5 GB RAM),您还可以在LAN或虚拟机上部署专用链。

用 NEO 节点搭建私有链

创建后,通过在系统的防火墙高级设置入站规则中创建新规则并添加端口10331-10334来打开端口10331-10334。

注意
如果在云服务器上创建虚拟机并登录到虚拟机的管理后台,请将Azure上的网络安全组设置为:网络入站端口规则添加端口10331-10334。

创建虚拟机后,保存四个虚拟机的IP地址供以后使用。

安装NEO节点

请参阅NEO节点的安装和部署以安装NEO节点。

安装插件

为了使节点达成共识,您需要安装SimplePolicy插件以启用共识策略。有关详细信息,请参阅安装插件。

创建一个钱包

我们首先创建4个钱包文件,即1.json - 4.json。可以在钱包的PC版本和命令行钱包中创建此步骤。下图是在命令行客户端上创建的钱包文件的屏幕截图。

用 NEO 节点搭建私有链

创建钱包后,保存4个钱包的公钥(将它们保存在txt文件中)供以后使用。直接复制上述公钥或使用CLI命令中的list key命令查看公钥并进行复制。

然后将4个钱包复制到4个虚拟机的节点目录中。

修改节点的配置文件

打开节点的配置文件protocol.json。

首先修改Magic值。 Magic用于标识消息的源网络。指定不同的Magic可确保在传输过程中不会将NEO区块链中的不同网络信息发送到其他网络。

注意
Magic的类型为uint,因此请注意您填写的值在[0 - 4294967295]范围内。

然后修改StandbyValidators并填写您在步骤3中记下的4个公钥。

最后修改SeedList,填写此处第一步记录的IP地址,端口号保持不变,例如,我修改为以下配置。

{  'ProtocolConfiguration': {   'Magic': 123456,
  'AddressVersion': 23,
  'SecondsPerBlock': 15,
  'StandbyValidators': [
   '03072384ece95c4febe7211ee4833cd36cdf0f255ec5263b28a4be1f2af7a3d7f3',
   '0208da33cee651a4dc119654b5b8067ade533e39e63a8b4fdbd160d97f80c4cfb4',
   '026f0af815d5c3895205e9f54b9402329f3ecc4d249fc0c8500e9b3ea8a3ec9d5b',
   '03b4e070988627e2a5710b2c8c79f0f0be18821e1af5875b7beeb3fa8a921cde3f'
  ],
  'SeedList': [
    '13 .75.112.62: 10333',
   '137.116.173.200: 10333',
   '168.63.206.73: 10333',
   '137.116.171.134: 10333'
  ],
  'SystemFee': {    'EnrollmentTransaction': 10,
   'DateTransaction': 5,
   'PublishTransaction': 5,
   'RegisterTransaction': 100
  }
 }
}

最后,将修改后的protocol.json复制到4个节点的客户端目录中,并替换先前protocol.json的文件。

为了更方便地打开钱包,打开共识,建议修改每个节点下的config.json文件来替换这部分

'UnlockWallet': {  '路径':'1.json',
 '密码':'11111111',
 'StartConsensus':是的,
 'IsActive':是真的
}

其中Path是钱包的名称,Password是钱包密码,您可以将其更改为您自己的钱包名称和密码,其他两个不变。

然后在四个虚拟机上输入以下命令启动节点,程序将自动打开钱包并打开共识。

启动节点:dotnet neo-cli.dll

如果上述操作成功,则可以运行show state来检查节点状态。如果高度发生变化,则共识过程是正常的。 4个节点的共识过程如图所示

用 NEO 节点搭建私有链

即使有一个节点关闭,4个节点仍然可以达成共识,如图

所示

用 NEO 节点搭建私有链


提取NEO,NeoGas

安装PC客户端(Neo-GUI)并修改配置文件protocol.json以连接到专用链。

打开钱包,如果左下角的连接数不为零,并且它始终位于同步块中,则表示客户端已成功连接到专用链。

在PC版客户端打开钱包wallet1.db3,添加多方签名地址,在protocol.json中输入4个公钥,将最小签名数设置为3(共识节点数/2 + 1) ,您将看到合同地址中有1亿个NEO,如图所示。

用 NEO 节点搭建私有链

用 NEO 节点搭建私有链

注意
4个钱包必须添加多方签名地址,否则下一步将提示签名失败

接下来,我们将NEO从合同地址转移到标准地址,打开4个钱包中的任何一个,单击交易转移输入标准地址,并将1亿NEO转移到此地址。

然后系统会提示“交易完成,但签名不够”,然后复制代码,打开第二个钱包,点击交易签名,粘贴刚复制的代码,点击签名,然后复制代码,打开第三个钱包,点击交易签名粘贴你刚复制的代码,点击签名,然后你会在窗口中找到一个广播按钮,表明交易已经签署(达到目的所需的最小签名数量)多方签约合同)可以广播,点击广播然后转移交易开始广播,转移成功约15秒后。

用 NEO 节点搭建私有链

提取NeoGas的方法类似。单击“高级”以提取NeoGas提取,(记住下面将使用的钱包X),如图所示

用 NEO 节点搭建私有链

下一步操作类似于转移NEO。复制代码没有足够的签名,打开第二个钱包,单击事务签名粘贴刚复制的代码,单击签名,然后复制代码,打开第三个钱包,单击事务签名粘贴刚刚复制的代码,单击签名,点击广播并提取NeoGas交易以开始广播,并在大约15秒后提取成功。

提取成功后,NeoGas将进入钱包的第一个标准地址,你开始提取NeoGas(即上面的X钱包),如图所示

用 NEO 节点搭建私有链

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发