跳到主要内容

签署

下面这段参考代码展示如何通过 window.$ukey.stellar 发起 Stellar 交易、Auth Entry 和消息签名。签名前请先读取地址和 networkPassphrase,确保用户确认的网络与业务目标一致。


签名交易 XDR

const { address } = await stellar.getAddress();
const { networkPassphrase } = await stellar.getNetwork();

const { signedTxXdr, signerAddress } = await stellar.signTransaction(
unsignedXdr,
{
networkPassphrase,
address,
// submit: false, // 如果只签名不提交可以这样配
// submitUrl: 'https://horizon.stellar.org/transactions', // 也能自定义提交节点
},
);

console.log({ signedTxXdr, signerAddress });

签名 Auth Entry(Soroban Authorization Entry)

const { address } = await stellar.getAddress();
const { networkPassphrase } = await stellar.getNetwork();

const { signedAuthEntry, signerAddress } = await stellar.signAuthEntry(
authEntryXdr,
{
networkPassphrase,
address,
},
);

console.log({ signedAuthEntry, signerAddress });

签消息

const { address } = await stellar.getAddress();
const { networkPassphrase } = await stellar.getNetwork();

const { signedMessage, signerAddress } = await stellar.signMessage(
"hello stellar",
{
networkPassphrase,
address,
},
);

console.log({ signedMessage, signerAddress });