首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在元问询中提供程序未设置或无效

在元问询中提供程序未设置或无效
EN

Ethereum用户
提问于 2018-02-12 20:10:59
回答 1查看 3.9K关注 0票数 1

我正在使用元请求连接到rinkeby网络。我可以看到元问题注入了web3代码,但是我还是得到了Error: Provider not set or invalid。这是我写的js脚本。

代码语言:javascript
复制
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。我该怎么解决这个问题?

EN

回答 1

Ethereum用户

回答已采纳

发布于 2018-02-12 20:20:10

如果您已经拥有了new Web3实例,那么实际上不应该在web3.currentProvider实例中设置提供程序。

取代:

代码语言:javascript
复制
web3 = new Web3(web3.setProvider(web3.currentProvider));

通过以下方式:

代码语言:javascript
复制
web3 = new Web3(web3.currentProvider);

此外,在检查浏览器版本之前,不要创建web3实例。

更换线路:

代码语言:javascript
复制
var web3 = new Web3();

通过以下方式:

代码语言:javascript
复制
var web3 = window.web3;
票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/39410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档