概述
DApp 要求用户对十六进制消息进行签名,签名后的消息将被转发到后端,用于验证用户的登录是否合法。
先决条件
DApp发送请求,要求用户将钱包连接到网站,用户同意连接。
规格
例子复制
if (window.tronLink.ready) {
const tronweb = tronLink.tronWeb;
try {
const message = "0x1e"; // any hex string
const signedString = await tronweb.trx.sign(message);
} catch (e) {}
}
参数
“tronLink.tronWeb.trx.sign”接受一个十六进制字符串作为参数,该字符串代表需要签名的内容。
返回
如果用户在弹窗中选择签名,DApp 将获取签名后的十六进制字符串。例如:复制
0xaa302ca153b10dff25b5f00a7e2f603c5916b8f6d78cdaf2122e24cab56ad39a79f60ff3916dde9761baaadea439b567475dde183ee3f8530b4cc76082b29c341c
如果发生错误,将返回以下信息:复制
Uncaught (in promise) Invalid transaction provided
相互作用
当执行“tronweb.trx.sign(message);”时,TronLink 钱包会弹出一个窗口,要求用户确认,如下所示。消息内容为十六进制:

如果用户在弹出窗口中选择“拒绝”,则会抛出异常,开发人员可以捕获该异常以进行进一步处理。