Solidity

POST https://kovan.infura.io/MG……. 405 () + Uncaught Error: Invalid JSON RPC response: ’’ with web3js and metamask

  • April 2, 2018

我正在嘗試創建一個網站,讓某人與我的契約進行互動(通過使用 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..

});

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