木星链 木星链
Ctrl+D收藏木星链

LID:技术指南 | 模型驱动的智能合约开发,了解一下

作者:

时间:1900/1/1 0:00:00

来源|?hackernoon

编译|火火酱

责编|Carol

出品|区块链大本营(ID:

blockchain_camp),原题《想开发智能合约?先get下这个适合所有人的模型驱动法!》

不得不说,开发智能合约真的是一个既复杂又昂贵的过程。

与在Solidity中编写智能合约相反,将智能合约建模为图形状态机具有很多优势。

你可以专注于业务逻辑,而不必纠结于技术细节,甚至非程序员也可以理解你的合约在做什么。

我们使用YAKINDUStatechartTools的开源版本将智能合约建模为状态机。这样一来,你就可以使用模拟器测试模型,并最终生成Solidity代码。

YAKINDUStatechartTools:

https://www.itemis.com/en/yakindu/state-machine/

IOST入选第16期赛迪全球公有链评估指数,基础技术指数排名第三:近日,中国电子信息产业发展研究院(赛迪研究院)发布了第16期赛迪全球公有链技术评估指数,对全球37条公有链从技术维度进行综合考量并给出排名。在本次评估中,IOST获工信部认可,凭借公链底层技术,全领域的应用覆盖,友好开发者支持,技术团队和持续的技术创新,入选了第16期赛迪全球公有链技术评估指数,并获得综合技术指数第六,基础技术指数第三的成绩。详情点击原文链接。[2020/3/18]

想开发智能合约

这两个问题你必须要解决

区块链的智能合约开发非常复杂。如果你想为以太坊区块链开发智能合约,那么就必须学习一种全新的编程语言,例如Solidity。

动态 | 天秤座协会已成立新技术指导委员会以协调其平台设计:天秤座协会本周四宣布,已经成立了一个技术指导委员会,以协调天秤座平台的设计。根据天秤座开发人员页面上的公告,这是继去年十月创始成员叛逃之后,天秤座路线图的最新更新。这个新宣布的小组将监督该项目的技术路线图,指导代码库开发,并尝试围绕Libra项目建立一个开发人员社区。(Coindesk)[2020/1/17]

如果你已经成功地编写和测试了自己的第一个智能合约,那么我要提醒你下一个有可能遇到的难题:由于一旦将智能合约部署到主网络后你就无法再对其进行更新,所以必须确保智能合约代码能够抵御攻击。

虽然我们已经对已知的攻击媒介有了一定的了解,但是要在智能合约中找到这仍安全漏洞仍需要具备大量经验。

参考:

https://consensys.github.io/smart-contract-best-practices/known_attacks/

过去的经验告诉我们,智能合约会经常遭到黑客入侵,出现资金被盗问题。

动态 | 彭博:GTI Vera技术指标自6月份以来首次发出买入信号,可能预示着新的高点:近日比特币在全球金融市场中的避险属性已逐步显现。8月7日,彭博社发文称,基于上周末的交易活动,追踪正面和负面趋势的GTI Vera Convergence-Divergence指标产生了新的买入信号,这是该指标自6月份以来的首次买入信号,可能预示着比特币将达到新的高点。彭博分析师Mike McGlone表示,与其他风险资产相比,比特币的涨势正在上升,比特币应该仍然是其存储价值需求增长的主要受益者,与黄金相似。[2019/8/7]

由于保护智能合约的工具还不够成熟,无法发现所有潜在的安全漏洞,因此你需要对智能合约进行审核。但现在只有少数专家能够对智能合约进行编码审核,而这就引出了智能合约开发的第二个问题——价格昂贵。

这两个问题放在一起,就使得个人或小型初创企业开发高质量的智能合约变得非常困难。

可解决这些问题的工具

两年前,我们开始开发YAKINDUSolidityTools,这是一个集成的开发环境,提供了诸如上下文敏感帮助、智能代码建议、快速修复、重构、模板和实时验证等功能。

声音 | 彭博社:技术指标显示比特币或将迎来大幅上涨:据彭博社报道,在过去两天的价格上涨之后,比特币已经突破了其Vera band的上限。这表明,随着比特币继续在这一上限上方交易,其价格或将迎来大幅上涨。据悉,Vera band是用来识别上行或下行趋势的一种指标。[2019/7/10]

今年,我们将核心功能提取到所谓的语言服务器中,可以在许多编辑器中重复使用。

不过,虽然这极大地改善了开发人员的开发体验,但这并不是一劳永逸的结果。

语言服务器:

https://dwz.cn/KQjhESNR

对于非Solidity专家来讲

智能合约开发仍然十分困难

由于我们也是YAKINDUStatechartTools的开发人员,因此我们对状态机如何简化智能合约的开发进行了一些研究,并开始将语言服务器集成到YAKINDUStatechartTools中。

YAKINDUStatechartTools:?

行情 | 救赎说币:ONT目前不能买,要等技术指标出现才能买入:据救赎分析,本体就行情走势趋势来说,是不容乐观的。我们看技术指标macd从箭头处跌下0轴之后,大部分时间都在0轴之下,代表的是持续的空军优势。持续的空军优势,是不存在买入的理由的,是不管基本面如何利好都不能入场的。但是我们都知道,本体的基本面是很强的,所以我们就等一个买入点就好了。我们再看234处的下跌幅度不是很大,但是跌之后没有多大涨幅就接着跌,所以这个可以分析出ONT的买盘真的不强烈。所以要想买入这个币种,要等一个大跌就可以买了。[2018/7/16]

https://dwz.cn/1Me4yZeY

这基本上意味着我们可以在对状态机进行建模时访问Solidity的内置功能,例如全局变量、常量和函数。

集成的仿真引擎可以验证模型的行为。只需点击一下鼠标,即可在模型之外生成智能合约Solidity代码。

什么是状态机?

大多数软件开发人员认为,状态机比看起来复杂得多,并且会在日常工作中避免使用它们。这并不奇怪,因为状态机通常被认为过于复杂和学术化,不适合实际应用。

如果你看过维基百科上关于有限状态机的文章,就会发现诸如“计算的数学模型”、“确定性和非确定性自动机”以及“powerset构造”等术语。听起来一点也不好玩,对不?

维基百科关于有限状态机的文章:

https://dwz.cn/1Me4yZeY

实际上,我们在这里进行智能合约开发的状态机,与学术上说的的状态机是完全不同的两种东西。这里提到的状态机,指的是为许多不同应用程序开发软件的有效方式。

例如,它们经常在嵌入式系统领域中,被用于对汽车或飞机之类的反应系统进行建模。反应系统是一种对外界事件做出反应的系统,该事件由传感器或人机接口触发。

智能合约没有什么不同,来自外界的交易触发了智能合约内部状态的改变。

状态机的基本构建块是“状态”和“转换”。状态机是由有限数量的“状态”组成的。机器一次只处于一种状态,该状态被称为“活动状态”。它可以通过“触发器”或者在特定条件下从一种状态更改为另一种状态。

示例:管理许可证的智能合约

举个例子,我们开发了一个智能合约,该合约将被用于管理许可证。该用例非常适合于区块链,因为只要不终止合同,许可证持有者就可以控制许可证协议。

一个智能合约可以维护一个许可证的使用周期。智能合约创建后,许可证进入“Valid有效”状态,初始预算为10个代币。有两种不同的接口可以与智能合约进行交互。

许可证的所有者可以增加预算以延长许可证期限。许可证管理者可以根据时间段定期收取许可证费用。

如果没有更多可用预算,许可证将进入“Invalid无效”状态,直到有新的预算被添加到合约。许可证所有者可以随时终止合同,并收回剩余预算。

可以看一下上面的图片。我认为该模型比500行Solidity代码更全面,也更易于理解。

模型驱动的智能合约开发有哪些优势?

首先,可以在更高的抽象级别上为智能合约建模。在隐藏所有技术细节后,你可以专注于要开发的域逻辑。甚至连根本没有编程经验的人都可以理解图形状态机。

生成的智能合约代码质量更高。一旦确定了代码生成器会生成正确且安全的代码,你就不必审核使用此代码生成器生成的每个合约。这将减少小型创新型初创公司以及大型公司将其业务案例迁移到区块链技术的障碍。

模型是独立于平台之外的。通过使用不同的代码生成器,你可以用不同的语言生成智能合约。也许在将来的某一天,将会产生另一个与以太坊一样强大的区块链。

更值得高兴的是,你可以重复使用模型来为另一个区块链生成智能合约。

你可以执行和测试模型。在将模型部署到区块链之前,你可以使用内置模拟器轻松执行模型,以此来验证模型是否符合预期。

该工具仍处于早期开发阶段,代码生成器尚未准备好投入生产。生成高质量的合同代码是一项非常艰巨的任务,但我们希望我们能尽快提供一个可供下载的工作原型!

标签:LIDSOLSOLIDINDLido Staked ETHSOLVE tokenMOSOLIDGRIND币

币安app官方下载最新版热门资讯
KEL:Kelly Loeffler获参议院席位将卸任,Bakkt将迎来新CEO

首个提供现金结算比特币期货合约的平台Bakkt的首席执行官KellyLoeffler,将辞去这个职位,以获得美国参议院的一个席位。在找到接替者之前,洲际交易所将任命一名临时CEO.

1900/1/1 0:00:00
USD:2019年稳定币市场现状:USDT “引领风潮”,DAI紧随其后

写在前面:本文作者为投资公司OutlierVentures的分析师JoelJohn。他在文章中分析了主流稳定币在2019年的交易情况,得出的结论为:尽管USDT依然占据重要地位,但DAI是除US.

1900/1/1 0:00:00
区块链:加密行业观察 | 熊市没有指南,成败不局限于当下

新生行业往往遵循这样的“韵脚”——从上升到下跌,再由下跌到上升,循环反复直到达到顶峰阶段,这样的循环总会经历三次或以上。据艾略特研究发现,事物的兴起总会经历被低估、价值发现、泡沫这三个过程.

1900/1/1 0:00:00
FIL:Filecoin测试网络即将上线,这些改动需要注意

明天凌晨,Filecoin项目将启动测试网,对于这样一个重量级项目,对未来的影响将是巨大的,我们第一时间联系了Filcloud的张勇,了解到当前阶段的几个重大改动,这对于生态的矿机厂商.

1900/1/1 0:00:00
区块链:区块链如何变革银行业?一文尽览国有银行的区块链之路

巴比特讯,12月7日-8日,由中国科学院学部主办,中国信息通信研究院等单位联合支持的“区块链技术与应用”科学与技术前沿论坛在深圳举行.

1900/1/1 0:00:00
比特币:分析:全新视角解析明年减半变局,分析BTC与BCH的算力格局

很多人都知道还差6个多月,比特币就要减半了,减半也就意味着比特币的通胀率降到1.7%附近,可以说,已经远远低于各个国家的通胀率,因此很多人基于此判断比特币将会价格暴涨.

1900/1/1 0:00:00