方法
connect
连接钱包并获取当前账户的地址和公钥。
请求
{
silent?: boolean;
}
响应
{
accounts: [
{
address: string;
publicKey: Uint8Array;
chains: string[];
features: string[];
}
]
}
示例
const { accounts } = await wallet.features['standard:connect'].connect();
console.log(accounts[0].address);
signPersonalMessage
使用已连接账户对个人消息进行签名。
请求
{
message: Uint8Array;
account: WalletAccount;
}
响应
{
bytes: string;
signature: string;
}
示例
const { bytes, signature } = await wallet.features['sui:signPersonalMessage'].signPersonalMessage({
message: new TextEncoder().encode("Hello SUI"),
account: currentAccount
});
console.log(signature);
signTransaction
对交易进行签名,不提交到网络。
请求
{
transaction: Transaction;
account: WalletAccount;
chain: string;
}
响应
{
bytes: string;
signature: string;
}
示例
const { bytes, signature } = await wallet.features['sui:signTransaction'].signTransaction({
transaction: txBlock,
account: currentAccount,
chain: "sui:mainnet"
});
signAndExecuteTransaction
签名交易并提交到Sui网络。
请求
{
transaction: Transaction;
account: WalletAccount;
chain: string;
requestType?: string;
options?: {
showEffects?: boolean;
showEvents?: boolean;
}
}
响应
{
bytes: string;
signature: string;
digest: string;
effects?: TransactionEffects;
}
示例
const result = await wallet.features['sui:signAndExecuteTransaction'].signAndExecuteTransaction({
transaction: txBlock,
account: currentAccount,
chain: "sui:mainnet"
});
console.log(result.digest);
reportTransactionEffects
将交易执行结果上报给钱包(适用于dApp独立提交交易后的场景)。
请求
{
effects: string;
account: WalletAccount;
chain: string;
}
响应
无
示例
await wallet.features['sui:reportTransactionEffects'].reportTransactionEffects({
effects: txEffectsBcs,
account: currentAccount,
chain: "sui:mainnet"
});
getPublicKey
获取已连接账户的公钥。
请求
{
account: WalletAccount;
}
响应
{
publicKey: Uint8Array;
}
示例
const { publicKey } = await wallet.features['sui:getPublicKey'].getPublicKey({
account: currentAccount
});