solana-kit
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSkill based on Kit (anza-xyz/kit), generated 2026-02-25.
Concise reference for building Solana apps with Kit: functional API, tree-shakeable imports, RPC + RPC Subscriptions, signers, transaction messages, account fetch/decode, codecs, and program clients.
基于Kit(anza-xyz/kit)开发的Skill,生成于2026-02-25。
这是使用Kit构建Solana应用的简明参考文档,涵盖函数式API、可摇树导入、RPC及RPC订阅、签名器、交易消息、账户获取/解码、编解码器和程序客户端等内容。
Core References
核心参考
| Topic | Description | Reference |
|---|---|---|
| Setup | Install, RPC/RPC Subscriptions, typed client | core-setup |
| RPC | HTTP client — getBalance, getAccountInfo, getLatestBlockhash, send | core-rpc |
| RPC Subscriptions | WebSocket — accountNotifications, slotNotifications | core-rpc-subscriptions |
| Functional | pipe(), pipeline transforms | core-functional |
| Signers | KeyPairSigner, airdrop, wallet swap, no-op | core-signers |
| Transactions | pipe, fee payer, lifetime, instructions, sign, send-and-confirm | core-transactions |
| Transaction confirmation | Block height exceedence, recent signature, nonce invalidation, timeout | core-transaction-confirmation |
| Accounts | fetchEncodedAccount, program fetch/decode (fetchMint, decodeMint) | core-accounts |
| Address lookup tables | fetchLookupTables, compress message, decompile with lookups | core-address-lookup-tables |
| Addresses | Address type, validation, PDA derivation, codecs | core-addresses |
| Sysvars | Fetch/decode Clock, Rent, EpochSchedule, etc. | core-sysvars |
| 主题 | 描述 | 参考文档 |
|---|---|---|
| 环境搭建 | 安装、RPC/RPC订阅、类型化客户端 | core-setup |
| RPC | HTTP客户端 —— getBalance、getAccountInfo、getLatestBlockhash、send | core-rpc |
| RPC订阅 | WebSocket —— accountNotifications、slotNotifications | core-rpc-subscriptions |
| 函数式编程 | pipe()、流水线转换 | core-functional |
| 签名器 | KeyPairSigner、空投、钱包切换、无操作 | core-signers |
| 交易 | pipe、付费方、生命周期、指令、签名、发送并确认 | core-transactions |
| 交易确认 | 区块高度超出、最新签名、随机数失效、超时 | core-transaction-confirmation |
| 账户 | fetchEncodedAccount、程序获取/解码(fetchMint、decodeMint) | core-accounts |
| 地址查找表 | fetchLookupTables、消息压缩、结合查找表反编译 | core-address-lookup-tables |
| 地址 | 地址类型、验证、PDA推导、编解码器 | core-addresses |
| 系统变量 | 获取/解码Clock、Rent、EpochSchedule等 | core-sysvars |
Features
功能特性
| Topic | Description | Reference |
|---|---|---|
| Instructions | Program clients — System, Token, Compute Budget | features-instructions |
| Instruction plans | Sequential/parallel plans, planner, executor | features-instruction-plans |
| Codecs | Encode/decode structs, program getXCodec | features-codecs |
| Compatible program clients | @solana-program/*, Codama-generated clients | features-compatible-clients |
| Compat (Web3.js) | fromLegacyPublicKey, fromLegacyKeypair, fromVersionedTransaction | features-compat |
| Errors | SolanaError, isSolanaError, context | features-errors |
| GraphQL | createSolanaRpcGraphQL, nested queries, caching/batching | features-graphql |
| Key pairs | generateKeyPair, import bytes, polyfill | features-keypairs |
| Offchain messages | Build, sign, verify, encode/decode (sRFC 3) | features-offchain-messages |
| Program errors | isProgramError — attribute tx failure to program/code | features-program-errors |
| React | useSignIn, useWalletAccountTransactionSigner, useSignAndSendTransaction | features-react |
| RPC transports | Custom transport — failover, retry, round-robin, sharding | features-rpc-transports |
| RPC API augmentation | mainnet/devnet, cherry-pick methods, custom RPC methods | features-rpc-api-augmentation |
| Create Solana program | pnpm create solana-program, Codama-generated JS client | features-create-solana-program |
| Unstable subscriptions | createSolanaRpcSubscriptions_UNSTABLE, block/slotsUpdates | features-unstable-subscriptions |
| 主题 | 描述 | 参考文档 |
|---|---|---|
| 指令 | 程序客户端 —— System、Token、Compute Budget | features-instructions |
| 指令计划 | 顺序/并行计划、规划器、执行器 | features-instruction-plans |
| 编解码器 | 结构体编码/解码、program getXCodec | features-codecs |
| 兼容程序客户端 | @solana-program/*、Codama生成的客户端 | features-compatible-clients |
| Web3.js兼容 | fromLegacyPublicKey、fromLegacyKeypair、fromVersionedTransaction | features-compat |
| 错误处理 | SolanaError、isSolanaError、上下文 | features-errors |
| GraphQL | createSolanaRpcGraphQL、嵌套查询、缓存/批处理 | features-graphql |
| 密钥对 | generateKeyPair、导入字节、polyfill | features-keypairs |
| 链下消息 | 构建、签名、验证、编码/解码(sRFC 3) | features-offchain-messages |
| 程序错误 | isProgramError —— 将交易失败归因于程序/代码 | features-program-errors |
| React集成 | useSignIn、useWalletAccountTransactionSigner、useSignAndSendTransaction | features-react |
| RPC传输 | 自定义传输 —— 故障转移、重试、轮询、分片 | features-rpc-transports |
| RPC API扩展 | 主网/测试网、挑选方法、自定义RPC方法 | features-rpc-api-augmentation |
| 创建Solana程序 | pnpm create solana-program、Codama生成的JS客户端 | features-create-solana-program |
| 不稳定订阅 | createSolanaRpcSubscriptions_UNSTABLE、区块/槽位更新 | features-unstable-subscriptions |
Best practices
最佳实践
| Topic | Description | Reference |
|---|---|---|
| Abort RPC/subscriptions | AbortController, timeout, cancel on navigation | best-practices-abort-rpc |
| Tree-shaking | Narrow imports, sub-packages, smaller bundles | best-practices-tree-shaking |
| Upgrade from Web3.js | Connection → RPC, PublicKey → address, compatible clients | best-practices-upgrade |
| 主题 | 描述 | 参考文档 |
|---|---|---|
| 终止RPC/订阅 | AbortController、超时、导航时取消 | best-practices-abort-rpc |
| 摇树优化 | 窄导入、子包、更小的打包体积 | best-practices-tree-shaking |
| 从Web3.js升级 | Connection → RPC、PublicKey → address、兼容客户端 | best-practices-upgrade |