XVM:跨EVM和WASM两个虚拟机

23-01-10 banq

大多数团队都习惯于EVM环境,尽管WASM是未来的发展方向!
这就是我们创建跨EVM和WASM两个虚拟机的XVM的原因!
这样,开发人员可以开始构建面向未来的WASM智能合约,而无需离开EVM项目。

WASM 智能合约虚拟机
WebAssembly (WASM) 是一种消息格式,WebAssembly 虚拟机可以读取它来解释 WASM 字节码。严格来说,WASM是指为了与虚拟环境中的系统进行通信而由更高级的语言编译而成的消息格式。但为了简单起见,当我在本文中说到 WASM 时,这将同时指代 WASM 作为二进制文件和区块链中的虚拟机。

WASM 最初用于浏览器使用从系统级语言编译的二进制文件,并为 Web 应用程序创建接近本机的性能。但是由于 WASM 的可移植性,这也可以在浏览器之外执行。

因为 WASM 的 VM 和以太坊虚拟机(EVM)一样是基于堆栈的 VM,所以只要编译成 WASM 二进制文件就可以创建智能合约执行环境。与 EVM 不同,这意味着通过 WASM,可以创建一个区块链来执行以 WASM 为目标的语言编写的智能合约,例如 Rust、Go、C++ 等,它们都支持类型安全和适当的错误处理。

此外,由于大多数可以编译为 WASM 的主要语言在其语法中原生支持异步函数,因此可以将异步性引入 WASM 智能合约。对于互操作性,这意味着您现在可以在智能合约中处理跨链功能,而不是在不知道响应是什么的情况下盲目发送消息。考虑到该部门缺乏 EVM 和 Solidity,这对于在 DeFi 之外创建行业级和跨链原生应用具有重大意义。基于许多因素,WASM 是智能合约的未来。然而,由于与 EVM 的兼容性问题,区块链技术的大规模采用正成为一个挑战。

XVM 背后的动机
我们都知道,从技术上讲,基于 WASM 的智能合约是必经之路。然而,在 EVM 主导的世界中采用 WASM 智能合约时存在重大挑战。大多数团队已经习惯了丰富的 EVM 生态系统。由于大多数 WASM VM 生态系统规模小且过于陌生,许多现有项目没有看到从头开始学习 WASM 智能合约的好处,并牺牲了对 EVM 生态系统的访问权限。
我们制作 XVM 就是为了解决这个确切的问题。

XVM 是一个自定义托盘和一组接口,允许一个虚拟机中的智能合约与另一个虚拟机进行通信,就好像它们处于同一环境中一样。换句话说,使用 XVM,您可以创建ink!智能合约并访问 EVM 端可用的任何资产或合约。此外,如果 Astar 的 EVM 连接到另一个第 0 层,如 Axelar 或 Celer,您可以创建一个墨水智能合约,可以访问连接到 Axelar 和 Celer 的所有 EVM 链!

可能性是无限的,我们希望 XVM 将鼓励构建者开发创新的 dApp,而不会牺牲不与大型 EVM 生态系统交互。

从智能合约中使用 XVM 非常简单。但是为了使开发过程更加简单,我们为 EVM 和 WASM VM 世界中常用的接口准备了一个 XVM SDK。

请查看ink!XVM SDK存储库创建 ink!可以控制 ERC20、ERC721 等的合约。在社区的帮助下,我们可以扩展 SDK 以支持更多接口,为 Solidity 和 Ask! 创建一个 SDK,并创建可以利用 XVM 的示例 dApp。