solana-v1 是一个用于 Solana dApp 前端 UI 开发的技能,主要面向 React/Next.js 项目。它的目标是在前端实现钱包连接与签名流程、交易的构建、发送与确认体验,以及地址校验和交易模式。
用途 该技能适用于在 React/Next.js 中开发 Solana dApp 界面,尤其是需要钱包连接、交易签名、交易发送与确认、地址校验等场景。它明确不覆盖 EVM 前端开发(可参考 wagmi-v3)、不涉及仅做地址校验而无 dApp UI 的后端场景(此类可仅使用 @solana/web3.js 的 PublicKey),也不讲解通用区块链概念。
主要能力与原则 技能建议使用 Solana Foundation 的 framework-kit(@solana/client 与 @solana/react-hooks)来构建 React/Next.js UI,使用 @solana/kit 编写客户端、RPC 与交易代码,使用 @solana/web3.js 的 PublicKey 进行地址校验(包括不提供钱包 UI 的后端路由),并通过 Wallet Standard 完成钱包发现与连接。当存在遗留依赖时,应将 @solana/web3.js 隔离在适配器边界内。
约束与要求 必须(MUST):在使用地址前通过 PublicKey.isOnCurve() 进行校验;在遗留适配器边界使用 @solana/web3-compat。应当(SHOULD):优先使用 @solana/kit 的类型(Address、Signer)而非 web3.js 类型;优先使用 @solana-program/* 指令构建器而非手写指令数据;使用 Wallet Standard 进行钱包发现与连接;将 @solana/web3.js 类型限制在适配器模块内,避免在整个应用中扩散。应避免(AVOID):让 @solana/web3.js 类型泄漏到整个应用;在使用地址前跳过校验。
使用方式 技能给出了地址校验模式示例:通过 import { PublicKey } from '@solana/web3.js' 引入,在函数中尝试用 new PublicKey(address) 构造公钥,并返回 PublicKey.isOnCurve(publicKey) 的结果,异常时返回 false。
适用场景与假设 适用于 React 18+ 或 Next.js 14+、TypeScript v5+(strict 模式)、Node.js 18+ 的项目。依赖 @solana/client 与 @solana/react-hooks 做 UI 开发,@solana/kit 做客户端/RPC/交易代码,@solana/web3.js v1.x 做地址校验。该技能与 wagmi 技能互补,专注于 Solana 特有的 dApp 开发模式。
限制 资料未提供该技能的收费、价格、平台支持范围、实际效果或具体安装步骤等信息,暂未提供。