当前位置:首页 > 物联网 > 区块链
[导读] 由于以太坊又慢又贵的POW共识(尽管如此,以太坊依旧是最受欢迎的DApp平台),催生了各种以太坊侧链的方案用来减少以太主网的拥塞,前面我们介绍了Loom SDK, 这篇博客介绍下POA Netw

由于以太坊又慢又贵的POW共识(尽管如此,以太坊依旧是最受欢迎的DApp平台),催生了各种以太坊侧链的方案用来减少以太主网的拥塞,前面我们介绍了Loom SDK, 这篇博客介绍下POA Network以及xDai。如果大家想稳定的数字货币做一些智能合约应用,在Libra[1]还没有上线之前,也许你可以尝试一下xDai。

什么是POA 网络

POA 网络定位于以太坊的侧链(兼容以太坊协议),它使用一个全新的POA的共识机制。

备注:POA项目官方现在更愿意把POA作为自治证明共识(Proof of Autonomy)的缩写,而不是使用权威证明(Proof of Authority)

POA共识是一种更直接有效的POS共识形式,它的验证者必须经过身份验证(貌似还会签署法律文件),在POS上通常是需要获得足够的选票(代币)来提高作恶成本,而POA则是靠验证者的信誉来做担保,作为一个二层网络,通常只有较小额的交易,追求性能而牺牲一些网络安全性可以理解,这也是二层网络通常的做法。

POA网络启动时有12个验证者(现在有20多个),这些验证者通过智能合约来管理,智能合约也加入了治理模式,验证者可以投票添加或删除验证者甚至是更新治理合约。验证者验证者出块的几率均等,每产生一个块可以过得一个POA币(侧链的原生代币)以及所有的手续费。

PoA网络平均每5秒出一个块, 区块大小是800万Gas,Gas price 固定为1GWei(1POA=1,000,000,000Gwei), 因此可以推算PoA网络大概比以太坊快3倍,而运行DApp的gas费用则大大降低,当前一个POA的价格不到0.2元,历史最高时也只有6元,不像一个以太几千上万的价格。

PoA网络出块信息可以在blockscout浏览器[2] 查看详情, 值得提一下,BlockScout 是POA Network的另一个贡献,这是一个功能强大的开源的区块浏览器,支持所有以太坊协议的网络。Github库[3]

POA 网络的主网称为POA Core,他还有一个测试网络为POA Sokol。其实以太坊主网也有一个POA共识的测试网叫 Kovan 。

POA的桥接技术(TokenBridge)

POA最大的价值在于其桥接技术,TokenBridge是一个互操作性协议,它使得以太坊网络和POA网络之间可以相互通信(交互)。

备注:TokenBridge 之前为 POA Bridge, 因此很多文档里没有及时跟随更改, TokenBridge代码库[4]。

目前桥接技术已经完成的功能有:

1.允许用户把自己在POA网络的原生代币 POA 转移到以太坊网络,在以太坊网络生成对应的POA20代币,POA20是以太坊网络的ERC 20代币。

2.允许把以太坊网络的ERC 20代币转移到POA 网络(或其他链),这些转移并不会重复产生新的币,它会在接收链创建对应的币而在发起链销毁对应的币。

3.不同网络之间的ERC20代币相互转移,有了这个技术我们就可以把昂贵的链上交易转移价格低廉的侧链,让区块链落地有了更多的可能。

其实,POA桥接技术不仅仅可以用于以太坊网络和POA网络相互通信,也有其他的项目使用TokenBridge来进行token的转移,如:Sentinel Chain 和 Virtue Poker。

稳定币链 xDai Chain

最近Libra关注度太高,很多朋友知道它是Facebook发行的一个稳定币链,稳定币链要排个辈分的话,Libra应该叫xDai一声大哥。

DAI是以太坊上通过抵押数字资产发行的稳定币,一个Dai=1美元, 不熟悉的同学可以看我一篇文章理解去中心化稳定币 DAI[5], xDai Chain是DAI背后的团队MakerDAO和POA Network合作推出的一条基于稳定币的POA共识链,xDai Chain 也是POA 共识机制及TokenBridge相结合的最好的一个例子。

xDai链和POA Core一样是以太坊网络上的侧链,XDAI是侧链上原生代币(用来支付链上交易的Gas),DAI是对应在以太坊的ERC20代币,注意,xDai链是不支持挖矿的,而是必须通过把Dai通过TokenBridge转移到xDai链产生XDAI币。其他的特性和POA Core一样, 如5秒的块生成时间,每笔交易的gas成本为1Gwei,这样在xDai链上的交易成本就非常低。

xDai解决了阻碍数字货币用于日常交易的两个主要因素:价格波动大及手续费高,把一些应用部署到xDai链上来会是个不错的选择。 后面我们会有文章介绍。

xDai网络出块信息可以在blockscout浏览器[6] 查看详情。

在POA 网络上部署应用

我之前有一个教程在以太坊网络上开发了一个记事本应用[7], 这个应用每添加一条记录会消耗不少的gas费用,现在我们把这个记事本应用部署到 POA 网络上。

利用水管获取POA币

把应用部署到 POA 网络上,需要要消耗一点POA币,我们得先想方法获得一些POA,这里我们我使用POA测试网络POA Sokol提供的水管 https://faucet-sokol.herokuapp.com 获取(如果要使用POA主网则需要去交易所购买POA),进入页面之后,可以看到如下界面:

注意一下:Sokol水管为了防止被程序撸羊毛,加入了Google人机身份验证,所以这个页面需要大家翻墙访问,输入自己的以太坊账号,点击“REQUEST 0.5 SPOA”,就可以获取到POA Sokol测试的代币 0.5 SPOA。

### Metamask 连接到POA网络

接下来在 Metamask 查看下账号的 SPOA 余额,看看是否到账,由于Metamask默认网络里面没有POA网络,所有我们通过“CUSTOM RPC”添加一个网络,在“New RPC URL”里输入https://sokol.poa.network ,如下图:

查了使用Metamask钱包插件之外,还可以使用POA基于MetaMask定制的Nifty 钱包[8],Nifty默认就支持POA的各个网络,Nifty 钱包如下图:

备注:查看下账号也可以在sokol的blockscout浏览器 [9]查看,Metamask 连接POA网络也是为后面使用DApp做准备。

使用 Truffle 部署合约到POA网络

Truffle 的基本使用,以及开发这个记事本DApp,本文就不再重复介绍,参考前面的文章:Truffle教程[10], 用 Truffle 开发一个链上记事本[11],这里主要介绍如果Truffle如何了连接到POA网络。

先把DApp代码克隆到本地,大家可订阅跨链技术小专栏[12]获取源代码。

truffle配置加入POA网络

然后打开truffle-config.js 文件,加入一个sokol网络, 方法如下:

module.exports = {

networks: {

。..

sokol: {

provider: funcTIon() {

return new HDWalletProvider(mnemonic, “https://sokol.poa.network”)

},

network_id: 77,

gasPrice: 1000000000

},

。..

上面 mnemonic 处大家用自己的助记词代替。

部署合约

然后使用命令truffle migrate --network sokol 进行部署:

》 truffle migrate --network sokol

。..

2_deploy_contract.js

====================

Deploying ‘NoteContract’

------------------------

》 transacTIon hash: 0x48dbba680f3f227b0e6aba42ecf467bf4xlb1324e0d765dcd

》 Blocks: 2 Seconds: 9

》 contract address: 0xb89ccfF5c3D4A15F69xLB9D0a9C3ce4a87047a6a

》 block number: 9867109

》 block TImestamp: 1563892140

》 account: 0x1a197940bd151xlb53aF8eD04996A880a251D454

》 balance: 0.999159377

》 gas used: 537207

》 gas price: 1 gwei

》 value sent: 0 ETH

》 total cost: 0.000537207 ETH

》 Saving migraTIon to chain.

》 Saving artifacts

-------------------------------------

》 Total cost: 0.000537207 ETH

Summary

=======

》 Total deployments: 2

》 Final cost: 0.0007986 ETH

#### 启动DAPP应用

npm run dev 启动DAPP服务, 在浏览起输入地址:http://localhost:3000 运行DApp,因为刚刚MetaMask已经连接好了POA 的测试网络Sokoa, 现在可以直接和DApp进行交付。

在稳定币链xDai网络上部署应用

在xDai网络上部署和前面的POA测试网络步骤完全一起,只需要把上面 RPC URL更改为 https://dai.poa.network 下面是一个各个网络对应RPC URL 及网络ID的表格:

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭