我正在使用元请求连接到rinkeby网络。我可以看到元问题注入了web3代码,但是我还是得到了Error: Provider not set or invalid。这是我写的js脚本。
var Web3 = require('web3');
var web3 = new Web3();
if (typeof web3 !== 'undefined') {
console.log("Using web3 detected from external source like Metamask");
web3 = new Web3(web3.setProvider(web3.currentProvider));
} else {
console.log("Using localhost");
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
}
var account = web3.eth.accounts[0];
console.log(account);这是我要犯的错误

我用webpack,web3 0.20.4。我该怎么解决这个问题?
发布于 2018-02-12 20:20:10
如果您已经拥有了new Web3实例,那么实际上不应该在web3.currentProvider实例中设置提供程序。
取代:
web3 = new Web3(web3.setProvider(web3.currentProvider));通过以下方式:
web3 = new Web3(web3.currentProvider);此外,在检查浏览器版本之前,不要创建web3实例。
更换线路:
var web3 = new Web3();通过以下方式:
var web3 = window.web3;https://ethereum.stackexchange.com/questions/39410
复制相似问题