跳转到主要内容
Solana 的 Devnet 环境是 Solana 开发工作流程的重要组成部分。 本文介绍了使用 Orb,我们的新 Solana Devnet 区块浏览器 的基础知识,包括查找程序、检查交易和调试错误。

Solana Devnet Explorer

Orb 浏览器支持所有三个 Solana 集群:
  1. Mainnet-beta
  2. Devnet
  3. Testnet
要访问这些集群,请在用户界面右上角选择您的集群。
The Orb Solana Devnet Explorer Jp

在 Orb 上将 Solana 集群更改为 Devnet

或者,您可以在 URL 的末尾附加集群的参数:
  • ?cluster=mainnet-beta
  • ?cluster=devnet
  • ?cluster=testnet

如何在 Solana Devnet 上查找代币铸造地址

在 Solana Devnet 上测试程序时,您需要从 Solana Devnet 水龙头获取 Devnet SOL,或者通过调用 Solana CLI 的空投方法获取。您还需要一个 Solana Devnet RPC 端点,您可以在您的 Helius Dashboard 中免费获取。 除了 Devnet SOL,您可能还需要其他代币,例如 Devnet USDC。要在 Devnet 上找到 Solana 代币铸造地址,请在搜索栏中输入代币的名称。
Find Solana Devnet Tokens On The Orb Explorer Jp

在 Orb 上搜索 Solana Devnet 代币

如果有重复项,请在发行方的文档中验证代币地址是否正确,例如,Circle 的 USDC 代币铸造地址列表 包含了他们支持的所有网络和集群。 Solana Devnet USDC 铸币地址是:4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU 如果您正在测试自定义代币功能,您可能需要使用Solana Token Program (Devnet)Token 2022 Program (Devnet)铸造您自己的代币。

如何调试 Solana Devnet 上的失败交易

Solana 上 Devnet 探索器的一个常见用例是在将程序部署到 Mainnet-beta 之前,先在 Devnet 上对其进行交易故障排除。 在这个例子中,我们来看一个涉及包装 SOL 的随机失败交易

使用 AI 解释

点击“使用 AI 解释”按钮,我们看到使用Raydium CP Swap Program程序 (DRay…Wpyb) 的交换由于“资金不足”错误 (0x1) 而失败,该错误发生在代币转移期间。
Ai Explanation Of A Failed Solana Devnet Transaction On The Orb Explorer Jp

使用 Orb 的 AI 解释器理解 Solana Devnet 上的失败交易

检查日志

要进一步调试交易,请点击日志选项卡。此视图显示了交易期间调用的程序列表、它们调用的指令、消耗的计算单元数量及其状态(即成功或失败)。
Debug On Chain Program Errors On The Orb Solana Devnet Explorer Jp

在 Orb 的 Solana Devnet 探索器上查找失败的交易日志

在这个特定的例子中,我们看到在 Token Program 的 TransferChecked 指令期间,程序记录了一个“资金不足”错误并返回了 0x1 错误。

检查原始输出

为了进一步调试,让我们查看原始输出以确定哪个钱包有问题,他们试图转移的代币以及交易前的余额。
Solana Devnet 代币转移原始指令日志在 Orb Explorer Jp 上

在 Orb 上读取 Solana Devnet 交易的原始 JSON 输出

在这里,我们可以看到 innerInstruction(索引 2,或第 3 条指令)是类型 TransferChecked,它试图从 GVBbU...5TUP 代币账户将 26,874,347.041642 单位的 DaHE...8R8i 代币(野生动物保护币)从 Bzi4...tuvF 钱包发送到 2yXu...qsTP 目标代币账户。 向下滚动,我们可以看到指令日志确认索引 2 的内部指令在代币程序的 TransferChecked 指令上记录了资金不足错误。
在 Orb Solana Devnet 探索器上解析的原始 Json 指令日志 Jp

在 Orb Devnet 探索器上找到 Solana 的代币程序记录的“资金不足”错误

因为我们知道 DRay…WpYbRaydium CP Swap Program 程序,我们可以假设持有 DaHE...8R8i 代币的流动性池没有足够的资金来完成请求的交换量。

如何查找 Solana Devnet 程序地址

Solana Devnet 探索器的另一个常见用例是查找为测试目的而部署在 Devnet 上的程序的 Program ID。 就像探索 Solana Mainnet-beta 上的程序一样,只需将集群更改为 Devnet,按名称查找程序,然后点击结果。 如果您要查找的程序尚未标记,请联系我们的团队。

核心 Solana Devnet 程序 ID

以下是部署在 Devnet 上的一些最重要的核心 Solana 程序:
程序名称Solana 程序 ID
系统程序1111111111111111111111111111111
代币程序TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
代币 2022 程序TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
投票程序Vote111111111111111111111111111111111111111
计算预算程序ComputeBudget111111111111111111111111111111
关联代币账户程序ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL
地址查找表程序AddressLookupTab1e1111111111111111111111111
备忘录程序MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr
备忘录程序 V1Memo1UhkJRfHyvLMcVucJwxXeuD728EqVDDwQDxFMNo
配置程序Config111111111111111111111111111111111111
Ed25519 SigVerify 预编译Ed25519SigVerify111111111111111111111111111
Secp256k1 SigVerify 预编译KeccakSecp256k11111111111111111111111111111
质押程序Stake11111111111111111111111111111111111111
质押池程序SPoo1Ku8WFXoNDMHPsrGSTSG1Y47rzgn41SLUNakuHy

Solana Devnet 应用程序 ID

为了测试集成,开发者还希望测试流行的链上程序,如 Metaplex、Jupiter、Pyth、Wormhole、Pump.fun 等。 以下是一些最流行的 Solana Devnet 程序 ID:
程序名称Solana 程序 ID
CCTP Message MinterCCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3
Circle CCTP Message TransmitterCCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd
Chainlink OCR2 Oracle Programcjg3oHmg9uuPsP8D6g29NWvhySJkdYdAo9D25PRbKXJ
Metaplex Programp1exdMJcjVao65QdewkaZRUnU6VPSXhus9n2GzWfh98
Metaplex Token Metadata ProgrammetaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s
Name Service ProgramnamesLPneVptA9Z5rqUDD9tMTWEJwofgaYwp8cawRkX
NFT Candy Machine Program V2cndy3Z4yapfJBmL3ShUp5exZKqR3z33thTzeNMm2gRZ
Pump.fun AMMpAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA
Pyth Oracle ProgramgSbePebfvPy7tRqimPoVecS2UsBvYv46ynrzWocc92s
State Compression ProgramcmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK
Wormhole Core BridgeHDwcJBJXjL9FpJ7UBsYBtaDjsBUhuLCUYoz3zr8SWWaQ
Wormhole Token BridgeDZnkkTmCiFWfYTfT41X3Rd1kDgozqzxWaHqsw6W4x2oe
就像在 Mainnet-beta 上研究 Solana 程序一样,Orb 的 Devnet 程序查看器提供交易历史、IDL、验证详情、安全信息和权限。
Solana Devnet Program Idl Explorer On Orb For The Wormhole Core Bridge Contract Jp

在 Orb 探索器中部署在 Solana Devnet 上的 Wormhole 核心桥接程序的 IDL

结论

在 Solana Devnet 上部署程序和调试错误是 Solana 开发生命周期中的关键步骤。Orb 是一个快速且人性化的 Solana Devnet 区块链浏览器,使开发者能够轻松理解链上发生的事情,发现问题并加以解决。 有关 Orb 的更多信息,请阅读我们的公告用户指南 对于 Solana Devnet 的替代方案,请探索新的开发者工具,如 Surfpool