Skip to Content
dApp 接入
本页目录

签名并发送交易

创建交易后,Web 应用可以请求用户的 OneKey 钱包使用其账户私钥和 NEAR JSON RPC 连接来签名并发送交易。

到目前为止,最简单且推荐的方式是使用 provider 上的 requestSignTransactions 方法,但也可以使用 request 方法。

在这两种情况下,调用都将返回一个包含 transactionHashes 对象的 Promise 。

使用 requestSignTransactions() 方法

// `transaction` is created in the Create Transaction guide. const res = await provider.requestSignTransactions({ transactions: [transaction], // must be Array type }); console.log('requestSignTransactions', res, res.transactionHashes);

使用 request() 方法

// `transaction` is created in the Create Transaction guide. const res = await provider.request({ method: 'near_sendTransactions', params: { transactions: [transaction], // must be Array type }, }); console.log('near_sendTransactions', res, res.transactionHashes);

交易也可以在调用方法之前先序列化为 base64 字符串。

// `transaction` is created in the Create Transaction guide. const transactionSerialized = btoa(String.fromCharCode(...transaction.encode())); const res = await provider.request({ method: 'near_sendTransactions', params: { transactions: [transactionSerialized], // must be Array type }, }); console.log('near_sendTransactions', res, res.transactionHashes);

通过 try/catch 处理请求被拒绝的情况。返回交易哈希只是提供交易标识,不保证执行成功;请通过网络 RPC 检查交易结果。

最后更新于