TronLink 开发者文档
首页
  • 介绍
  • HD 钱包
  • 移动端
    • 资产管理
      • 自定义通证
    • DeepLink
      • 打开钱包
      • 打开DApp
      • 登陆授权
      • 转账
      • 交易签名
      • 消息签名
      • 回传消息码
    • DApp支持
      • 集成TronLink
      • DApp浏览器
  • 插件钱包
    • 主动请求TronLink插件功能
      • 连接网站
      • 添加Token
    • 被动接收TronLink插件的消息
      • 账户改变消息
      • 网络改变消息
      • 连接网站成功消息
      • 断开连接网站消息
      • 即将废弃的消息
        • 用户拒绝连接消息
        • 用户断连网站消息
        • 用户确定连接消息
        • 用户主动连接网站消息
  • DApp
    • 开始开发
    • 多签转账
    • 消息签名
    • 普通转账
    • Stake2.0
Powered by GitBook
On this page
  1. DApp

消息签名

简介

DApp 需要用户对一个 hex 消息签名,签名后消息转发给后端进行验签,以此判断用户合法登陆。

前提

DApp 开发者完成【连接网站】请求,用户同意连接。

技术规范

代码示例

if (window.tronLink.ready) {
  const tronweb = tronLink.tronWeb;
  try {
    const message = "0x01EF"; // any hex string
    const signedString = await tronweb.trx.sign(message);
  } catch (e) {}
}

参数

tronLink.tronWeb.trx.sign接收一个十六进制的字符串作为参数,该字符串表示当前待签名的内容。

返回值

如果用户在弹窗中选择签名, DApp 可以得到签名后的十六进制字符串, 比如:

0xaa302ca153b10dff25b5f00a7e2f603c5916b8f6d78cdaf2122e24cab56ad39a79f60ff3916dde9761baaadea439b567475dde183ee3f8530b4cc76082b29c341c

如果报错,则会返回如下信息:

Uncaught (in promise) Invalid transaction provided

交互流程

当代码执行到await tronweb.trx.sign(message);时,TronLink 钱包会提示弹窗,需要用户进行确认, 如下图, 其中消息内容会以hex的方式展示:

如果用户在弹窗中选择【拒绝】,则会抛出异常,开发者可捕获此异常进行业务处理。

Previous多签转账Next普通转账

Last updated 2 years ago