Libra的Move和Flow的Cadence是最早的两种面向资源的编程语言,可供智能合约开发者使用。这两个团队现在正在进行开源合作,以确保两个社区都能受益。
Facebook在Libra区块链上的工作中最令人兴奋的部分之一是Move,这是一种新的智能合约语言,从头到尾都是为支持加密货币的世界而设计。
Move是围绕着 "资源 "的概念而建立的,这是一种受线性类型启发的新型数据结构。资源是第一个编程语言结构,它允许程序员向编译器和运行时表明,程序中的某些数据代表了宝贵的数字资产,应该受到保护。它在语言本身中执行关于如何创建这些资产的规则,确保它们不会被意外删除或 "丢弃",并要求它们永远不会被复制,只会被移动(启发了语言的名称)。
Flow区块链引入了自己的语言--Cadence,它也是面向资源的。与Move一样,Cadence对资源资产的管理方式执行了谨慎的规则,并将安全性和可靠性作为语言结构中最重要的一些考虑因素来构建。
这两种语言是互补的。Move是 "自下而上 "设计的,重点是性能和效率。它有一个紧凑的字节码,可以有效地执行,导致高可扩展性。然而,它的语法是最小的,首先是为机器设计的,其次才是为人类设计的。
另一方面,Cadence是 "自上而下 "设计的,强调可读性和清晰性。它使用熟悉的语法,灵感来自于Rust和Swift,有一个强大的静态类型系统来减少运行时的错误。所有的方法、接口和事务都可以包括前、后条件,以执行预期的行为("按合同设计")。这使得这种语言更容易学习,更容易审计,并最终比目前的任何替代品更有成效。
Cadence目前是一种解释语言,但我们很高兴地说,我们已经与Move团队合作,找到一种方法将Cadence编译成Move字节码,以便在Move虚拟机上执行。
这里的可能性对两个社区都是巨大的。如果我们成功了,Move虚拟机将为Libra和Flow区块链提供动力,Cadence代码可以针对任何一个区块链;一种快速且易于使用的语言,利用面向资源的编程的力量。
说白了,作为区块链,Libra和Flow是为不同的目的而建立的。Flow被设计成完全无权限和去中心化的,支持任何有互联网连接的人参与。因此,Cadence和Move都将在Flow上完全不受限制,允许一个图灵完整的智能合约环境。
感到好奇?
关于Flow还有很多不同之处,首先是架构。与大多数其他区块链不同,包括比特币、Libra和以太坊,Flow有一个新颖的四节点架构。Flow将处理交易和验证区块的工作分为四个不同的步骤,每个步骤由不同的验证器节点角色处理。这个架构在我们的第一篇技术论文中进行了概述。 Flow:分离共识和计算.
这种多角色设计中的关注点分离极大地提高了网络的性能,而不会通过分片或所谓的 "第二层 "解决方案打破原子性--或通过限制参与来减少去中心化。因此,Flow上的智能合约和用户账户总是可以在一个原子的、一致的、孤立的和持久的(ACID)交易中相互作用。
换句话说:Flow上的所有应用程序都在同一个共享的全局执行状态下运行,并受益于完全的可组合性。想了解更多。
- 在主网站上点击一下。 onflow.org
- 加入discord并介绍自己。 chat.onflow.org
- 开始在Playground上写合同。 play.onflow.org