getAddress
获取钱包在各条链上的地址。
用法
ts
const addresses = await Turing.getAddress();参数
此方法无需参数。
返回值
ts
interface GetAddressResponse {
tbcAddress?: string; // TBC 链地址(BVM 账户)
btcAddress?: string; // BTC 链地址(BVM 账户)
ethAddress?: string; // Ethereum 地址(EVM 账户)
bnbAddress?: string; // BSC 地址(EVM 账户)
}返回字段取决于用户的账户类型:
| 账户类型 | 返回字段 |
|---|---|
| BVM 账户 | tbcAddress, btcAddress |
| EVM 账户 | ethAddress, bnbAddress |
| 全部账户 | tbcAddress, btcAddress, ethAddress, bnbAddress |
错误处理
ts
try {
const addresses = await Turing.getAddress();
console.log("TBC:", addresses.tbcAddress);
console.log("BTC:", addresses.btcAddress);
console.log("ETH:", addresses.ethAddress);
console.log("BNB:", addresses.bnbAddress);
} catch (error) {
console.error("获取地址失败:", error);
}订阅变化
用户在钱包内切换当前账户时,dapp 会收到 TuringAccountChanged 事件并附带新的地址,无需轮询 getAddress()。
ts
window.addEventListener("TuringAccountChanged", (event) => {
const { addresses } = event.detail;
// `addresses` 与 Turing.getAddress() 的返回值同结构
});ts
interface TuringAccountChangedDetail {
addresses: GetAddressResponse;
}仅在 dapp 已连接期间触发,且只推送 connect() 之后的变化(初始地址由 Turing.connect() 直接返回)。