上传到测试服务器时,钱包连接importkey错误,但是本地服务器运行良好

发布于 2025-01-28 22:22:48 字数 2560 浏览 3 评论 0原文

我正在为NFT Market Place应用程序尝试钱包连接。我大多从尽头设置了一切。只是我的钱包连接在本地工作非常完美,但是当我将其推入测试服务器时,它给了我这个错误:

未定义的(未定义):无法读取未定义的属性(读取'importKey')

错误屏幕截图 - https://prnt.sc/xekcjcphajc0

web3版本:1.3.6 Web3 -Modal:1.9.7 @walletconnect/web3-provider:1.4.1

这是我的连接内容代码:

const web3Modal = 
        new Web3Modal({
            cacheProvider: true,
            providerOptions: {
                injected : {
                },
                walletconnect: {
                    package: WalletConnectProvider,
                    options: {
                        infuraId: process.env.REACT_APP_INFURA_ID,
                        rpc:{
                            1:"https://mainnet.infura.io/v3/" + process.env.REACT_APP_INFURA_ID,
                            4: "https://rinkeby.infura.io/v3/" + process.env.REACT_APP_INFURA_ID,
                            137: "https://polygon-mainnet.infura.io/v3/" + process.env.REACT_APP_INFURA_ID,
                            80001: "https://matic-mumbai.chainstacklabs.com",
                        }
                    },
                },
            },
        });


  
    const connect = useCallback(async () => {
        
        try {
            const rawProvider = await web3Modal.connect();
            _initListeners(rawProvider);
            const connectedProvider = new Web3Provider(rawProvider, "any");
            const chainId = await connectedProvider.getNetwork().then(network => Number(network.chainId));
            const connectedAddress = await connectedProvider.getSigner().getAddress();
            const networkName = await connectedProvider.getNetwork().then(network => String(network.name))
            if( chainId !== null  ) {
                const web3 = new Web3(Web3.givenProvider);
                console.log(Web3.givenProvider)
                const userBalance = await web3.eth.getBalance(connectedAddress) / Math.pow(10,18);
                setBalance(userBalance);
            }
            setAddress(connectedAddress);
            setProviderChainID(chainId);
            setSymbol(getSymbol(chainId));     
            setChainID(chainId); 
            setNetworkName(networkName);      
            setProvider(connectedProvider);    
            setConnected(true);
            return connectedProvider;

        } catch(error) {
            console.log(error);
        }
  
    }, [provider, web3Modal, connected]);

我正在使用infura和web3

I was trying out wallet-connect for my nft market place app . i have mostly everything set up from my end . Just that my wallet-connect works perfectly in local but when i push it to test server it gives me this error :

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'importKey')

error screenshot - https://prnt.sc/XekCJcpHAjC0

web3 version : 1.3.6
web3modal : 1.9.7
@walletconnect/web3-provider : 1.4.1

here is my code for connection stuff :

const web3Modal = 
        new Web3Modal({
            cacheProvider: true,
            providerOptions: {
                injected : {
                },
                walletconnect: {
                    package: WalletConnectProvider,
                    options: {
                        infuraId: process.env.REACT_APP_INFURA_ID,
                        rpc:{
                            1:"https://mainnet.infura.io/v3/" + process.env.REACT_APP_INFURA_ID,
                            4: "https://rinkeby.infura.io/v3/" + process.env.REACT_APP_INFURA_ID,
                            137: "https://polygon-mainnet.infura.io/v3/" + process.env.REACT_APP_INFURA_ID,
                            80001: "https://matic-mumbai.chainstacklabs.com",
                        }
                    },
                },
            },
        });


  
    const connect = useCallback(async () => {
        
        try {
            const rawProvider = await web3Modal.connect();
            _initListeners(rawProvider);
            const connectedProvider = new Web3Provider(rawProvider, "any");
            const chainId = await connectedProvider.getNetwork().then(network => Number(network.chainId));
            const connectedAddress = await connectedProvider.getSigner().getAddress();
            const networkName = await connectedProvider.getNetwork().then(network => String(network.name))
            if( chainId !== null  ) {
                const web3 = new Web3(Web3.givenProvider);
                console.log(Web3.givenProvider)
                const userBalance = await web3.eth.getBalance(connectedAddress) / Math.pow(10,18);
                setBalance(userBalance);
            }
            setAddress(connectedAddress);
            setProviderChainID(chainId);
            setSymbol(getSymbol(chainId));     
            setChainID(chainId); 
            setNetworkName(networkName);      
            setProvider(connectedProvider);    
            setConnected(true);
            return connectedProvider;

        } catch(error) {
            console.log(error);
        }
  
    }, [provider, web3Modal, connected]);

I am using infura and web3

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文