You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WalletConnect V2原生JavaScript环境下personalSign扫码签名异常问题

问题排查:Web3Modal v2 扫码签名错误及版本升级问题

我正在自己的站点上基于HTML和原生JavaScript(vanilla JavaScript)完成从WC1到WC2的迁移,尝试多种方案后效果均不理想。当前实现的方案在MetaMask浏览器插件环境下运行正常,但扫码连接钱包时出现问题:地址连接完成后发送personalSign请求,扫码场景下会触发错误(错误截图:签名错误截图)。

以下是我的JavaScript代码:

import {
  EthereumClient,
  w3mConnectors,
  w3mProvider,
  WagmiCore,
  WagmiCoreChains,
  WagmiCoreConnectors
} from "https://unpkg.com/@web3modal/ethereum@2.7.0";

import { Web3Modal } from "https://unpkg.com/@web3modal/html@2.6.2";

// 0. Import wagmi dependencies
const { mainnet, polygon, avalanche, arbitrum } = WagmiCoreChains;
const { configureChains, createConfig, watchAccount, signMessage, disconnect  } = WagmiCore;

const projectId = "PRIVATE_ID";
const chains = [mainnet, polygon, avalanche, arbitrum];
// 2. Configure wagmi client
const { publicClient } = configureChains(chains, [w3mProvider({ projectId })]);
const wagmiConfig = createConfig({
  autoConnect: true,
  connectors: [
      ...w3mConnectors({ chains, version: 2, projectId })
   ],
  publicClient
});

// 3. Create Ethereum and modal clients
const ethereumClient = new EthereumClient(wagmiConfig, chains);
export const web3Modal = new Web3Modal(
  {
    projectId

  },
  ethereumClient
);
const unwatch = watchAccount((account) => checkaccount(account));

document.getElementById('my-button').addEventListener('click', () => {
  web3Modal.openModal()
})

async function checkaccount(account)
{
  try {
    if (account.address) {
      const signature = await signMessage({
      message: 'prova 123',
    });
    console.log(signature);
        await disconnect();

    }
  }
  catch (err) {
      console.log(err);
  }
}

另外,尝试将依赖包从https://unpkg.com/@web3modal/html@2.6.2升级到https://unpkg.com/@web3modal/html@2.7.0时,出现process.env未定义的错误,恳请帮忙排查解决。

内容的提问来源于stack exchange,提问作者Enrico Luperini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 01:55:33