制作一个Dapp,出现错误:未定义setProvider?

问题描述

我正在研究有关udemy的本课程,并且在搜索并尝试了所有可能的解决方案并且没有从本课程的讲师得到任何反馈后,我最终陷入了困境:)

我正在为Dapp做前端,在加载网站并设置帐户后检查了元掩码之后,我正在尝试为我的智能合约实例设置提供程序,以便以后使用它们进行部署和交互和他们在一起:

我的app.js文件

import { default as Web3} from 'web3';
import { default as contract } from 'truffle-contract'

// Import our contract artifacts and turn them into usable abstractions.
import exchange_artifacts from '../../build/contracts/Exchange.json'
import token_artifacts from '../../build/contracts/FixedSupplyToken.json'


var accounts;
var account;

var ExchangeContract = contract(exchange_artifacts);
var TokenContract = contract(token_artifacts);

window.App = {
  start: function() {
   //bootstrap everything
   
   

**ExchangeContract = setProvider(web3.currentProvider); // getting a setProvider not defined error 
TokenContract = setProvider(web3.currentProvider); // getting a setProvider not defined error**

    
},

在app.js中进行元掩码检查:

window.addEventListener('load',function() {
    return new Promise((resolve,reject) => {
        if(typeof window.ethereum !== 'undefined') {
          const web3 = new Web3(window.ethereum);
          
          console.log("my Metamask version");

          window.web3 = new Web3(web3.currentProvider);
          

          window.ethereum.enable()
            .then(() => {
              resolve(
                new Web3(window.ethereum)
                
              );
            })
            .catch(e => {
              reject(e);
            });
            
          return;
        }
        if(typeof window.web3 !== 'undefined') {
            
          return resolve(
            new Web3(window.web3.currentProvider)
          );
        }
        
        resolve(new Web3('http://localhost:9545'));
      }),

enter image description here

感谢您的任何反馈...:)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...