【发布时间】:2018-05-26 12:54:41
【问题描述】:
我有一个简单的 HTML 文件,其中包含以下代码,试图从 Chrome 连接到我的智能合约。
if (typeof web3 !== 'undefined') {
web3 = new Web3(web3.currentProvider);
console.log(web3);
} else {
// set the provider you want from Web3.providers
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
}
使用我的 localhost:8545 代码可以完美运行,但是当我停止 localhost 时,它只是没有通过 MetaMask 插件连接。我尝试了一切,关闭浏览器,退出 MetaMask 并重新登录新页面,重新安装 MetaMask。没有任何效果。我的刷新页面一直在寻找本地主机连接。
【问题讨论】:
-
您使用 metamask 连接到哪个网络?您可以使用元掩码连接到您的本地主机。
-
Marcos,我在尝试我的示例 DApp 时已连接到 Roopsten。 web3.currentProvider 仍然显示 LocalHost。我可以强制 web3.currentProvider 设置为 RoopSten 或我选择的任何其他网络吗?
-
你自己有
web3.js<script src="/somepath/web3.js"></script>吗? -
我没有专门包含任何 web3.js 文件。我依靠 metamask 注入。我需要吗?我是否可能需要在 Web 服务器中运行我的测试 HTML 文件以启用元掩码注入 web3?现在我正在尝试上面的代码,只需从我的 C: 驱动器启动 HTML 文件到 chrome。
-
不,你不需要,但如果你是,那会导致你的错误。您要访问哪个 URL?
console.log(web3)会打印出来吗?
标签: ethereum smartcontracts web3 web3js metamask