Solidity
POST https://kovan.infura.io/MG……. 405 () + Uncaught Error: Invalid JSON RPC response: ’’ with web3js and metamask
我正在嘗試創建一個網站,讓某人與我的契約進行互動(通過使用 metamask 重新混合部署到 kovan 上)但是當我嘗試簽名函式時出現上述錯誤。所有未簽名的函式都可以完美執行。
我認為的一個問題是這段程式碼:
web3.eth.getAccounts(function (error, accounts) { if (error) return console.error(error) console.log(accounts) })
在我的網站上它給出了一個空數組,但在https://codepen.io/anon/pen/KoRWyZ它返回
$$ “0x92165d2b80974733b7115e3cbf8285e70132d9e9” $$.
if (typeof web3 !== 'undefined') { web3 = new Web3(web3.currentProvider); //web3 = new Web3(new Web3.providers.HttpProvider("https://kovan.infura.io/MGb05nymXluRaB7138hk")); } else { web3 = new Web3(new Web3.providers.HttpProvider("https://kovan.infura.io/MGb05nymXluRaB7138hk")); } web3.eth.getBlock(48, function(error, result){ if(!error) console.log(result) else console.error(error); }) web3.eth.getAccounts(function (error, accounts) { if (error) return console.error(error) console.log(accounts) }) web3.eth.defaultAccount = web3.eth.accounts[0]; var MContract = web3.eth.contract([ABI]); var ContractIst = papyrContract.at('address'); console.log(ContractIst);
當我嘗試在 contractInst 上執行簽名函式時,出現上述錯誤。我試過同時使用 wamp 和 heliohost(http) 但都不起作用。
試著把你放在這之間:
// Wait for loading completion to avoid race conditions with web3 injection timing. window.addEventListener('load', function() { //Your code here.. });