面向资产的编程:开发者尝试智能合约的一场革命

面向资产的编程:开发者尝试智能合约的一场革命

自从以太坊引入智能合约以来,可编程区块链的数量不断增加。随着以太坊的成功,出现了一波新的第 1 层和第 2 层区块链,为底层区块链网络增加了更多的可编程性和功能。

尽管在使用区块链技术构建去中心化应用程序 (dApp) 和协议的新生态系统方面发生了根本性变化,但许多现有的第 1 层和第 2 层链被设计为通用目的。因此,这些区块链提供的底层智能合约功能仅适用于少数用例。

例如,虽然大多数去中心化金融 (DeFi) dApp 和协议都是围绕资产构建的,但现有的智能合约区块链——无论是 Ethereum、Solana、Polkadot、Cosmos 还是 Avalanche——都缺乏开发人员可以原生使用的任何内置资产概念。

然而,随着去中心化金融 (DeFi) 等发展概念的持续发展,对更高级智能合约的需求已成为焦点。为了满足这些不断增长的需求,出现了“面向资产的编程”的新方法。

面向资产的所有人的编程

如上所述,现有的第 1 层和第 2 层区块链网络在智能合约中没有提供任何“原生资产”的概念,这意味着 dApp 开发人员需要从头开始构建每个元素。

简而言之,现有的智能合约区块链更像是空白画布。由于这些区块链上的智能合约没有内置资产功能,这只会导致开发过程中的更多延迟,同时迫使开发人员学习特定于平台的代码来实现新功能。结果是 dApp 开发人员难以根据需要直观地构建应用程序和协议,因为他们的大部分时间都花在了绕过密集的反直觉代码上。

这就是 Radix 在智能合约领域成为重新定义力量的地方。通过重塑平台如何在面向资产的模型中提供智能合约功能,Radix Engine v2 解决了当前智能合约范式的缺点。

为了简化开发人员的构建体验,Radix 引入了一种新的编程语言 Scrypto。通过 Scrypto,开发人员可以利用 Radix 引擎上面向资产的编程语言的内在潜力,同时仍然享受熟悉的具有表达逻辑的开发环境。

通过 Radix 的方法,资产被设计为平台本身的全局特性,因此无需在智能合约层面实现多个代币——这是现有智能合约解决方案的开发人员所需要的。 Radix Engine v2 引入了一种完全面向资产的方法,使开发人员能够使用其原生 Scrypto 编程语言实现各种强大、直观和复杂的智能合约逻辑和代码。

面向资产的编程语言的新时代

也就是说,重要的是要注意 Scrypto 编程语言基于 Rust 并保留了 Rust 的大部分核心功能。同时,Scrypto 具有多种特定功能和语法,旨在补充 Radix Engine v2。因此,Scrypto 不仅仅是在公共分布式账本技术 (DLT) 上运行的另一种常见的基于 Rust 的代码。相反,它更像是一种面向资产的编程语言,它提供了 Rust 风格的代码,开发人员可以无缝地使用这些代码与初级级别的数据和内置资产进行交互。

例如,让我们考虑一下开发人员何时想要创建 1,000,000 个“X”代币的固定供应量。要在 Scrypto 和 Radix Engine v2 中做到这一点,开发人员将向平台的本机“资源创建”功能添加所需的参数。一旦处理完毕,它就会触发“资源定义”功能,并将 1,000,000 单位的“X”代币返回给开发人员。在这种情况下,“资源定义”与现有的 ERC-20 合约不同,而是一种更直接的方法来引用与供应 1,000,000 X 代币相关的基础参数。

同时,由于 Radix Engine v2 要求所有资源必须“物理地”位于平台的某个位置,因此最初从“资源创建”程序生成的 1,000,000 个“X”令牌将立即放置在一个名为“bucket”的临时容器中。 ”在 Radix Engine 中,“桶”充当原生资产的实际容器。开发人员(及其产品)使用“桶”来存储和移动代币。但是,一旦开发人员执行了预期的代码,这些资产就会被移动到一个更永久的位置,称为“保险库”。

这种方法的价值在于,开发人员只需在 Scrypto 中使用几行代码即可实现上述所有目标。编程语言本身提供了广泛的功能,允许开发人员测试、试验和实现众多特性和功能,而无需从头开始编写或构建所有内容。因此,Radix 的新方法支持快速构建新产品和服务所需的可重用性和可组合性,同时确保资产的易用性和高端安全性。

总而言之,这些特性和属性为 DeFi、dApp、协议和整个区块链生态系统开启了一个新的可能性世界。

声明:本站原创文章文字版权归前途科技所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表前途科技立场,图文版权归原作者所有。如有侵权,请联系我们删除。

(0)
上一篇 2022年11月3日 上午12:15
下一篇 2022年11月3日 上午2:03

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注