查看与签名
应用可以请求您签署一笔 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 年一次硬分叉以来的规则。参见该添加哪个密钥。
同一个请求中的所有操作必须需要同一个密钥。若非如此,这一行会写着“此交易需要多种权限,无法用单个密钥签名。”界面上没有批准按钮,请返回应用。
使用所有者密钥的请求很少见。它们会改变谁能控制或恢复您的账户,请读两遍。参见批准前请先读。
缺少密钥时
如果所选账户在这台设备上没有相应密钥,界面会说明。例如:“此操作需要活动密钥,但此设备上没有 @用户名 的活动密钥。”
- 选择提示下方的添加其他账户,会打开添加账户表单。
- 输入同一个用户名和缺少的那个密钥。如果该账户设有本地密码,也一并输入。
- 选择添加账户。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 网络加载账户详情。”在读取成功之前,它什么都不会签。请选择重试。
自己签署一条消息
您可以自行签署一条消息,用来证明自己控制着某个账户。
- 打开 hivesigner.com/signmessage。页脚以签名消息链接到那里。
- 如果所选账户处于锁定状态,请输入本地密码并选择解锁。如果没有选中任何账户,页面会给出通往账户列表的链接。
- 在消息中输入文字。Hivesigner 会去掉开头和结尾的空格与换行。
- 在用于签名的密钥中选择密钥。那里按由强到弱列出所选账户在这台设备上的密钥,默认选中最强的那个。除非您需要别的密钥,否则请改为发布。
- 选择签名消息。
签名摘要会显示签名者、使用的权限、一个验证令牌和一个验证链接。验证令牌把消息、您的用户名和签名合在一段文字里。请把链接或令牌交给需要核验这条消息的人。
签名不会泄露您的密钥,但会显示它是由哪个密钥生成的。
验证一条消息
- 打开 hivesigner.com/verifymessage。页脚以验证消息链接到那里。
- 把令牌粘贴到验证令牌中,然后选择验证签名。
验证链接会打开这个页面并自动完成核验。
结果会显示“签名有效,签名者为 用户名”或“无法使用账户密钥验证该签名。”下方会列出签名者、恢复出的公钥、匹配的权限(完成签名的密钥类型)和消息。
Hivesigner 会用该账户当前在 Hive 网络上的密钥来核验签名。如果账户此后更换过密钥,用旧密钥签署的消息就不再能通过验证。