区块广播:
· BM:6月将会有新消息影响EOS,并将是自EOSIO面市以来的最大的新闻
· 调查显示:社区普遍认为只有当关键协议出现漏洞、或受到威胁时才应该实施硬分叉
· 花旗银行近日在招聘区块链及加密货币领域相关职位
· 央财教授邓建鹏:区块链的投资风险与国际监管势在必行
· 中国人民大学宋华:仅仅依靠云计算或区块链等单独一项技术,不可能解决供应链金融的效率问题
· BM:ETH拥有更多的开发者是因为最初的方案设计过于复杂
· “末日博士”Nouriel Roubini:区块链与贪婪有关,加密货币导致财富集中
· 数据显示:市场流量缓慢回升,BTC交易量虽连续3日萎缩
· 应用程序Bitcoinmap.cash可列出支持BCH支付的商家位置
· 香港联交所认为环球通证的区块链业务与现有业务无关等,有必要暂停其股份买卖
· 美国CFTC前主席:虚拟货币应由政府制定法规加以规范
· 推特对账号@Bitcoin的限制陷入争议
· 台湾“国发会”主委:产业需要区块链等科技导入
· 伊朗或将在旅游业内推广整合加密货币
· 巴比特早班车 | 隔夜要闻一览
· 加密货币分析师Joseph Young:BTC将会和央行共存
· 建设银行副行长:中国在区块链等应用方面成果在国内外市场都有充分的竞争力
· Morgan Creek创始人:比特币永远不会停机
· 中国市场学会理事教授:保险成为区块链最理想的落地场景之一
· 前高盛合伙人:BTC市值在未来20年内轻松超过黄金
· BM:6月将会有新消息影响EOS,并将是自EOSIO面市以来的最大的新闻
· 调查显示:社区普遍认为只有当关键协议出现漏洞、或受到威胁时才应该实施硬分叉
· 花旗银行近日在招聘区块链及加密货币领域相关职位
· 央财教授邓建鹏:区块链的投资风险与国际监管势在必行
· 中国人民大学宋华:仅仅依靠云计算或区块链等单独一项技术,不可能解决供应链金融的效率问题
· BM:ETH拥有更多的开发者是因为最初的方案设计过于复杂
· “末日博士”Nouriel Roubini:区块链与贪婪有关,加密货币导致财富集中
· 数据显示:市场流量缓慢回升,BTC交易量虽连续3日萎缩
· 应用程序Bitcoinmap.cash可列出支持BCH支付的商家位置
· 香港联交所认为环球通证的区块链业务与现有业务无关等,有必要暂停其股份买卖
· 美国CFTC前主席:虚拟货币应由政府制定法规加以规范
· 推特对账号@Bitcoin的限制陷入争议
· 台湾“国发会”主委:产业需要区块链等科技导入
· 伊朗或将在旅游业内推广整合加密货币
· 巴比特早班车 | 隔夜要闻一览
· 加密货币分析师Joseph Young:BTC将会和央行共存
· 建设银行副行长:中国在区块链等应用方面成果在国内外市场都有充分的竞争力
· Morgan Creek创始人:比特币永远不会停机
· 中国市场学会理事教授:保险成为区块链最理想的落地场景之一
· 前高盛合伙人:BTC市值在未来20年内轻松超过黄金
· BM:6月将会有新消息影响EOS,并将是自EOSIO面市以来的最大的新闻
· 调查显示:社区普遍认为只有当关键协议出现漏洞、或受到威胁时才应该实施硬分叉
· 花旗银行近日在招聘区块链及加密货币领域相关职位
· 央财教授邓建鹏:区块链的投资风险与国际监管势在必行
· 中国人民大学宋华:仅仅依靠云计算或区块链等单独一项技术,不可能解决供应链金融的效率问题
· BM:ETH拥有更多的开发者是因为最初的方案设计过于复杂
· “末日博士”Nouriel Roubini:区块链与贪婪有关,加密货币导致财富集中
· 数据显示:市场流量缓慢回升,BTC交易量虽连续3日萎缩
· 应用程序Bitcoinmap.cash可列出支持BCH支付的商家位置
· 香港联交所认为环球通证的区块链业务与现有业务无关等,有必要暂停其股份买卖
· 美国CFTC前主席:虚拟货币应由政府制定法规加以规范
· 推特对账号@Bitcoin的限制陷入争议
· 台湾“国发会”主委:产业需要区块链等科技导入
· 伊朗或将在旅游业内推广整合加密货币
· 巴比特早班车 | 隔夜要闻一览
· 加密货币分析师Joseph Young:BTC将会和央行共存
· 建设银行副行长:中国在区块链等应用方面成果在国内外市场都有充分的竞争力
· Morgan Creek创始人:比特币永远不会停机
· 中国市场学会理事教授:保险成为区块链最理想的落地场景之一
· 前高盛合伙人:BTC市值在未来20年内轻松超过黄金

Linux 环境搭建 NEO-CLI 2.9 私链

39acd4af77水手发布在 技术文档
 831  0

NEO 2.9 将 ApplicationLogs 等改为插件机制了,较以前的版本有较大改动,搭建私链时也有部分变化,这里就来详细介绍一下 2.9 的私链搭建过程。本次使用 CentOS 系统。

1、准备四台 Linux 环境、我这里用的是腾讯云的四台服务器、配置:CentOS7.4 系统 2 核 4G 内存 40G 硬盘 1M 带宽。
2、安装 dotnet core,使用命令:

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo yum update
sudo yum install dotnet-sdk-2.1

3、其他必要的依赖:

安装 sqlite:

sudo yum install sqlite-devel

安装 leveldb:

sudo yum install leveldb-devel

安装 libunwind:

sudo yum install libunwind-devel

4、下载 neo-cli:

sudo wget https://github.com/neo-project/neo-cli/releases/download/v2.9.0/neo-cli-linux-x64.zip

解压:

 sudo unzip neo-cli-linux-x64.zip

5、下载插件:

进入Plugins目录:

cd neo-cli/Plugins

下载 ApplicationLogs:

sudo wget https://github.com/neo-project/neo-plugins/releases/download/v2.9.0/ApplicationLogs.zip

下载 SimplePolicy.zip:

sudo wget https://github.com/neo-project/neo-plugins/releases/download/v2.9.0/SimplePolicy.zip

下载 StatesDumper.zip:

sudo wget https://github.com/neo-project/neo-plugins/releases/download/v2.9.0/StatesDumper.zip

6、解压插件到 Plugins 目录下:

sudo unzip ApplicationLogs.zip -d ..
sudo unzip SimplePolicy.zip -d ..
sudo unzip StatesDumper.zip -d ..

解压完成后删除 Plugins 下的压缩文件,不删也可以、反正留着没用了。

rm -f ApplicationLogs.zip SimplePolicy.zip StatesDumper.zip

7、使用 neo-cli 创建四个钱包文件 使用 PC 版钱包或其他 neo-cli 命令行钱包创建均可:

create wallet 1.json
password: ***    
password: ***    
address: AP3jypBzSmwWVy7QaaTUctBLpuMe9CoNDq    
pubkey:030add17e36aa72949cdeb3486021ff7bb621541af6680b1d7e2aaa6d991163a87

create wallet 2.json    
password: ***    
password: ***    
address: AVhFga7Angfmtb1zQXEgau8Pkh1zr6ZbdN    
pubkey:0331089290e5886d9fcf52f29d51d8a9f705bbdbe59b0dba8212611d771d127367

create wallet 3.json    
password: ***    
password: ***    
address: AU1r8zrqmNynqtpWMwZnBTWksp5fuKvyaA    
pubkey:021e67f86471a35ba4e0362e7eb246da28f7059298d768bc71e7de9cd908231591

create wallet 4.json    
password: ***    
password: ***    
address: APRyAAXy1y6upwjs4ijv6efts8PcnG5uWd    
pubkey:02fca1085da410796d7f3279660f52a92d216680060f1710c37f76e248f506cb91

创建好钱包后将 4 个钱包的公钥保存下来(保存到一个 txt 文件中即可)以备后用。直接复制上面的公钥或者用 CLI 命令 中的 list key 命令查看公钥再复制均可。
创建好的钱包 json 文件在 neo-cli 目录下 分别为 1.json,2.json,3.json,4.json

8、将 4 个钱包文件分别复制到 4 个节点的 neo-cli 目录下,这里要复制生成的 1.json 钱包源文件进去,如果只是新建 1.json 再复制内容的话会打开钱包失败。

9、修改节点配置文件:

在本地编辑好一份配置文件 protocol.json 。

首先修改 Magic 值,Magic 用于识别消息的来源网络,指定不同的 Magic 确保 NEO 区块链中的不同网络信息在传输过程中不会发送到其它网络。
Magic 的类型为 uint,所以注意所填写的数值要在 [0 - 4294967295] 区间内。

然后修改 StandbyValidators,将第三步记下来的 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,

"IssueTransaction": 5,

"PublishTransaction": 5,

"RegisterTransaction": 100

}
}}

10、将修改过的 protocol.json 复制到 4 个节点的客户端目录下,替换之前的 protocol.json 的文件。
这一步可以先删除每个节点的 protocol.json 文件,再创建、复制内容进去

为了更方便地打开钱包,开启共识,建议修改每个节点下的 config.json 文件,将 UnlockWallet 配置改为如下:
使用 vi 编辑每个节点的 config.json 文件:

  vi config.json
  
"UnlockWallet": {

"Path": "1.json",

"Password": "11111111",

"StartConsensus": true,

"IsActive": true

}

其中 Path 是钱包名称,Password 是钱包密码,修改成你自己的钱包名称和密码就可以,其余两个不变。然后在 4 台虚拟机上依次输入以下命令启动节点,这时程序会自动打开钱包并开启共识。

最后开启节点开始共识:
使用命令开启节点:dotnet neo-cli.dll

节点会自动开始共识:

show state 查看共识状态如下,说明私链搭建成功

提取NEO

安装 PC 版客户端(Neo-GUI),修改配置文件 protocol.json 与 4 个节点的配置文件相同,使其连接到私有链中。

打开钱包,如果左下角有连接数不为零,而且一直在同步区块,表示该客户端已经成功地连接到了私有链中。

在 PC 版客户端中打开钱包 1.json,添加多方签名地址,输入 protocol.json 中的 4 个公钥,设置最小签名数量为 3(共识节点数量 / 2 + 1),你就会看到在合约地址中有 1 亿的 NEO 了,分别打开 4 个钱包文件,进行同样的签名操作。

打开钱包 1.json,点击 交易 转账 输入一个标准地址,将 1 亿 NEO 转到这个地址中。

然后系统会提示“交易构造完成,但没有足够的签名”,然后将代码复制下来,打开第二个钱包,点击 交易 签名粘贴刚才复制的代码,点击 签名, 然后将代码复制下来,打开第三个钱包,点击 交易 签名 粘贴刚才复制的代码,点击 签名,这时你会发现窗口中出现了一个 广播 按钮,代表交易已经签名完成(达到多方签名合约要求的最少签名数量)可以广播,点击 广播 后转账交易开始广播,约 15 秒后转账成功。

大功告成,拥有了自己的链,还有 1 亿 NEO,可以愉快地玩耍了。

提取 GAS

在 NEO-GUI 中打开四个节点钱包中的任意一个,点击 高级 提取 NeoGas 提取,接下来的操作与转账 NEO 类似,将没有足够的签名的代码复制下来,打开第二个钱包,点击 交易 签名 粘贴刚才复制的代码,点击 签名, 然后将代码复制下来,打开第三个钱包,点击 交易 签名 粘贴刚才复制的代码,点击 签名,点击 广播 后提取 NeoGas 的交易开始广播,约 15 秒后提取成功。

本主题由 Linkea 于 2018-10-15 00:02:23 移动
  • 正序
  • 最新
帖子暂无回复,回帖抢沙发
登录 账号发表你的看法,还没有账号?立即免费 注册
推荐节点 更多
热帖榜 本周最热本月最热