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

Solana Devnet Explorer

Orb 浏览器支持所有三个 Solana 集群:
  1. Mainnet-beta
  2. Devnet
  3. Testnet
要访问这些集群,请在用户界面右上角选择您的集群。
The Orb Solana Devnet Explorer Jp
或者,您可以在 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
如果有重复项,请在发行方的文档中验证代币地址是否正确,例如,Circle 的 USDC 代币铸造地址列表 包含了他们支持的所有网络和集群。 Solana Devnet USDC 的铸造地址是:4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU 如果您正在测试自定义代币功能,可能需要使用 Solana Token Program (Devnet)Token 2022 Program (Devnet) 自行铸造代币。

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

Solana 上 Devnet 探索器的一个常见用例是在将程序部署到 Mainnet-beta 之前,先在 Devnet 上对其进行交易故障排除。 在此示例中,我们查看一个与封装 SOL 相关的失败交易

使用 AI 解释

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

检查日志

要进一步调试交易,请点击日志选项卡。此视图显示了交易期间调用的程序列表、它们调用的指令、消耗的计算单元数量及其状态(即成功或失败)。
Debug On Chain Program Errors On The Orb Solana Devnet Explorer Jp
在这个具体示例中,我们看到在 Token Program 的 TransferChecked 指令期间,程序记录了“资金不足”错误并返回 0x1 错误。

检查原始输出

为了进一步调试,让我们查看原始输出以确定哪个钱包有问题,他们试图转移的代币以及交易前的余额。
Solana Devnet 代币转移原始指令日志在 Orb Explorer Jp 上
在此,我们可以看到 innerInstruction(索引 2,或第 3 个指令)是 TransferChecked 类型,它尝试从 GVBbU...5TUP 代币账户的 Bzi4...tuvF 钱包向 2yXu...qsTP 目标代币账户发送 26,874,347.041642 单位的 DaHE...8R8i 代币(野生动物保护币)。 向下滚动,我们可以看到指令日志确认索引 2 的内部指令在 Token Program 的 TransferChecked 指令上记录了资金不足错误。
在 Orb Solana Devnet 探索器上解析的原始 Json 指令日志 Jp
由于我们知道 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 消息铸造者CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3
Circle CCTP 消息传输器CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd
Chainlink OCR2 预言机程序cjg3oHmg9uuPsP8D6g29NWvhySJkdYdAo9D25PRbKXJ
Metaplex 程序p1exdMJcjVao65QdewkaZRUnU6VPSXhus9n2GzWfh98
Metaplex 令牌元数据程序metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s
名称服务程序namesLPneVptA9Z5rqUDD9tMTWEJwofgaYwp8cawRkX
NFT 糖果机程序 V2cndy3Z4yapfJBmL3ShUp5exZKqR3z33thTzeNMm2gRZ
Pump.fun AMMpAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA
Pyth 预言机程序gSbePebfvPy7tRqimPoVecS2UsBvYv46ynrzWocc92s
状态压缩程序cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK
虫洞核心桥HDwcJBJXjL9FpJ7UBsYBtaDjsBUhuLCUYoz3zr8SWWaQ
虫洞令牌桥DZnkkTmCiFWfYTfT41X3Rd1kDgozqzxWaHqsw6W4x2oe
就像在 Mainnet-beta 上研究 Solana 程序一样,Orb 的 Devnet 程序查看器提供交易历史、IDL、验证详情、安全信息和权限。
Solana Devnet Program Idl Explorer On Orb For The Wormhole Core Bridge Contract Jp

结论

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