本页目录
签名并发送交易
创建交易后,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 检查交易结果。
最后更新于