从零构建基于以太坊(Ethereum)钱包Parity联盟链

昕阳小编 187 0

公司内网或无对外网络,无法同步区块降低测试时等待区块的时间不想碰到testrpc各种雷有别于工作证明需要解数学难题来产生块,PoA是依靠预设好的权威节点,负责产生街区。可依照需求设定权威节点数量。可指定产生街区的时间,例如收到交易的5秒后产生街区。一般的以太坊节点也可以连接到胰癌胚抗原链,正常发起交易、合同等十.大纲一、奇偶校验钱包下载安装之前的教程中我们讲解了下雾钱包、MetaMask、myetherwallet钱包,这篇教程中,我们系统介绍一下平价钱包的使用,为下一篇文章中联盟链搭建做铺垫

奇偶性钱包下载安装https://平价。io。

从零构建基于以太坊(Ethereum)钱包Parity联盟链-第1张图片-昕阳网如官网所示,与以太坊区块链奇偶校验交互的最快、最安全的方式是最快最安全的钱包

打开官网,我们看到有三种安装方式,第一种,直接下载安装,第二种,酿造安装,第三种,码头工人安装

在我们案例中,我们通过啤酒来进行安装1、获取家酿

/usr/bin/ruby-e ' $(curl-fsSL https://raw。githubusercontent。com/home brew/install/master/install)'

2、为您的家酿"小桶"列表添加奇偶校验

brew tap奇偶校验技术/奇偶校验技术稳定版啤酒安装奇偶校验稳定最新版啤酒安装奇偶校验最新开发版啤酒安装奇偶校验-主更新最新版本啤酒更新啤酒升级奇偶校验

酿造重新安装奇偶校验淳:~岳元平价-版平价版本奇偶校验/v 1。8 .2-beta-1b 6588 c-2017 10 25/x86 _ 64-MAC OS/rust C1。21 .0版权所有2015、2016、2017奇偶技术(英国)有限公司许可GPLv3:GNU GPL版本3或更高版本。这是自由软件:你可以自由地修改和重新发布它。在法律允许的范围内,不提供任何担保。由伍德/帕龙扬/科特维奇/Drwi?ga/Volf Haber Meier/cza ban/gree ff/Gotchac/Redmannliyuechun:~ yue chunli $

二、设置链规格

在我们这篇文章中,我们在同一台电脑设置两个节点,跟我们讲解以太坊私网建立(2) 同一台电脑/不同电脑运行多个节点时,如果在同一台电脑设置两个节点,需要将rpcport和港口设置为不同的值,否则就会发生冲突,POA链中也是一样,需要将一些参数设置为不同的值。x]-d:指定存储资料与账号的目录-端口:指定平价的网络端口,可用来让其他结节连接- jsonrpc-port:这是JSON RPC端口,使用web3.js时会需要用户界面端口:奇偶校验提供的基于网的用户界面端口

可以用下列指令启动奇偶校验节点。

奇偶校验链演示规格。JSON-d奇偶校验0-端口30300-ui-端口8180-JSON rpc-端口8540-JSON RPC-API web 3,eth,net,personal,parity,parity_set,traces,RPC,parity_accounts

除了打一长串的指令外,奇偶校验也提供更为简洁的配置档案设定方式,使用?-配置?即可引用配置文件。node0?使用如下配置文件?节点0。汤姆:[奇偶]链='演示规格。JSON ' base _ path=' parity 0 '[network]port=30300[rpc]port=8540 API=[' web 3 '' eth '' net '' personal '' parity '' parity_set '' traces '' RPC '' parity _ accounts '][ui]port=8180[web sockets]port=8456 node 1?使用如下配置文件?节点1。汤姆:[奇偶]链='演示规格。JSON ' base _ path=' parity 1 '[network]port=30301[rpc]port=8541 API=[' web 3 '' eth '' net '' personal '' parity '' parity_set '' traces '' RPC '' parity _ accounts '][ui]port=8181[web sockets]port=8457

我们总共需要设置三个账号,两个权威和一个用户账号

第一步:首先启动node0?奇偶校验配置节点0.toml

打开网页http://本地主机:8180,按照步骤创建一个用户账号

从零构建基于以太坊(Ethereum)钱包Parity联盟链-第2张图片-昕阳网

从零构建基于以太坊(Ethereum)钱包Parity联盟链-第3张图片-昕阳网新增权限帐户,使用恢复功能,为了示范一致性,我们使用?node0?当作?通行短语。从零构建基于以太坊(Ethereum)钱包Parity联盟链-第4张图片-昕阳网从零构建基于以太坊(Ethereum)钱包Parity联盟链-第5张图片-昕阳网从零构建基于以太坊(Ethereum)钱包Parity联盟链-第6张图片-昕阳网从零构建基于以太坊(Ethereum)钱包Parity联盟链-第7张图片-昕阳网从零构建基于以太坊(Ethereum)钱包Parity联盟链-第8张图片-昕阳网

到目前为止我们已经完成节点0的账号设置。x权限账号:0x 00bd 138 Abd 70 e 2 f 00903268 F3 db 08 f2d 25677 c 9 euser账号:0x 0064 b 0999 c 0142 ee 99 ab 0 CEC 054 Bab 53 Fe 0 a 3 ECC

第二步:设置节点一的账号,启动奇偶校验配置节点1.toml。步骤相同,连接到?http://localhost:8181?通行短语使用?节点1 .从零构建基于以太坊(Ethereum)钱包Parity联盟链-第9张图片-昕阳网从零构建基于以太坊(Ethereum)钱包Parity联盟链-第10张图片-昕阳网从零构建基于以太坊(Ethereum)钱包Parity联盟链-第11张图片-昕阳网

这样就完成了节点一的账号设置。x]权威账号:0x 00 F9 b 30838 ca 40 c8 a53 c 672840 acbdec 6 fcdb 180

第三步:将授权帐户写入演示规范。json文件从零构建基于以太坊(Ethereum)钱包Parity联盟链-第12张图片-昕阳网'验证器'{ ' list '['0x 00 F9 b 30838 ca 40 c8 a 53 c 672840 acbdec 6 fcdb 180 ''0x 00 BD 138 Abd 70 e2f 00903268 F3 db 08 f2d 25677 c 9 e ']}

再将用户帐户加入账户,並给一些平衡,后续可以使用。x '0x 0064 b 0999 c 0142 ee 99 ab 0 CEC 054 Bab 53 Fe 0 a 3 ECC '{ ' balance '' 1000000000000 ' }

完成后的演示规范。json如下:从零构建基于以太坊(Ethereum)钱包Parity联盟链-第13张图片-昕阳网{ 'name' 'DemoPoA '' engine '{ ' authority round '{ ' params '' 5 '' validators '{ ' list '['0x 00 F9 b 30838 ca 40 c8 a 53 c 672840 acbdec 6 fcdb 180 ''0x 00 BD 138 Abd 70 e 2 f 00903268 F3 db 08 f2d 25677 c 9 e ']} },' params的000000" } }, "difficulty": "0x20000", "gasLimit": "0x5B8D80" }, "accounts": { "0x0000000000000000000000000000000000000001": 尚力财经小编2022 { "balance": "1", "builtin": { "name": "ecrecover", "pricing": { "linear": { "base": 3000, "word": 0 } } } }, "0x0000000000000000000000000000000000000002": { "balance": "1", "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } 尚力财经小编2022 }, "0x0000000000000000000000000000000000000003": { "balance": "1", "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } }, "0x0064B0999c0142eE99aB0ceC054BAb53fe0a3EcC": { "balance": "10000000000000000000000" }, "0x0000000000000000000000000000000000000004": { "balance": "1", "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } } }}

五、启动Authority node

为了启动Authority node来产生区块,我们必须设定负责产生block的signer,分別是?node0?和?node1 account。1、第一步,创建一个node.pwds文件,写入node0与node1的password,内容如下:

node0node1

2、第二步,在node0.toml文件中加入[account]及[mining]设置,如下:

[parity]chain = "demo-spec.json"base_path = "parity0"[network]port = 30300[rpc]port = 8540apis = ["web3", "eth", "net", "personal", "parity", "parity_set", "traces", "rpc", "parity_accounts"][ui]port = 8180[account]password = ["node.pwds"][mining]engine_signer = "0x00Bd138aBD70e2F00903268F3Db08f2D25677C9e"reseal_on_txs = "none"

3、第三步,在node1.toml文件中加入[account]及[mining]设置,如下:4、第四步,Step 4 分別启动两个node

parity --config node0.tomlparity --config node1.toml

六、连接两个节点使用Postman透过JSON RPC来测试。1、第一步,Post下列JSON数据至?http://localhost:8540?以取得 node0 的enode资料{ "jsonrpc": "2.0", "result": "enode://cfb3af513da3a7a8138450f0dc01fa38cb2ac837744dc645038940287f4dce3f416f0e7e17fd10619a263c360d9324fd2dcd8753c4500fcc54cf84e076b39cd6@192.168.10.101:30300", "id": 0}

"enode://cfb3af513da3a7a8138450f0dc01fa38cb2ac837744dc645038940287f4dce3f416f0e7e17fd10619a263c360d9324fd2dcd8753c4500fcc54cf84e076b39cd6@192.168.10.101:30300"是node0的标识。下一步中我们将将它加入到node1中以实现两个节点之间的连接。

{ "jsonrpc":"2.0", "method":"parity_addReservedPeer", "params":["enode://cfb3af513da3a7a8138450f0dc01fa38cb2ac837744dc645038940287f4dce3f416f0e7e17fd10619a263c360d9324fd2dcd8753c4500fcc54cf84e076b39cd6@192.168.10.101:30300"], "id":0}

从零构建基于以太坊(Ethereum)钱包Parity联盟链-第14张图片-昕阳网

返回的数据如下,result为true,说明连接成功:

{ "jsonrpc": "2.0", "result": true, "id": 0}

再切换到node1的终端,会看到接下来的数据:

1/25 peers 13 KiB chain 11 KiB db 0 bytes queue 10 KiB sync RPC: 0 conn, 0 req/s, 24 μs

从零构建基于以太坊(Ethereum)钱包Parity联盟链-第15张图片-昕阳网如上图所示,表示连接成功。

七、发送交易

在我们这个案例中,我们一个创建了三个账号,一个用户账号,两个POA账号,刚开始的时候我们为用户账号初始化了10000 ETH。如下图所示,账号与账号之间可以相互转账。

从零构建基于以太坊(Ethereum)钱包Parity联盟链-第16张图片-昕阳网

八、分享给其他节点

在开发时通常会将node跑在server上,让其他人可以通过JSON RPC port连接上去使用,此时只要在config文件里面加入?[interface]?设置即可。从零构建基于以太坊(Ethereum)钱包Parity联盟链-第17张图片-昕阳网从零构建基于以太坊(Ethereum)钱包Parity联盟链-第18张图片-昕阳网假设server ip为192.168.1.5,将?node0.toml?修改如下:从零构建基于以太坊(Ethereum)钱包Parity联盟链-第19张图片-昕阳网[parity]chain = "demo-spec.json"base_path = "parity0"[network]port = 30300[rpc]port = 8540apis = ["web3", "eth", "net", "personal", "parity", "parity_set", "traces", "rpc", "parity_accounts"]interface = "192.168.1.5"[ui]port = 8180[account]password = ["node.pwds"][mining]engine_signer = "0x00Bd138aBD70e2F00903268F3Db08f2D25677C9e"reseal_on_txs = "none"从零构建基于以太坊(Ethereum)钱包Parity联盟链-第20张图片-昕阳网node1.toml?修改如下:从零构建基于以太坊(Ethereum)钱包Parity联盟链-第21张图片-昕阳网[parity]chain = "demo-spec.json"base_path = "parity1"[network]port = 30301[rpc]port = 8541apis = ["web3", "eth", "net", "personal", "parity", "parity_set", "traces", "rpc", "parity_accounts"]interface = "192.168.1.5"[ui]port = 8181[websockets]port = 8457[account]password = ["node.pwds"][mining]engine_signer = "0x00F9B30838ca40c8A53c672840acbDec6fCDb180"reseal_on_txs = "none"

技术交流区块链技术交流QQ群:348924182「区块链部落」官方公众号

标签: 288 json文件

抱歉,评论功能暂时关闭!

微信号已复制,请打开微信添加咨询详情!