使用 Blocknet 消息签名,可以在不付款的情况下证明对地址的控制权。本指南依据官方 CLI v1.2.0 和 core v0.22.0,核查日期为2026年10月27日。你将准备明确的挑战内容,在指定钱包中签名,然后一起验证完整地址、消息和签名。
如何签名和验证 Blocknet 消息?
加载完整钱包,确认地址,然后使用 sign 命令签署约定的文本。将地址、准确的消息及生成的签名交给验证方。对方使用 verify 一起检查这三个值,再确认消息是否符合其要求的用途和新的挑战内容。
先约定签名消息的含义
从具体请求开始:哪个地址需要向谁证明控制权,目的是授权什么操作?付款证明用于确认某笔交易的细节。消息签名适用于确认签名密钥控制权的场景,例如为账户确认地址。钱包指南介绍如何创建和打开用于签名的钱包。
请验证方为这次请求提供新的、不可预测的挑战值。文本中应包含足够的上下文,以明确服务或接收方以及预期操作;如果流程需要,还应约定有效期。这些是应用层规则:签名验证器不会自动执行新鲜度、过期或一次性使用检查。验证方必须将消息与请求对照,并记录挑战值何时已被使用。
打开指定的完整钱包
在终端中连接到正在运行的主网 core:
blocknet attach mainnet
在交互终端中加载钱包并查看地址:
load
address
选择正确的钱包文件,并在客户端提示时解锁。将完整地址与验证方期待的地址对照;同一台计算机保存了多个钱包文件时,也要这样检查。
所查 core使用钱包的支出私钥签署消息。只读钱包无法执行此操作。将完整钱包保留在指定的计算机上;验证方只需要生成的签名和公开信息。完成签名不需要发送资金,也不需要导出钱包文件。
签名前准备准确文本
阅读完整请求,确认你确实同意其声明的用途。官方客户端读取一行文本,去掉开头和结尾的空白,并拒绝空消息或超过1024字节的消息。限制按字节计算,因此非 ASCII 字符可能占用多个字节。使用简短、明确的一行文字,并保留实际提交的准确文本。
将消息交给验证方时,保留大小写、标点和内部空格。编辑器或聊天应用可能替换引号或修改复制的文本;如果验证失败,请对照实际消息。登录或账户操作应遵循服务文档中的挑战格式。不要擅自改写要求的文本,因为验证方应检查自己发出的那一个具体挑战。
在官方交互终端中签名
在交互终端中启动签名提示:
sign
客户端会要求输入文本。粘贴约定的单行消息并按 Enter。成功后会输出十六进制签名。复制完整输出,保留每一个字符。客户端实现将消息提交给钱包签名接口;此操作不会创建或广播交易。
将完整地址、准确的消息和签名作为三个独立值提供给验证方。清楚标注它们,以免将签名误当作消息或地址。保密保存恢复助记词、私钥和钱包密码。助记词指南介绍恢复资料;这些内容都不属于验证签名时需要交给他人的证据。
对方如何验证签名?
对方使用官方交互终端的验证提示,并连接到运行中的兼容 core:
verify
先输入完整地址,再输入准确的消息,最后输入十六进制签名。终端参考文档说明了这个顺序。验证无需加载钱包,因此不必导入签名者的钱包,也不必接触任何私钥。
所查客户端在这组数据验证成功时显示 Signature is VALID,失败时显示 Signature is INVALID。输入格式错误属于另一种结果:重试前应检查所有字段并保留原始证据。如果消息或地址与预期请求不同,即使签名在数学上对所提供的数据有效,也应先解决差异。
结合请求背景理解成功结果
有效签名表示消息可通过所提供地址中编码的支出公钥验证。它不确定法律身份,不展示余额,也不证明付款已经发生。对于付款问题,应使用发送记录、浏览器查询和特定交易的证明。选择能回答实际问题的证据,不要把每个有效签名都当作收据。
接受结果前,检查挑战是否新近生成,以及是否针对预期接收方。有人可以复制有效的消息和签名,再次提交同一组合。需要一次性授权的服务必须自行执行该规则。同样,写在消息中的到期时间只有在验证方实际检查时才有意义。这些检查将密码学有效性与约定操作联系起来。
保留清晰的验证记录
如果流程需要审计记录,应将地址、准确消息、签名、请求背景和验证结果一起保存。将实际检查时间与签名者写入的任何时间戳分开记录。避免在消息中加入无关个人信息,因为任何收到已签名文本的人都能阅读和复制。通过约定渠道向指定验证方提供证据。
如果该钱包用于接收挖矿付款,矿池追踪仍负责提供份额和付款记录;消息签名不能代替它们。节点指南介绍官方交互终端所需的 core。完成约定检查后,将签名权限保留在完整钱包中,让检查结果的人使用公开验证功能。
常见问题
签署 Blocknet 消息会发送币吗?
所查版本的消息签名接口使用钱包的支出密钥签署文本并返回签名,不会构建或广播付款。验证方需要地址、准确的消息和签名。请仔细阅读要求签署的文本,因为服务可能使用该签名来授权其自身的操作。
不打开钱包也能验证签名吗?
可以。官方交互终端的 verify 命令调用公开验证接口,无需加载钱包。它需要运行中的兼容 core、完整地址、准确的已签名消息和签名。验证检查的是这组数据,不会要求签名者的助记词、密码或私钥。
有效的 Blocknet 消息签名能证明什么?
它表明消息可以通过所提供地址中的支出公钥验证。如果需要证明当前控制权,应使用双方约定的新挑战值。它不能证明一个人的法律身份、钱包余额或付款已经完成;旧的有效签名也可以被再次提交。