Solana 地址验证器

检查 Solana 地址格式是否正确,并判断它是普通钱包账户还是程序派生地址(PDA,例如代币账户)。适用于 Solana 上的 SOL、USDC 和 USDT。

最多可粘贴 200 个地址。每个地址都会被解码、验证校验和,并识别网络和地址类型。
选择你打算发送的网络。网络不匹配的有效地址会被标记。

由浏览器中的 JavaScript 检查。地址绝不会被上传或存储。

什么是 Solana 地址验证器?

Solana 地址验证器检查字符串是否恰好是 32 字节(ed25519 公钥的大小)的 Base58 编码,然后测试这些字节是否解码为 ed25519 曲线上的点。曲线上的公钥属于普通钱包;曲线外的值是程序派生地址(PDA)。Solana 地址没有校验和,所以曲线测试是唯一可用的输入错误检测手段。

结果说明

曲线检查原理

ed25519 公钥编码了曲线点的 y 坐标加一个符号位。工具根据 y 计算 x² = (y² − 1) / (d·y² + 1) mod 2²⁵⁵ − 19,并测试 x² 是否存在平方根。存在则说明该点存在、该公钥可能有私钥;不存在则地址在曲线外。运算在浏览器中用 BigInt 完成。

常见的 Solana 地址错误

  1. 缺少最后一个字符。聊天应用有时会截断长字符串。本应 44 位却只有 43 位的地址会解码为错误长度并失败。
  2. 把 Mint 当成钱包。USDC 的 Mint 地址 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v 是有效地址,但向它发送代币会把代币烧掉。只向对方明确告知为其钱包的地址发送。
  3. 粘贴了以太坊地址。0x… 不是 Solana。除跨链桥外,跨格式发送的资产会丢失。

用 Solana Pay 二维码生成器为已验证的地址创建收款码。

常见问题

Solana 地址有多长?

Solana 地址是 Base58 编码的 32 字节 ed25519 公钥,长度 32 到 44 个字符,通常是 43 或 44。它使用比特币的 Base58 字母表,所以不会出现 0、O、I 和 l。

为什么没有校验和?

Solana 选择不带校验和字节的原始公钥以保持地址简短。缺点是任何 32 字节的值看起来都有效。本工具通过检查点是否在 ed25519 曲线上来弥补,随机输入错误约有一半会无法通过。

什么是程序派生地址?

PDA 是刻意生成在曲线外的地址,不存在对应的私钥,而是由程序控制。关联代币账户、交易所充值子账户和协议金库都是 PDA。只有当所有者明确告诉你那个地址时,向 PDA 发送 SOL 才是正确的。

USDC 应该发到我的钱包地址还是代币账户?

发到钱包地址(曲线上的公钥)。钱包和交易所会自动派生关联代币账户。直接发到代币账户地址也可能成功,但容易出错。

能检测出错误网络的地址吗?

能。选择 Solana 网络时,以太坊 0x、Tron T… 和比特币地址会被识别并标记为非 Solana 地址。