本文介绍了两个新兴项目Solang和Neon,它们使开发者能够使用Solidity编写智能合约并部署到Solana。文章深入探讨了Solana的基本特性、这两个工具的工作原理及其优缺点,并提供了如何开始使用它们的指南,适合对Solana生态系统有一定了解的开发者。
Solana 开发者生态系统正在不断发展。最近,两个项目出现,使开发者可以使用 Solidity 编写智能合约并将其部署到 Solana。这些项目是 Solang 和 Neon。本指南将提供这两个项目的概述,比较和对比它们,并显示你可以开始构建的地方。
在我们深入到 Solang 和 Neon 之前,先了解一些对理解 Solana 有帮助的特性(如果你想更深入地了解 Solana,请查看我们的 参考指南)。
Solana 为开发者提供了许多优势,包括:
通过使用 Solang 或 Neon 构建,你可以享受 Solana 的速度、成本和用户群的优势,同时利用你现有的 Solidity 知识。
由于 Solana 的状态和账户架构与以太坊不同,因此无法简单地将以太坊智能合约部署到 Solana。Solang 和 Neon 是两个新的工具,它们抽象了许多 Solana 与以太坊的不同之处。这使得开发者能够使用 Solidity 编写智能合约,并将其部署到 Solana。
从高层来看,Solang 是一个 Solidity 编译器,它将 Solidity 智能合约编译为 Solana 程序。Neon 是一个在 Solana 上运行的 EVM 实现(安装在 Solana 账户中的整个 EVM 执行层),可以与 Solana 区块链交互。由于它们有很大不同,先让我们来看一下每一个。
Solang 是一个将 Solidity 代码编译成 Solana 程序的 Solidity 编译器。大多数 Solana 开发使用 Rust 进行,并编译为可以由 Solana 运行时以字节码形式使用。Solang 是一种替代方法,它使用 LLVM 编译框架将 Solidity 代码编译为 Solana 字节码格式合约代码。这意味着已部署的程序可以直接访问 Solana 运行时。
主要特性:
Neon 是一个在 Solana 可执行账户中部署的以太坊虚拟机(Solana 智能合约中的整个 EVM 执行层)。这是因为 EVM 仅占 2MB,而 Solana 账户最多可以存储 10MB 的可执行数据。Neon 不是 L2 解决方案或侧链——Neon 是在 Solana 上运行的完整 EVM 实现。Neon 的类比可能是 WSL,它允许你在 Windows 上运行 Linux,同时仍然使用 Windows 应用程序。这是 Neon 工作原理的简化示意图:
(来源:Neon 文档)
为了在 Solana 上启用类 EVM 体验,Neon 向用户抽象了许多 Solana 账户和交易的细微差别。这意味着单个 Neon 交易可以生成并有效地包装多个 Solana 交易。例如,调用智能合约函数的 Neon 交易可能会生成一个 Solana 交易以创建一个新账户,一个 Solana 交易来转移代币,以及一个 Solana 交易来调用智能合约函数。你可以在 Neon Explorer 交易浏览器中看到这一点:
主要特性:
让我们对比一下 Solang 和 Neon:
属性 | Solang | Neon |
---|---|---|
浏览器 | 任何 Solana Explorer | Neon Explorer |
支持的代币 | SPL 代币 | ERC20 代币及<br>包装的 SPL 代币 |
开发工具 | Solang, Anchor | Solidity 工具(例如,Hardhat) |
钱包 | Solana 钱包<br>(例如 Phantom) | EVM 钱包<br>(例如 Metamask) |
Gas代币 | SOL | NEON |
客户端工具 | Solana-Web3.js | Ethers.js |
账户地址 | 32 字节公钥 | 20 字节公钥 |
结算层 | Solana | Solana |
结算速度 | 约 400 毫秒 | 约 400 毫秒 |
重要的是要记住,Solang 和 Neon 都是新的工具。虽然它们都是开源并且经过审计,但它们仍然年轻。因此,使用这些工具时需要意识到风险。在使用 Solang 和 Neon 将 Solidity 智能合约部署到 Solana 时,有几个考虑区域很重要(注意:此列表并不详尽。如果你计划将合约部署到生产环境,请咨询安全专家。)。
Solang 和 Neon 都经过审核,并且都是开源的,体现了社区对安全性的承诺。关注开发者的更新、查看审核细节并与社区互动,可以帮助开发者利用这些工具,同时意识到相关风险。审核报告及更多信息的链接如下:
要开始使用 Solang,请查看我们的 指南:如何使用 Solidity 和 Solang 创建 Solana 程序。该指南将带你逐步了解如何使用 Anchor 启动新项目,使用 Program Derived Addresses 等关键 Solana 概念以及将程序部署到 Solana。
查看 Neon 的快速入门指南 在这里,以了解如何设置 Neon 项目、部署智能合约并使用 Metamask 与之进行交互:
你现在对 Solang 和 Neon 及其如何在 Solana 上构建有了深入的了解。那么你还在等什么?行动起来,开始构建吧!
我们仍然处于在 Solana 上使用 Solidity 可以做的事情的早期阶段,因此我们非常期待看到你所构建的东西。请在我们的 Discord 上分享你的进展,并在 Twitter 上关注我们的最新动态!
告诉我们 如果你有任何反馈或对新主题的请求。我们期待听到你的声音。
- 原文链接: quicknode.com/guides/sol...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!