首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

2019年智能合约开发新趋势

unitimes.io

全球视角,独到见解

智能合约开发语言已经被 Solidity 统治了一段时间,它用于开发可以在以太坊虚拟机EVM上 运行的智能合约。不过 Solidity 有一些严重的问题,包括算术溢出、类型错误以及曾经冻结了 3亿美元的 delegatecall 漏洞。所有这些漏洞都是在开发语言层面存在的问题。换句话说, 如果有一个好点的开发语言,本来应该可以创造更安全的智能合约。文本将列出在2019年 值得关注的区块链智能合约开发技术趋势。

2019年,Solidity 的挑战者终于来了。

01

Waves RIDE

Waves RIDE 是一个图灵不完备(没有循环或递归)的、受 Haskell 启发的函数式编程语言, 用于Waves区块链。它的特点包括静态类型、惰性评估、模式匹配和用于决定交易是否允许 完成的断言表达式。目前图灵完备的版本也在开发中。Wave 的智能合约支持目前在主网上 已经激活。我们应当可以在2019年看到第一批 Waves 的 dApp。

官方地址:

https://docs.wavesplatform.com/en/technical-details/ride-language.html

02

Plutus (Cardano)

Plutus 是另一个类 Haskell 的函数式编程语言,用于 Cardano 区块链。Cardano 计划在2019年 有两个大的发布:Shelley 提供完全去中心化和抵押功能,而 Cardano-CL 则是支持可编程智能合约 的虚拟机。

官方地址:

https://cardanodocs.com/technical/plutus/introduction/

03

Scilla (Zilliqa)

Scilla 是一个认证过的智能合约开发语言,它在设计时就考虑了分离计算过程与效果,这意味着 计算和状态迁移的通信是严格隔离的,这使得 Scilla 智能合约更容易测试,并且可以静态验证 以最小化发生错误的机会。

Zilliqa 的主网计划在2019年1月底上线。

官方地址:

https://scilla-lang.org/

04

ewasm (Ethereum)

ewasm 不是一个智能合约开发语言,而是一个编译器的生成目标,它允许以太坊开发者使用其他 语言(例如Rust、C++等)开发智能合约并编译为以太坊接受的 WebAssembly。

ewasm 是 WebAssembly 的一个安全子集,它是web平台上相对新出现的编译目标。方便的是,wams (以及ewasm)模块可以在任何JavaScript项目中使用。对于大多数区块链代码来说,通常75% 以上的代码根本都不是智能合约 —— 而是使用 JavaScript 与智能合约进行通信的代码。ewasm 和 JavaScript 使用同样的绑定和模块支持机制。

官方地址:

https://github.com/ewasm/design

05

JavaScript (Lisk)

List 是一个区块链开发平台,它支持开发者使用 JavaScript 为特定应用开发并创建定制区块链, 从而避免了以太坊的扩容问题。List 允许开发者创建自己的侧链来管理所有与特定应用的区块链 操作,因此它不需要与其他应用竞争主链上的计算资源。目前List没有开发自己的智能合约编程 语言或者VM,其交易能力类似于比特币。

官方地址:

https://lisk.io/

06

Rust (via ewasm, Cardano client)

Rust 是一个类似C的底层开发语言,包含一些类似 Haskel 的安全特性,例如得到保证的常量引用以 避免意外修改、静态阻止空指针异常、有状态类型只允许访问当前状态下的有效操作、模式匹配分析 以保证函数完整性(一个不匹配的模式将导致编译时错误)…基本上 Rust 类似于 C++ 和 Haskell 的 纯优点的继承者。

Rust 可以编译为 ewasm,或者用于构建区块链的客户端代码,例如 Cardano。List 的模块也可以 使用 Rust 开发,然后编译为 wasm 导入到 List 项目中。

官方地址:

https://www.rust-lang.org/

汇智网翻译整理,转载请标明出处。

【文章版权归原作者所有,其内容与观点不代表Unitimes立 场。转载文章仅为传播更有价值的信息,合作或授权联系请发邮件至 contact@unitimes.media或添加微信unitimes2017】

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190127A0T3VU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券