Universal Apps(通用应用):志在让开发者直连每一条区块链

ZetaChain 作为一个平台的使命是实现对任何区块链的普遍访问、简化操作和实用性。该任务的一个关键重点是搭载一流的基础设施服务和提供商,以支持首次通用区块链开发体验。

Web3开发平台 Alchemy 已添加支持 ZetaChain,并提供 Alchemy Supernode、Alchemy Subgraphs 和 Alchemy 的全套开发工具。这项合作将使得构建更加简单。

下面,我们将介绍 Gateway 和 Localnet,这将大大改善了用于 Universal Apps (通用应用)的开发者体验(DevX)——ZetaChain 的 EVM 上的单一智能合约能够本地连接到任何其他区块链。Gateway 在 ZetaChain 2.0 升级中发挥了重要作用。

关键要点

  • Universal EVM 上的应用程序(Universal Apps)可以原生访问,也可以被任何连接的链访问,无需用户切换网络。它们使用 ZRC-20 代币标准在连接的链上以原生资产的形式无许可地提取代币。

  • Universal Apps 提供中心辐射模型让用户可以从一个地方管理原生外部资产和数据。相比之下,不同链上的合约之间的点对点消息传递复杂、难以扩展,并且无法扩展到像比特币这样的非智能链。

  • Gateway 的全面智能合约界面改造使得连接链上的外部拥有账户(EOA)和应用程序能够通过统一的 API 高效地调用 Universal Apps、发送代币和处理 gas 查询。

  • Gateway 简化了复杂的多步操作,例如:从比特币发送 BTC 到 ZetaChain 上的 Universal App,锁定在保险库中,提供 USDC,然后在以太坊上用 USDC 交换另一种代币——一次点击即可完成。

  • 新的 localnet 环境允许快速部署合约并与其交互,几乎即时完成交易并获得反馈,就像在单一链上操作一样。

Universal Apps(通用应用)

Universal App 是 ZetaChain 的 EVM 上的智能合约,它可以本地连接到任何其他区块链(比特币、EVM、非 EVM、异构的L2等)。与常规合约不同,Universal App 可以接受来自任何连接链的合约调用、消息和代币转移。它还可以触发合约调用,并在连接链上进行代币转移。这些功能使得 Universal Apps 能够协调跨链的复杂多步交易。

例如,比特币用户可以与 Universal App 交互,将 USDC 发送到以太坊上的收件人。以太坊用户可以在 ZetaChain 上购买 NFT,并将其发送到 BNB 链上的账户——一步即可完成。

Universal Apps 部署在 ZetaChain 的 Universal EVM 上,扩展了 EVM 的全链互操作性功能。这意味着现有的合约可以在 ZetaChain 上即插即用,经过一些修改后,它们可以获得强大的全链功能。

点对点消息传递的挑战

在点对点消息传递系统中,一个链上的合约直接与另一个区块链上的合约通信。这种设置对于少量互联区块链来说是直接有效的,提供了一种简单的方式来建立通信渠道。然而,随着区块链和合约数量的增加,复杂性呈指数级增长。每个合约都必须建立并维护与其他合约的直接联系,从而形成一个密集的链接网络架构。这种架构可能会导致以下几个问题:

  • 可扩展性挑战:随着节点数量的增加,潜在连接数呈二次增长。管理这些连接可能变得繁琐且占用大量资源。

  • 维护和升级:更新或维护点对点系统可能会很困难,因为需要同时在众多连接上实施更改。

尽管存在这些挑战,点对点系统对于不需要共享状态的小规模跨链应用程序仍然有用。

介绍中心辐射模型的 Universal Apps

相比之下,ZetaChain 的中心辐射模型通过单一枢纽进行通信,该枢纽连接到网络中的所有其他区块链。

Universal Apps(通用应用):志在让开发者直连每一条区块链

这种模型不仅扩展了 Universal Apps,使得开发者能够实现与点对点消息传递相同的应用程序,还显著简化了网络架构,并提供了众多优势:

  • 更好的可扩展性:在中心辐射系统中,添加一个新节点只需与中心枢纽建立单一连接,而不是与每个节点建立多个连接。这种线性扩展性对于构建面向未来的区块链互操作性系统至关重要。

  • 更容易的维护:升级和维护任务更易于管理,因为只需要在中心枢纽上的单一通用合约中实施更改,而不是在所有区块链上的不同合约中。

  • 链抽象:通过中心枢纽进行所有通信,开发者可以抽象掉与多个区块链交互的复杂性。这简化了开发过程,使开发者能够创建与任何连接区块链交互的跨链应用程序,而无需管理各自的连接和协议。

  • 统一的流动性:中心辐射模型可以整合多个区块链的流动性,提供一个可以汇集和交换不同链上资产的中心点。这种统一的流动性提高了跨链交易的效率和有效性,减少了碎片化并增强了用户可用的整体流动性。

为了利用这些优势并为未来的 1000 条区块链构建更好的互操作性解决方案,ZetaChain 从点对点消息传递系统过渡到通用的中心辐射模型。

Gateway——ZetaChain 的统一入口

Gateway 是连接链上的智能合约,向开发者公开 API,以便调用 Universal Apps、发送代币、查询 gas 信息等。

新的 Gateway 为 Universal Apps 带来了全面的改造,简化了复杂的多步操作。

此前,ZetaChain 通过 Connector 合约进行点对点消息传递,以实现连接链合约之间的价值和数据传输。Universal Apps 允许 EOAs 和合约通过发送原生 gas 代币到 TSS 地址和 ERC-20 代币到托管合约来与 ZetaChain 交互,并将其转换为 ZRC-20 代币。然而,这种方法缺乏一致性和灵活性,使协议增强变得具有挑战性。

Universal Apps(通用应用):志在让开发者直连每一条区块链

在下一次升级中,所有来自连接链的 Universal Apps 的交互都将通过 Gateway 进行。以下是 Gateway 的概述:

在连接链上

solidity

复制代码

function deposit(address receiver) payable

function deposit(address receiver, uint 256 amount, address asset)

用于将原生 gas 和支持的 ERC-20 代币发送到 ZetaChain 上的地址。当你只想将代币从连接链发送到 ZetaChain 上的地址时,使用此方法。

solidity

复制代码

function depositAndCall(address receiver, uint 256 amount, calldata payload) payable

用于将原生 gas 和支持的 ERC-20 代币发送到 ZetaChain 上的合约,并使用 payload 调用合约。当你想将代币发送到并调用 ZetaChain 上的 Universal App 合约时使用此方法。例如,发送代币到借贷合约或使用通用交换合约在连接链之间进行代币交换。

solidity

复制代码

function call(address receiver, calldata payload)

这是一个简单的 Universal App 合约调用方法。当你只想调用一个 Universal App 而不向其存入代币时,使用此方法。例如,铸造一个 NFT。

在 ZetaChain 上

Universal Apps 可以使用以下方法提取代币并调用连接链上的合约:

solidity

复制代码

function withdraw(address receiver, uint 256 amount, address zrc 20)

用于将 ZRC-20 代币以原生资产形式发送到连接链。例如,你可以将 ZRC-20 BNB 以原生 BNB 资产形式直接发送回 BNB Chain。

solidity

复制代码

function withdrawAndCall(address receiver, uint 256 amount, address zrc 20, calldata message)

用于将 ZRC-20 代币发送到并调用连接链上的合约。例如,将 ZRC-20 USDC 发送到以太坊并调用 Uniswap 合约将 USDC 兑换成以太坊上的另一种 ERC-20 代币。

solidity

复制代码

function call(address receiver, calldata message)

是一个简单的从 Universal App 到连接链合约的调用方法,不涉及代币转移。

Gateway 合约的过渡

从 Connector 合约过渡到 Gateway 合约将使交互更加流畅和高效,提供了一种一致且灵活的处理跨链通信的方法。

调用连接链上的合约

从一开始,ZetaChain 就提供了一种强大的机制,可以抽象掉从连接链发送的代币——ZRC-20 代币标准。ZRC-20 是实现统一流动性的关键。ZRC-20 的主要功能是能够无许可地将代币提取到连接链上作为原生资产。

添加“call”和“withdrawAndCall”方法扩展了 Universal Apps 的功能,使其不仅能够提取 ZRC-20 资产,还能够调用连接链上的合约。例如,从比特币发送 BTC 到 ZetaChain 上的 Universal App,将其锁定在保险库中,提供 USDC,并在以太坊上用 USDC 交换另一种代币——复杂的多步操作现在变得可能。

引入本地开发环境

ZetaChain 提供了丰富的工具集,方便构建 Universal Apps。通过新的以 Universal App 为重点的开发环境,你可以启动一个本地网络、部署合约、与其交互,并几乎立即看到结果,就像一切都在单一链上运行一样。所有操作都可以实时完成,无需等待链升级,这使得测试应用程序变得更加容易。

连接的网络链

ZetaChain 正在不断扩大其连接性:

  • Polygon:已在测试网上可用,预计很快将在 ZetaChain 主网推出。

  • Solana:正在进行整合和概念验证实验,计划在不久的将来在测试网上引入。

关于 ZetaChain

ZetaChain 是一个通用型L1区块链,作为去中心化互联网的基础层,提供一个在每条区块链上实现全球访问、简化操作和实用性的的平台。ZetaChain 的 Omnichain 全链智能合约在 Universal EVM(通用 EVM)上专门为整个加密生态系统的通用链抽象而设计。ZetaChain 可以连接到任何区块链,从以太坊和 Cosmos 到比特币及其他,实现统一的流动性、用户体验和数据,从一个地方管理。Universal Apps(通用应用程序)在 ZetaChain 上是面向未来的,完全兼容现有和新链集成。凭借提议的通用权益证明能力,ZetaChain 支持像原生比特币和以太坊这样的资产质押,换取奖励,为经济安全的无限规模提供动力。

项目后续进展可以关注 ZetaChain 的官方 X 账号@zetablockchain。

开发人员有意在在 ZetaChain 上构建应用,请联系 partnerships@zetachain.com。