对比Solidity和Move语言

Solidity 特征

Solidity 是一种面向对象的高级静态编程语言,最初运行在以太坊虚拟机 (EVM) 上构建智能合约。该语言最初由 Gavin Wood 提出理论,最终由 Christian Reitwiessner 于 2014 年开发,Solidity 提供了大多数现代编程语言中可用的概念,它具有函数、字符串操作、类、变量、算术运算等等,与 JavaScript、C++ 和 Python 等编程语言有相似之处,具有图灵完备性。

主要特点

  • 面向对象——一种专注于围绕数据和对象而不是逻辑和功能进行软件开发的编程方法

  • 高级语言——通过独立于计算机硬件架构使软件开发更加用户友好的语言

Solidity 优点

作为第一门可编程的区块链智能合约语言,使用 Solidity 作为区块链编程语言的优势是:Solidity 更容易学习,并且有更多用于 Solidity 的开发人员工具。

1、更容易学习

Solidity 是一门高级语言,它的代码可读性强,易于理解,并且语法与 Javascript 类似,有编写 Javascript 经验的开发人员不会觉得学习 Solidity 很困难。

2、大量的开发者工具

Solidity 有大量优秀的开发工具可供使用,它受到 OpenZeppelin 等平台的支持,OpenZeppelin 为安全的智能合约开发提供开源库。Solidity 也有几个开发环境(IDE),例如 Remix 在线 IDE 和本地开发人员环境 Hardhat。这些 IDE 提供了允许轻松开发 DApp 的工具和功能。

3、适用范围更广

Solidity 被广泛使用在以太坊以及 Layer2 上,熟悉 Solidity 的开发人员从事区块链项目的选择范围更广。

学习考量

但与此同时,在学习 Solidity 之前需要注意的是,Solidity 开发过程中较容易埋下一些隐患而难以及时发现,因此需要反复对代码进行全面测试。

Move语言

solidity完全不同的架构 从底层解决了安全问题 目前还未发现可重入攻击的隐患

Move 是近几个月来十分热门的编程语言,事实上,Move 是一种基于 Rust 改编的编程语言,它创建于 2019 年,最初是为 Meta 的 Diem 区块链项目而开发的,在 Diem 项目解散之后,其创始团队出走分别创立的 Aptos 与 Sui,也将 Move 作为核心编程语言。

主要特点

  • 面向资产编程——资源(resource)作为一等公民是 Move 语言诞生之初就提出的设计理念。Move 引入了“资源”的概念,它永远不能被复制或隐式丢弃,它只能在程序存储位置之间移动,也就是说,Move 中的每个资产都具有原生稀缺性和访问控制属性。

  • 安全——Move 语言在设计的过程中继承了很多 Rust 中的安全特性,此外,Move 团队在语言设计的过程。辅以形式化验证器 Move Prover 和运行时验证器 bytecode verfier ,为智能合约提供安全保障。

  • 模块化——不同于 Solidity,智能合约中的数据只能在合约范围内修改,不能从外部修改其他合约。在 Move 开发中,很多基础的模块是可以持续迭代升级的。

由于 Move 语言目前还十分年轻,其距离大规模的工程化使用仍然有一定的距离,仍然需要时间来证明自己是安全的且不易出错;Move 开发链尚不完善,合约规范尚未形成,Move 在 Aptos 和 Sui 中的一些定制化特性也给面向多链或者全链的应用开发者带来麻烦;

Move 的合约生态尚不完善,贸然进行 Move 的合约开发也会面临很多冷启动的问题。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值