Skip to content

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() 直接返回)。