Dapps

試圖將 dapp 切換到 MATIC

  • August 14, 2021

我正在嘗試將 dapp 切換到 MATIC/Polygon。我收到這個奇怪的錯誤:出了點問題:錯誤:內部 JSON-RPC 錯誤。{“詳細資訊”:“未經授權的方法:net_listening。”,“程式碼”:-32005 }

我的程式碼是這樣的:

App = {
               web3Provider: null,
           


           init: function() {
               return App.initWeb3();
           },

           initWeb3: function() {
               if (typeof web3 !== 'undefined') {
                   App.web3Provider = web3.currentProvider;
                   web3 = new Web3(web3.currentProvider);
               } else {
                   App.web3Provider = new Web3(Web3.givenProvider || 'wss://rpc-mainnet.maticvigil.com/ws/v1/XXXXXXXXXXXXXXXXXXXXX'); // 
                   web3 = new Web3(App.web3Provider);
               }
                           
               web3.eth.net.getId().then(netId => {
                   switch (netId) {
                       case 137:
                           break
                       default:
                         $('#div_wrong_network').show()
                   }
               });
               
               getAccounts(function(result) {
                   App.account = result[0];    
               });
               
               return App.initContracts();
           },

           initContracts: function() {$.getJSON("../XXXX.json", function(Response) {
                   var abi = Response.abi;
                   
                           App.listenForEvents();
                           return App.render();
                       
                       }
                   
           },
           
           listenForEvents: function() {
               ...
           },

           render: async function() {
               if (App.loading) {
                 return;
               }
               App.loading = true;
               
               if(ethereum.selectedAddress !== null)
               {
                   web3.eth.net.isListening()
                  .then(() => {})
                  .catch(e => console.log('Something went wrong: '+ e));
                   
                   if(window.ethereum) {
                       await ethereum.enable();
                   }
               }

….

看起來 web3.eth.net.isListening() 失敗了。可能是什麼問題呢?謝謝!

我在 Infura 文件中發現了這一點,可能會有所幫助: JSON-RPC 錯誤程式碼

似乎錯誤 32005 表明您超出了節點/伺服器允許您發出的請求數量的一些預定義限制?

希望有幫助。

引用自:https://ethereum.stackexchange.com/questions/99211