Web3js

web3.eth.defaultChain 返回未定義

  • May 4, 2020

嗨,我正在嘗試使用 web3.js 呼叫 Kovan 測試網中的 Dai 合約,並且必須將 web3.eth.defaultChain 的值設置為“kovan”。文件指出 web3.eth.defaultChain 的預設值是“mainnet”,但它給了我“未定義”。我認為這也是為什麼我在查詢 balanceOf 方法時得到錯誤結果的原因。有人可以告訴我為什麼會這樣嗎?這是我的程式碼:

const Web3 = require("web3");
if (typeof web3 !== 'undefined') {
       web3 = new Web3(web3.currentProvider);
   } else {
       // set the provider you want from Web3.providers
       web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
   }
console.log(web3.eth.defaultChain); //This returns 'undefined'
web3.eth.defaultChain = 'kovan';
var DaiContract = web3.eth.contract('ABI_HERE');
var dai = DaiContract.at('0xC4375B7De8af5a38a93548eb8453a498222C4fF2');
console.log(dai.balanceOf('0x3B1b198FE3Ee0428164a2fD38529CE958e63a0BD'));

您的語法(web3.eth.contract帶有小寫字母c)暗示您使用的是 web3.js v0.x。

但是,web3.eth.defaultChain僅從 web3.js v1.x 開始支持。

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