BM:开发更有效的合约

BM:开发更有效的合约_第1张图片

原文作者:Daniel Larimer

译者:Chuan@AuroraEOS

昨天,BM在EOS电报群中,针对大家比较关心的CPU问题发表了自己的看法,如下:

1.仅抵押少量EOS就能够实现免费转账不是EOS资源模式设计的初衷,租赁CPU是最好的选择。     


2.CPU问题的最佳状态:使得用户通过花费少量的钱就可以租赁到足够多的EOS资源使用。                                                                                                              

3.目前CPU主要存在两大问题:缺乏有效的租赁市场;dApp项目方无法为用户抵押CPU。       


前者会在REX推出后会得到修正;后者则会在下一次升级中得到解决。

在Medium上面BM也发表了一篇文章,以下是Daniel Larimer原文(译文):

BM:开发更有效的合约_第2张图片

EOS区块链用户面临的主要挑战之一是CPU资源的稀缺。

有两种方法可以解决这一稀缺问题:通过更高的效率来增加CPU容量或减少CPU需求。Block One正在努力增加容量,但是应用程序开发人员需要编写更有效的合约来减少需求。

最近,我看了一个只有一条的单笔交易,这条指令产生了28个子指令。这些子指令包括10次传输(恨给发送者/接收者的相关通知),3个分发指令,以及4个内联合约之间的通信。

这个应用的设计在他们的代币合约中使用大量的复制和粘贴代码,并结合了许多涉及EOS和他们自己的DICE代币之间的最小单位的微支付。这种模块化设计具有一些安全优势(将代币在智能合约的管理下的时间降到最低),但它是以使用大量CPU为代价的。

每个指令都必须设置并清除自己自己的执行环境,验证自己的权限,并执行其他的冗余计算。所有这一切都显示这个操作花了5.37毫秒的CPU时间(每个内联操作平均0.2毫秒)。

通过以下更改可以实现相同的效果:

1.将单独的合约(betdicetoken和betdicegroup以及betdicelucky)合并为一个单一合约。

2.一旦合并后,所有内联合约间的通信都可以被消除。DICE代币可以被发行并存入各个账户持有人的余额,而不用再创建任何内联操作。

3.允许用户与betdicegroup保持一个存款余额。这样,用户可以存入一次,多次下注,取出一次。这将消除多次与eosio.token合约通信的需要。用户帐户余额可以在betdice合约内部被快速、有效地更新,而不必对每笔微支付都对发件人/收件人发送通知。

通过在应用层进行一些小小的优化,我猜测玩这个骰子游戏所需的CPU可能被减少80%以上。用户在耗尽CPU时间之前可以多玩5把。

在对EOSIO接下来的更新中,我们将让应用程序开发人员在每笔交易(事务)的基础上为CPU付费。这意味着用户不再需要任何CPU资源来玩游戏,开发人员可以通过其他方式从CPU使用中获利。

在这种情形下,有效的合约开发将使应用程序开发人员的开发成本降低80%以上。今天的应用程序将这些成本转嫁给了用户,他们要么得抵押代币,要么用借贷的方式。

现在是时候应用程序开发人员开始仔细考虑他们的设计效率,否则他们将被更有效和更降低成本的其它方法所超越。

英特尔,苹果和微软只能通过改进硬件和操作系统来提升应用程序的性能。最大的性能改善掌握在应用程序开发人员手中。这同样适用于区块链应用程序。

本文原文链接:

https://medium.com/@bytemaster/developing-efficient-contracts-8a8e62011c6d

联系引力区:

官网: http://eosgravity.com/

Telegram: https://t.me/eosgravity; 

Twitter: https://mobile.twitter.com/EOSGravity

Reddit:www.reddit.com/user/EOSGravity

Medium: https://medium.com/@eosgravity

Steemit: https://steemit.com/@eosgravity

Youtube: https://www.youtube.com/

channel/UCGBLMgv51yB80yMKN266Gcg

BM:开发更有效的合约_第3张图片

加入社群

BM:开发更有效的合约_第4张图片

更多有价值的悄悄话,欢迎进入知识星球。

引力区创始人Ocean廖洋阳私人微信

BM:开发更有效的合约_第5张图片

设为星标

及时接收引力区资讯

BM:开发更有效的合约_第6张图片

你可能感兴趣的:(BM:开发更有效的合约)