Solana Signature SDK 是一个以开发人员为中心的工具包,旨在将 Solana 钱包(例如 Phantom、Backpack 和 Solflare)集成到通过 Neon EVM 部署在 Solana 上的与以太坊兼容的 dApp 中。
关键要点
- 统一的用户体验:使用与 Solana 兼容的钱包以及与以太坊兼容的 dApp 进行交易签名。
- 技术创新:通过链上签名验证支持以太坊交易的 Solana 原生 ed25519 签名。
- 简化开发:通过 SDK 快速集成钱包和交易管理,几分钟内即可完成设置和功能。
- 生命周期透明度:从钱包到 Neon EVM 上执行的交易流程的详细概述。
- 高级功能:支持 Solana 程序调用、ERC20-SPL 资产管理和交易调度。
随着 Solana 签名钱包 SDK 的发布,我们朝着实现 Solana 原生集成和简化 Solana 环境中与以太坊兼容 dApp 的用户交互迈出了重要的变革一步,正如我们的白皮书中所强调的那样。
Neon EVM 和钱包集成简介
Solana 签名钱包 SDK 工具包使开发人员能够构建 dApp,使 Solana 用户能够与部署在 Neon EVM 上的智能合约进行交互。与以太坊兼容的 dApp 历来依赖类似以太坊的签名 (secp256k1) 进行交易身份验证。这种依赖关系为 Solana 用户带来了障碍,要求他们使用 MetaMask 等其他工具并进行复杂的流动性转移。Solana 签名钱包 SDK 与 Neon Proxy 一起解决了这个问题。通过匹配 Solana 的 ed25519 签名方案和以太坊的交易要求,此 SDK 简化了钱包集成和跨生态系统的资产可访问性。
从本质上讲,此 SDK 简化了交易管理,如下所示:
- 在 Solana 钱包内创建 EVM 交易。
- 通过 Neon EVM 的链上内存池打包并提交交易
- 通过 Neon Proxy 执行和状态管理
- Neon 和 Solana 的状态更新。
通过抽象交易转换的复杂性并增强两个网络之间的兼容性,它允许开发人员专注于构建和与去中心化应用程序(dApps)交互,而不必担心底层基础设施障碍。
让我们深入了解细节、技术概述、代币管理流程、优势、局限性和未来前景。
Solana 签名钱包 SDK 详细概述
Neon EVM Solana 签名钱包 SDK 是一种模块化且灵活的解决方案,旨在使开发人员和用户受益。
好处:
对于用户
- 简化的体验:使用现有的 Solana 钱包与与以太坊兼容的 dApp 进行交互。
- 降低复杂性:无需额外的钱包或复杂的流动性转移。
对于开发人员
- 快速集成:通过全面的 SDK 工具简化钱包连接和交易工作流程。
- 生态系统兼容性:构建适合 Solana 和以太坊用户的 dApp,无需额外的开发开销。
Solana 签名验证:功能
Neon EVM Solana 签名钱包 SDK 的一个突出功能是它能够使用 Solana 的 ed25519 签名系统验证 Solana 交易。这一增强功能对于确保通过 Solana 钱包(例如 Phantom、Solflare 和 Backpack)发起的交易在 Neon EVM 网络上准确、安全地处理至关重要。
验证过程在 Neon Proxy 中实时进行,它会在 Neon EVM 上执行任何交易之前检查 Solana 签名的真实性。通过原生验证 Solana 的 ed25519 签名,Neon Proxy 无需手动验证签名或使用中间层。这意味着交易可以安全地处理,延迟最少,确保每笔交易都经过身份验证并正确记录。
这种实时验证机制对于 Solana 钱包用户直接与部署在 Neon EVM 上的与以太坊兼容的 dApp 交互至关重要,而无需单独的身份验证方法或 MetaMask 等附加工具。
对于 SDK,为确保流畅的用户体验,两个关键关注领域包括:
- 通过 Neon Proxy 实现的技术功能;
- 使用 ERC20ForSPL 管理进行资产管理,用于以太坊和 Solana 网络之间的代币转移。
继续阅读,了解 Neon Proxy 如何支持这一点,以及 ERC20ForSPL 合约如何管理 Solana 和以太坊兼容环境之间的代币余额和转移。
Neon Proxy 变更:增强基础设施功能
Neon Proxy 对于促进交互至关重要。它将类似以太坊的交易打包到 Solana 交易中,消除了实现转换逻辑的负担。代理架构的最新更新引入了新功能,优化了交易处理,并确保与现有系统的兼容性,同时整合了 Solana 签名基础设施。
Solana 签名 SDK 的关键代理增强功能
- Solana 签名验证: Neon Proxy 现在可以验证 Solana 的 ed25519 签名,使 Solana 钱包(Phantom、Backpack、Solflare 等)能够直接向 Neon EVM 签名并提交交易。这消除了中间层,简化了流程并确保了安全性。
- 链上内存池集成:借助链上内存池支持,Solana 钱包交易可以在 Neon EVM 生态系统中透明高效地存储、验证和执行。这一改进增强了可扩展性,并消除了对交易调度链下操作的依赖。
为了实现链上内存池,Neon 引入了NeonTxs 树的概念。这将单个大交易拆分为更小、可管理的单元(NeonTxs),同时保持整体逻辑。
工作原理
-
交易树:
Neon 合约创建了一个交易“树”,其中较小的单元(分支)可以独立执行。
每个交易都是原子的,这意味着只有交易成功完成,其变化才会生效。 -
并行执行:
独立交易可以并行运行,从而加快进程。 -
错误处理:
如果树中的一个交易失败,它不会破坏整个过程。Neon 合约的逻辑可以决定如何处理失败。 -
最终聚合:
树中的所有交易完成后,它们的结果将被组合(聚合)成最终交易。
使用 Solana 签名 SDK 的代理工作流
-
交易创建:
Solana 用户通过使用 Solana Signature SDK 通过他们的原生钱包(Phantom、Backpack、Solflare)对交易进行签名来发起交易。
交易通过SDK打包成Neon兼容的格式并发送给Neon Proxy。 -
链上调度和映射:
Neon Proxy 将用户的 Solana 钱包地址映射到与以太坊兼容的地址,确保与 Neon EVM 上基于以太坊的智能合约正确集成。
该交易在 Neon EVM 内存池中链上调度,等待执行。 -
交易执行:
Neon Proxy 扫描内存池以查找预定的交易,并使用 Solana 的 ed25519 签名来验证它们。
该交易在 Neon EVM 上执行,触发智能合约交互并更新 Solana 和 Neon 网络上的状态。 -
执行后清理:
Neon Proxy 通过清理临时资源来确保高效的系统维护,从而优化未来的交易。
虽然 Neon Proxy 可以作为 Solana 钱包和 Neon EVM 生态系统之间交互的推动者,但要充分发挥市场潜力,需要消除资产管理碎片化。跨网络的统一资产管理是推动采用和更集成的用户体验的关键。
ERC20ForSPL 更新:统一代币管理
SDK 的主要功能是其完善的 ERC20ForSPL 合约逻辑,解决了以太坊和 Solana 之间的互操作性挑战。合约通过使 ERC-20 代币能够在 Solana 环境中运行来连接两个网络。重点是完善 ERC20ForSPL 合约逻辑,以统一余额、保持向后兼容性并为开发人员引入强大的工具。具体方法如下:
统一余额管理
- PDA 和 ATA 集成:Neon EVM 目前使用程序派生地址 (PDA) 来管理余额。随着关联代币账户 (ATA) 使用的实施,合约将整合这两个关键 Solana 组件,以统一的方式管理余额。
- 转账优先级:在转账时,合约优先使用PDA余额,如果PDA余额不够,则使用ATA余额。
- 消除碎片化:这种统一使得代币管理变得更简单、更少碎片化,为用户提供统一的代币管理体验。
这里的传输逻辑很简单:
- 收件人地址验证:在发送代币之前,合约会检查收件人的地址是否与以太坊(EVM)兼容,并确保他们的 ATA(Solana 版本的钱包)已初始化。
- 有条件传输:如果 ATA 已准备就绪,令牌将发送到那里。如果没有,则默认将令牌发送到 PDA。
- 综合余额视图:balanceOf方法现在提供PDA和ATA余额的统一视图,确保准确反映用户的总持有量。
向后兼容性和安全性
虽然 ERC20ForSPL 合约已经更新,但保持向后兼容性(确保现有实现继续不中断地运行)同时添加新功能以增强功能仍然至关重要。
为此,合约通过保留状态变量、方法签名和事件参数来保持与现有实现的兼容性。它在 0xFf000000000000000000000000000000000000000000007 下引入了新的预编译方法,增强了开发人员的能力。isSolanaUser 确定 EVM 地址是否对应于 Solana 帐户,而 solanaAddress 检索与 EVM 地址关联的 Solana 公钥。
构建器预览:使用 SDK 创建的 Neon 交易的生命周期
步骤 1:在前端创建交易
- 使用 ethers.js、web3.js 或任何其他工具创建 Neon EVM 交易。
- 使用 Native Wallet SDK 将交易打包成 Solana 交易,通过 Neon Proxy 获取必要的元数据。
- (可选):添加 Solana 资产审批说明,以便 Neon EVM 智能合约直接访问。
步骤 2:Solana 钱包签署并提交交易
- dApp 前端将打包的交易发送到用户的 Solana 钱包。
- 用户通过其钱包 UI 审查并签署交易。
- 钱包将签名的交易提交给 Solana 网络,并将其安排在 Neon 的链上内存池中。
步骤 3:Neon Proxy 执行预定交易
- Neon Proxy 扫描链上内存池并识别准备执行的交易。
- 在 Neon EVM 上执行交易,从而导致 Neon 和 Solana 上的状态更新。
- 执行后从内存池中删除交易。
开始使用 SDK
访问存储库:深入研究GitHub上的 Neon Solana Signature SDK 。
开发人员文档:探索全面的文档。
社区开发者支持:加入我们的Discord。查看 Discord 开发频道以获取实时帮助,并寻求我们仅限邀请的 Telegram Builder 聊天访问权限。
原文:https://neonevm.org/blog/unveiling-solana-signature-sdk-enabling-solana-users-to-access-evm-dapps