连接浏览器插件钱包

获取钱包地址#

钱包地址被用于多种场景,包括作为标识符和用于签名交易。

以以太坊为例,以太坊地址是账户的唯一公开标识符,每个账户都有一个对应的地址,地址用于在网络上进行交互和识别,而账户则包含了与该地址相关的所有状态信息和功能。

如果想请求用户的签名或让用户批准一笔交易,DApp 必须使用 eth_requestAccounts RPC 方法来访问用户的账户。

创建连接#

此处建议提供一个按钮,允许用户将欧易 Web3 钱包连接到 DApp。选择此按钮可调用 eth_requestAccounts 方法来访问用户帐户地址。

在下方的示例项目代码中,JavaScript 代码在用户点击连接按钮时访问用户的帐户地址,HTML 代码显示按钮和当前帐户地址:

HTML
JavaScript
<button class="connectEthereumButton">Connect to Ethereum</button>
const connectEthereumButton = document.querySelector('.connectEthereumButton');

connectEthereumButton.addEventListener('click', () => {
  //Will Start the OKX extension
  okxwallet.request({ method: 'eth_requestAccounts' });
});

监听账户地址变化#

您可以使用事件来监听变化:

okxwallet.on('accountsChanged', handler: (accounts: Array<string>) => void);

每当 eth_accounts RPC 方法的返回值发生变化时,欧易都会发出对应事件提醒。 eth_accounts 会返回一个为空或包含单个账户地址的数组,返回的账户地址如果存在,即为允许调用者访问的最近使用的账户地址。

由于调用者由其 URL origin 标识,所以具有相同来源(origin)的站点会持有相同的权限。只要用户公开的账户地址发生变化,就会发出 accountsChanged

更多链的账户地址获取#

更多链的账户获取方法见 Injected providers