查看与签名

应用可以请求您签署一笔 Hive 交易,例如一次投票、一次转账或一篇帖子。它们会发来一个打开 Hivesigner 的链接。Hivesigner 用通俗的语言说明这个请求做什么、需要哪个密钥,以及之后会把您送到哪里。在您批准之前,不会签署任何内容。应用也可以请求您签署一条消息,而消息永远不会上链。

“确认交易”界面

签名链接会打开标题为“确认交易”的界面。请求中的每一项操作对应一张卡片。操作是 Hive 上的一个动作,例如一次投票或一次转账。

当一个请求包含多项操作时,卡片会编号,上方一行写着“此请求包含 3 项操作。批准前请逐项检查。”

摘要

每张卡片以一句话开头,用请求中的数值说明该操作做什么。例如:

操作 卡片上的内容
转账 向 @bob 发送 1.000 HIVE(下方显示备注,形如“备注:...”)
投票 对 @alice/my-post 投赞成票(下方显示投票权重,例如 100%)
帖子或回复 发布帖子“我的标题”,或 回复 @alice/my-post
Hive 应用自定义的动作 自定义动作(follow)
更改账户控制权 更新账户权限

其他操作会显示各自的名称,例如“增加能量(Power Up)”或“委托 Hive Power”。

这句话旁边有一个大写标签,说明该操作需要哪个密钥:发布、活动或所有者。

详情

在这句话下方,卡片会列出该操作携带的各项数值:

  • 该操作以哪个账户的身份执行
  • 帖子或评论:永久链接(帖子的地址)、社区或标签、正文和元数据
  • 自定义动作:数据中的每个值各占一行,确保内容不会被截断
  • 权限变更:它所设定的阈值、密钥和账户

权限变更如果会移除您的密钥,也会用“密钥:【无】(您的密钥将被移除)”说明。缺少阈值时显示为“阈值【未设置】(签名时按 0 处理)”。

在摘要和详情中,可能隐藏文字或改变文字方向的字符会显示为 。您读到的内容不可能伪装成别的东西。

显示原始操作会展开将要签署的确切操作。

当金额以 Hive Power 给出时,Hivesigner 会按当前比率换算。它会显示“正在加载当前的 Hive Power 换算比率……”,并在拿到该比率之前不允许批准。

有些请求携带在别处准备好的交易,例如由多人共同控制的账户。这时界面会显示“此请求自带交易头。过期时间:日期。”如果已有其他人签过名,还会补充“它已带有 2 个签名。”

需要哪个密钥

卡片下方有一行说明整个请求需要的密钥:“将使用您的发布密钥签名”“将使用您的活动密钥签名”或“将使用您的所有者密钥签名”。

Hivesigner 只用那个密钥签名。活动密钥不能签署投票,所有者密钥也不能签署转账。这是 Hive 自 2025 年一次硬分叉以来的规则。参见该添加哪个密钥

同一个请求中的所有操作必须需要同一个密钥。若非如此,这一行会写着“此交易需要多种权限,无法用单个密钥签名。”界面上没有批准按钮,请返回应用。

使用所有者密钥的请求很少见。它们会改变谁能控制或恢复您的账户,请读两遍。参见批准前请先读

缺少密钥时

如果所选账户在这台设备上没有相应密钥,界面会说明。例如:“此操作需要活动密钥,但此设备上没有 @用户名 的活动密钥。”

  1. 选择提示下方的添加其他账户,会打开添加账户表单。
  2. 输入同一个用户名和缺少的那个密钥。如果该账户设有本地密码,也一并输入。
  3. 选择添加账户。Hivesigner 会添加密钥并把您带回请求。

如果账户处于锁定状态,界面会在按钮上方显示本地密码输入框。点击一次即可解锁并批准。若解锁后发现确实缺少密钥,界面会随即说明。

如果这个浏览器还没有任何账户,按钮会显示继续并打开添加账户表单。

批准或签名

按钮上方的账户行写着“签名账户”以及执行签名的账户。切换账户可以另选一个。参见切换账户

  • 批准会在您的浏览器中签署交易并发送到 Hive 网络。结果显示“交易已成功广播”,并附带一个可在区块浏览器中打开该交易的交易 ID
  • 当请求只索要签名时,出现的则是签名。Hivesigner 会签署交易但不发送到网络,把签名交给应用;如果请求没有指定网站,就直接显示出来。

如果网络拒绝了这笔交易,您会看到“您的交易未被广播”以及网络给出的“错误信息”。您可以再试一次。

您将返回的网站

当请求指定了返回的网站时,顶部提示会写着“您将被重定向到 HOST。”批准后 Hivesigner 会把您送到那里。请确认 HOST 就是您来的那个网站。

当请求没有指定网站时,Hivesigner 会停留在结果界面。

面向其他账户的请求

请求可能是针对所选账户之外的另一个账户。Hivesigner 会用两种方式提示。

该请求必须由另一个账户签名。 界面显示“此请求必须由 @账户 签名。请切换到该账户。”账户行显示“所选账户”,其下展开账户列表。请选中那个账户,或用添加其他账户把它加进来。Hivesigner 不会用任何其他账户签署这个请求。

某项操作以另一个账户的身份执行。 这常见于多人共同管理的账户。顶部的警告写着“此操作不是以 @用户名 的身份执行,而是以 @账户 的身份执行。只有在您同时管理该账户时才可继续。”每张卡片的详情都会写明它以哪个账户的身份执行。

Hivesigner 无法读取的请求

Hivesigner 绝不会签署它无法完整读取并展示给您的请求。这包括它不认识的操作、没有任何操作的请求、与操作不符的值(不是数字的数字、格式错误的金额),以及它无法显示的多余数据。

这时界面会显示“糟糕,出错了。提供的数据无效。”请返回应用。若要告知 Hivesigner 团队,请选择报告此问题

消息签名请求

有些应用请求您签署一条消息而不是一笔交易,例如用来证明某个账户属于您。消息只是文字,签署它不会改变区块链上的任何内容。

界面会显示:

  • 类似“应用 请求您签名一条消息。”的标题。如果该应用有 Hive 账户,下面一行会写明:“Hive 账户 @应用账户”。
  • “将跳转到 HOST”:接收签名的网站。同一行会在按钮旁再出现一次。
  • 消息:将被签署的完整文字,一字不差。可能隐藏文字或改变文字方向的字符会显示为高亮的编码,例如 \u{200B}
  • 所用的密钥:“将使用您的发布密钥签名”或“将使用您的活动密钥签名”。Hivesigner 绝不会用所有者密钥签署消息。
  • 一条警告:“您的签名会向任何看到它的人证明 @用户名 签署了这段确切的文字。只签名您理解的消息。”
  • 账户行“签名账户”,以及切换账户

选择签名即可签署。Hivesigner 会把您送回该网站,并附上签名、您的用户名、密钥类型,以及生成这个签名的公钥。公钥是密钥对中可以公开的一半,它本身签不了任何东西。

选择取消会前往账户页面,该网站什么都收不到。

如果账户在这台设备上没有相应密钥,界面会说明。例如:“此操作需要发布密钥,但此设备上没有 @用户名 的发布密钥。”请选择切换账户,再选择添加其他账户,为同一个账户补上缺少的密钥。Hivesigner 会把您带回请求。

有些消息为何被拒绝

可以当作 Hivesigner 登录凭证的消息。 有些文字的格式和 Hivesigner 的登录凭证完全一样。签署它就等于把账户访问权限交给该网站。Hivesigner 绝不签署这类文字,并会说明“这条消息是 Hivesigner 令牌。签名它会让该网站获得您账户的访问权限,因此无法签名。”

Hivesigner 无法使用的请求。 Hivesigner 会拒绝没有消息或没有返回地址的请求,也会拒绝索要发布密钥和活动密钥以外的密钥的请求、把并非 Hive 账户的东西当作应用的请求,以及返回地址不安全或未向该应用注册的请求。它会说明“此签名请求无法使用:它需要一条消息、一个发布或活动密钥,以及为该应用注册的安全重定向 URL。请返回该网站后重试。”

如果 Hivesigner 无法从 Hive 网络读取应用的资料,会显示“无法从 Hive 网络加载账户详情。”在读取成功之前,它什么都不会签。请选择重试

自己签署一条消息

您可以自行签署一条消息,用来证明自己控制着某个账户。

  1. 打开 hivesigner.com/signmessage。页脚以签名消息链接到那里。
  2. 如果所选账户处于锁定状态,请输入本地密码并选择解锁。如果没有选中任何账户,页面会给出通往账户列表的链接。
  3. 消息中输入文字。Hivesigner 会去掉开头和结尾的空格与换行。
  4. 用于签名的密钥中选择密钥。那里按由强到弱列出所选账户在这台设备上的密钥,默认选中最强的那个。除非您需要别的密钥,否则请改为发布
  5. 选择签名消息

签名摘要会显示签名者使用的权限、一个验证令牌和一个验证链接。验证令牌把消息、您的用户名和签名合在一段文字里。请把链接或令牌交给需要核验这条消息的人。

签名不会泄露您的密钥,但会显示它是由哪个密钥生成的。

验证一条消息

  1. 打开 hivesigner.com/verifymessage。页脚以验证消息链接到那里。
  2. 把令牌粘贴到验证令牌中,然后选择验证签名

验证链接会打开这个页面并自动完成核验。

结果会显示“签名有效,签名者为 用户名”或“无法使用账户密钥验证该签名。”下方会列出签名者恢复出的公钥匹配的权限(完成签名的密钥类型)和消息

Hivesigner 会用该账户当前在 Hive 网络上的密钥来核验签名。如果账户此后更换过密钥,用旧密钥签署的消息就不再能通过验证。