Neon EVM 和 Solang
2023 年 7 月,旨在连接以太坊和 Solana 生态系统的两个著名解决方案作为游戏规则改变者进入了舞台:Neon EVM 和 Solang。两者都将流行的编程语言 Solidity 的范围扩展到了 Solana 生态系统,但做法截然不同。
一键发币: SOL | BNB | ETH | BASE | Blast | ARB | OP | POLYGON | AVAX | FTM | OK
以太坊已成为执行智能合约的主导区块链协议。 有些人可能会说它为 dApp 开发人员和最终用户提供了最先进的基础设施。 然而,以太坊面临着重大的技术限制(特别是其 TPS 和 TTF:分别是每秒交易数和最终确定时间)。 此外,以太坊内的交易也相对昂贵。 针对此类问题的以太坊原生解决方案是 L2 扩展; 然而,即使是 L2 和侧链也无法有效解决这些问题。
与以太坊相反,Solana 旨在支持高速和低成本交易。 这使得 Solana 成为高吞吐量、低价值交易的可行解决方案,同时提供透明度和不变性。 截至 2023 年第二季度,Solana 处理的交易比任何其他 L1 区块链都要多。
L1 领域的这种划分虽然是全球自由市场和区块链技术优势的自然结果,但却对区块链领域的建设者产生了负面影响。 直到 2023 年,dApp 都与这些主要区块链之一或其他区块链绑定,无法访问邻近生态系统的用户。 随着去中心化应用程序 (dApp) 的兴起以及对区块链可扩展性的需求不断增加,互操作性提供了巨大的潜力。
2023 年 7 月,旨在连接以太坊和 Solana 生态系统的两个著名解决方案作为游戏规则改变者进入了舞台:Neon EVM 和 Solang。 具体来说,两者都将流行的编程语言 Solidity 的范围扩展到了 Solana 生态系统。 然而,他们的做法却截然不同。 本文讨论了 Neon EVM 和 Solang 的功能,强调了它们不同但协同的关系,以及它们如何为跨链开发做出贡献。
1、什么是 Neon EVM?
Neon EVM 是部署在 Solana 上的与以太坊兼容的生态系统,使以太坊应用程序能够作为本机 EVM 应用程序在 Solana 网络上运行,通过利用 Solana 的高速和低成本环境来扩展以太坊 dApp 的功能。
将交易发送到 Neon EVM 上运行的应用程序的体验与任何 EVM 没有什么区别。 在公共 RPC 端点接收到的类似以太坊的交易由 Neon 代理重新打包为与 Solana 兼容的交易。 这使得以太坊本地开发人员可以使用任何与以太坊兼容的语言创建 dApp,Solidity 只是其中之一。
Neon EVM 使开发人员能够在 Solana 上使用以太坊原生工具链。 这包括流行的钱包,例如 MetaMask 和钱包协议 WalletConnect。 同样,还支持以太坊开发人员熟悉的框架,例如 Truffle、Hardhat 等。 此外,还可以集成以太坊本地浏览器,例如 Blockscout。 Neon EVM 在 EVM 中的独特之处在于这些交易记录在 Solana 上。
Neon EVM 使 dApp 能够像部署到任何 EVM 一样进行部署,同时以更低的成本进行交易。 重要的是,它在做到这一点的同时抽象出了 Solana 和以太坊的程序、存储和计算模型之间的差异。 以太坊原生开发者可以保持以太坊原生,不需要成为以太坊和 Solana 之间显著差异的专家。
Neon EVM 抽象了 Solana 和以太坊的程序、存储和计算模型之间的差异,以便以太坊原生开发人员可以简单地将其 dApp 部署到使用 Solana 作为结算层的 EVM,而无需深入了解 Solana。
2、是什么Solang?
Solang 是一个 Solidity 编译器 — 为 Solana 虚拟机编译用 Solidity 编写的智能合约。 它编译生成 SBF(Solana 字节码格式)合约代码。 在 Solang 推出之前,开发人员需要熟练掌握 Rust 或其他与 Solana 兼容的语言(例如 C 或 C++),才能在 Solana 上创建 dApp。
3、Neon EVM 与 Solang
让我们用一个类比来帮助澄清 Neon EVM 服务和 Solang 编译器之间的区别。 在移动应用程序领域,Xamarin 等工具提供跨平台移动应用程序开发。 开发人员使用 C# 创建应用程序,然后将其编译到 Android 和 iOS。 Xamarin 消除了移动应用开发人员专注于两种移动操作系统的需求。
Neon EVM 提供了与 Xamarin 类似的抽象层:它提供了一个平台,开发人员可以通过该平台使用 EVM 兼容语言(例如 Solidity)进行编码,并在另一个操作系统上部署为一个操作系统(在本例中为 EVM)开发的 dApp, 即Solona。 Neon EVM 通过在 Solana 上执行 EVM 代码,消除了两个 L1 之间的差异。 从开发人员的角度来看,使用 Neon EVM 与任何其他 EVM 之间的主要区别只是更改事务请求发送到的 RPC 端点。 支持相同的操作码,并且交易按照任何 EVM 进行处理。 这适用于大多数 dApp(Neon EVM 文档中描述了增量)。
Solang做了一些非常不同的事情。 Solang 为 dApp 开发人员提供了使用 Solidity 编码(而不是 Rust 或 C/C++)来为 Solana 开发 dApp 的能力。 正如 Xamarin 使 C# 成为一种更通用的语言一样,Solang 使 Solidity 具有更广泛的影响力。 然而,Solang 并没有抽象出 Solana 和以太坊截然不同的内存、计算和执行模型。 为了适应以太坊和 Solana,开发人员有必要了解这两个系统互操作性的局限性,并在 dApp 的设计和开发中适应这些局限性。 同样,dApp 的前端和后端服务必须根据 Solana 的规则与 Solana 的 API 进行交互。 简而言之,使用 Solidity 为 Solana 开发的 dApp 仍然是 Solana 原生的。
通过使用 Neon EVM,开发人员无需考虑 Solana 基础层和以太坊基础层之间差异的复杂性。 相反,Neon 代理将类似以太坊的交易重新打包为与 Solana 兼容的交易。 这使得开发人员可以将他们的 dApp 从以太坊迁移到 Solana,只需对代码库进行最少的重新配置。
4、Solang 和 Neon EVM 有什么共同点?
在 Solana 生态系统中,Neon EVM 和 Solang 发挥着不同但重要的作用。 Solang 和 Neon EVM 的作用是让 Solidity 开发人员能够开发与 Solana 兼容的 dApp。 Solang 使开发人员能够使用 Solidity(一种他们在以太坊生态系统中熟悉的语言)来编写 Solana 可执行程序。 Neon EVM 使 Solidity 开发人员能够快速将现有的 EVM 兼容项目迁移到 Solana。
5、代币访问和互操作性
Neon EVM 和 Solang 都提供对 Solana 原生代币、SPL 代币的访问。 Solang 开发的部署到 Solana 的 dApp 将提供对 SPL 代币的直接访问。 相比之下,Neon EVM 包含一个预编译合约,该合约提供 ERC-20 接口以从与以太坊兼容的钱包访问 SPL 代币。
6、将以太坊项目迁移到 Solana
对于希望将项目迁移到 Solana 的以太坊开发人员来说,Neon EVM 提供了不可或缺的工具。 开发人员可以继续使用以太坊工具链,例如用于交易签名的 MetaMask 和用于网络探索的 BlockScout。 另一方面,Solang 提供了直接 Solana 程序开发所需的工具,使开发人员能够灵活地在不同环境中使用熟悉的工具。
7、结束语
2023 年 7 月,随着 Neon EVM 和 Solang 的推出,以太坊和 Solana 的互操作性发生了一场革命,两者以互补的方式弥合了以太坊和 Solana 生态系统之间的三角洲:促进以太坊和 Solana 之间的和谐集成。
旨在以太坊应用程序和 Solana 程序之间创建深度集成的开发人员可以从这两种工具中受益。
对于那些想要从头开始开发 Solana 原生 dApp 并将其构建为与 Solana 的编程、计算和内存模型兼容,同时保留 Solidity 作为代码库的人来说,Solang 是完美的解决方案。 而对于那些希望利用以太坊计算层在 Solana 上进行交易的 dApp 开发人员来说,可以利用 Solana 的并行交易功能并降低交易费用; 只需对其 dApp 的现有代码库进行最少的重新配置,Neon EVM 就等待接受你的交易。
原文链接:Bridging the gap between Ethereum and Solana: Neon EVM and Solang
DefiPlot翻译整理,转载请标明出处