SuperAPI AI 工具集

solana-v1

前端与建站

查看项目

更新于 10-27 16:23

技能介绍

solana-v1 是一个专注于 Solana dApp 前端 UI 开发的技能,适用于 React/Next.js 项目。它的核心用途是帮助开发者在界面层实现 Solana 钱包连接、签名流程、交易构建与发送确认,以及地址校验等常见交互。

主要能力与范围:

  • 使用 Solana Foundation 的 framework-kit(@solana/client 与 @solana/react-hooks)进行 React/Next.js UI 开发。
  • 处理钱包连接与签名流程。
  • 处理交易的构建、发送与确认体验。
  • 处理地址校验与交易模式。

该技能明确不覆盖以下内容:

  • EVM 前端开发(应参考 wagmi-v3)。
  • 不涉及 dApp UI 的纯后端地址校验(可仅使用 @solana/web3.js 的 PublicKey)。
  • 通用区块链概念。

使用方式与依赖假设:

  • UI 开发使用 @solana/client 与 @solana/react-hooks。
  • 客户端、RPC 与交易代码使用 @solana/kit。
  • 地址校验使用 @solana/web3.js v1.x。
  • UI 需要 React 18+ 或 Next.js 14+。
  • 使用 TypeScript v5+ 并开启 strict 模式。
  • 需要 Node.js 18+。

核心原则:

  • React/Next.js UI 使用 Solana Foundation framework-kit(@solana/client + @solana/react-hooks)。
  • 客户端、RPC 与交易代码使用 @solana/kit。
  • 使用 @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 类型泄漏到整个应用。
  • 在使用地址前跳过地址校验。

地址校验模式示例: 始终在使用 Solana 地址前进行校验:

import { PublicKey } from '@solana/web3.js'

function validateSolanaAddress(address: string): boolean { try { const publicKey = new PublicKey(address) return PublicKey.isOnCurve(publicKey) } catch { return false } }

与其他技能的关系:

  • 与 wagmi 技能互补,后者用于 EVM 前端开发。
  • 本技能聚焦 Solana 特有的 dApp 开发模式。

适用场景:

  • 需要在 React/Next.js 中实现 Solana 钱包连接、交易签名、交易发送与确认、地址校验的 dApp 前端项目。

限制:

  • 不适用于 EVM 前端开发。
  • 不适用于不涉及 dApp UI 的纯后端地址校验场景。
  • 不涵盖通用区块链概念。
  • 关于收费、价格、平台支持范围等具体信息,资料中暂未提供。