跳转到主要内容
在本指南中,您将部署一个真实的程序到 devnet 并调用它,整个流程在 Helius 基础设施上运行。您将使用 requestAirdrop 为钱包提供资金,部署一个预构建的示例程序,然后用 sendTransaction 调用并用 getSignatureStatuses 确认结果。使用现成的程序使重点放在部署和调用循环上,而不是编写 Rust 代码。
先决条件: Solana CLIRust (用于构建程序),Node.js 18+ (用于调用),以及一个 Helius API 密钥。Devnet 适用于所有 Helius 计划。

1

将 Solana CLI 指向您的 Helius devnet RPC

使用您的 Helius 端点进行所有 CLI 命令,如果没有钱包,请创建一个:
solana address 打印钱包的公钥,接下来您将为其提供资金。
2

获取 devnet SOL

部署需要一些 SOL。Devnet SOL 是免费的,只用于测试,因此请用下面的水龙头或从 CLI 为您的地址提供资金:
Devnet 水龙头有速率限制,因此空投可能失败。如果失败,请稍等片刻重试,或使用 Solana 的官方 devnet 网页水龙头 作为后备。部署示例程序仅需要约 1 SOL。
3

克隆并构建示例程序

从 Solana 官方 program-examples 仓库获取”Hello, Solana!”程序。它只是调用时记录一个问候语,这是证明完整循环有效的最小程序。
program-examples 是一个 Cargo 工作空间,因此 cargo build-sbf 将程序编译到仓库根目录(而不是在程序文件夹内)。在 program-examples 目录内进行下一步。
4

通过 Helius 部署到 devnet

CLI 通过您的 Helius RPC 提交部署交易并打印 Program Id。复制它,因为您将调用此程序。
5

使用 sendTransaction 调用程序

在新文件夹中,设置一个小型 TypeScript 客户端,构建一个交易,发送并确认它。
invoke.ts
替换 YOUR_API_KEYYOUR_PROGRAM_ID,然后运行它:
您将获得一个签名和一个 Explorer 链接。打开链接并展开 Program Instruction Logs 以查看程序的 Hello, Solana! 问候语。

发生了什么

一切都通过您的 Helius RPC 路由

solana config set --url 指向每个 CLI 命令(空投、部署和平衡检查)到您的 Helius devnet 端点。TypeScript 客户端使用相同的端点,因此整个流程在 Helius 基础设施上运行。

调用循环:发送,然后确认

sendRawTransaction 在内部调用 sendTransaction RPC 方法并立即返回签名,在网络处理交易之前。这就是为什么您会轮询 getSignatureStatuses 直到 confirmationStatus 达到 confirmed,检查 err 以捕获失败。这个发送后确认的模式是您提交的每个 Solana 交易的基础。

下一步

如何获取 Devnet SOL

提供开发钱包资金的所有方式,以及速率限制提示。

sendTransaction

所有参数,包括 skipPreflight、preflightCommitment 和重试。

可靠地登陆交易

当您进入主网时,使用 Sender 实现超低延迟的登陆。

构建一个投资组合追踪器

其他路径:提取任何钱包的代币、NFT 和 SOL,配有实时活动提要。