如何证明和验证 Blocknet 付款

· 4 分钟阅读

通过将交易密钥和收款地址与交易匹配,验证一笔具体的 Blocknet 付款。本指南依据 2026 年 10 月 27 日检查的官方 CLI v1.2.0 和 core v0.22.0,介绍生成证明、共享正确字段,以及结合链上状态读取结果。

如何证明一笔 Blocknet 付款?

简短回答

打开发送钱包,用交易 ID 运行 prove,将得到的交易密钥交给指定验证者。验证需要该密钥、交易 ID 和收款地址。先确认密钥有效,再检查匹配该地址的输出和金额。

将交易记录和交易密钥与收款地址核对,以识别匹配的付款输出。

从要证明的付款开始

保存发送记录中的完整交易 ID。发送指南说明官方客户端在哪里打印它,浏览器指南介绍查找交易及所在区块。公开 ID 可以定位转账,但普通浏览器页面不会披露支付给特定地址的私密金额。

约定要检查的收款地址和付款记录。使用与付款关联的完整地址,不要用缩略标签或截图。如果按名称付款,请保留交易实际使用的地址。证明可用于核实具体收款,或与收款人解决付款疑问;它不确认任何人的现实身份。

在发送钱包中生成交易密钥

从终端连接运行中的 mainnet core:

blocknet attach mainnet

在交互式 shell 中打开发送钱包并查看记录:

load
address
history

选择目标文件,必要时通过客户端解锁。初始设置请参阅钱包指南。

在 shell 中运行以下命令,将占位符替换为完整交易 ID:

prove <txid>

已检查的客户端接受 64 字符的十六进制交易 ID,并显示返回的交易密钥。Core 在本地链上寻找交易,检查派生密钥是否匹配其公钥。使用发送该交易的钱包;生成证明不会创建另一笔付款。

应该共享哪些信息?

通过约定渠道共享交易 ID、返回的交易密钥和目标收款地址。交易密钥仅针对这一笔交易。恢复种子、花费密钥、钱包密码和整个钱包的私有查看密钥应保持私密。验证者需要证明字段,而不是访问已加载的钱包或恢复资料。

将此视为主动披露付款信息:密钥和收款地址让验证者识别该交易的匹配输出、金额,以及任何可恢复的备注。仅与需要该证据的人分享。备注指南解释付款备注,分享证明前应考虑其内容。已共享密钥可以被复制,因此使用收款人认可的私密渠道。

通过文档中的 core API 验证

官方 API提供公开证明验证端点,不需要已加载的钱包或 bearer 令牌。优先使用自己控制的节点。将以下模板保存为私密工作文件夹中的 proof.json,把三个占位字符串全部替换为真实证明字段。字段名保持不变。

{
  "txid": "REPLACE_WITH_TRANSACTION_ID",
  "tx_key": "REPLACE_WITH_TRANSACTION_KEY",
  "address": "REPLACE_WITH_RECIPIENT_ADDRESS"
}

从该文件夹将文件提交到节点 API 地址:

curl -H "Content-Type: application/json" --data-binary @proof.json http://127.0.0.1:8332/api/verify-proof

如配置了不同本地端口,请相应修改;Windows PowerShell 中使用 curl.exe。节点指南介绍运行 core。此请求检查证据,不发送币。若使用远程服务器,提交的字段会向其运营者披露。

分别读取密钥有效性和收款匹配

先检查 valid。true 表示交易密钥匹配交易公钥。然后检查 outputs:match 为 true 的条目属于所提供的收款地址。total_matched 是其金额总和。如果该地址没有收到这笔交易,即使密钥有效,也可能有零个匹配输出。

API 以原子单位报告金额:100,000,000 单位等于 1 BNT。与 BNT 计价账单比较前先换算总额,保留所有整数位,不要过早舍入。将返回的备注与预期记录核对。交易纳入和确认请另行通过节点或浏览器验证。仅有证明结果不能说明账单已全额支付,也不能说明资金当前可花费。

用原始记录排查不一致

密钥无效时,将完整 ID 和交易密钥与发送方的原始输出比较。密钥有效但没有收款匹配时,重新检查付款使用的完整地址。生成证明找不到交易时,检查节点网络和链进度:已检查的生成端点要求交易在链上。本地链落后时请按同步指南处理。

对于矿池付款,您的收款钱包不是生成矿池交易的发送钱包。从矿池追踪记录和钱包入账历史开始,发送方证明应向实际发送者取得。已检查的生成端点中,coinbase 挖矿奖励也没有发送方证明。这些区别有助于选择与所查付款相符的证据。

将证明与用途和结果一起保存

在私密记录中一起保存交易 ID、收款地址、相关付款引用和验证结果。记录检查了哪个网络、节点,以及检查时间。只保留该目的所需的付款信息。收到证明的人可以独立重复验证,无需依赖他人结果的截图。

签名消息用途不同:它展示对某地址签名密钥的控制,针对的是一段特定消息。交易证据使用付款证明,约定的所有权挑战使用消息流程。只读指南解释为什么查看权限即使不能授权花费,仍是敏感权限。让每类证据对应它所回答的问题。

常见问题

验证 Blocknet 付款证明需要什么?

需要完整交易 ID、发送钱包提供的交易密钥,以及目标收款人的完整地址。将这些字段提交到兼容节点的证明验证端点。同时检查密钥验证结果与匹配该地址的输出,再将金额与付款记录比较。

证明有效是否代表收款人已收到付款?

有效结果说明提供的交易密钥属于该交易。还必须查看匹配收款地址的输出。密钥有效但没有匹配输出,不能证明向该地址付款。核对金额,并另行检查链上纳入和确认情况。

只读 Blocknet 钱包能生成付款证明吗?

已检查的 core 利用钱包的私密查看资料派生交易证明,因此对应的只读钱包也能为该钱包发送的交易生成证明。交易必须在本地链上,派生密钥也必须匹配。这不会赋予只读钱包花费权限。