我的团结档案中有两个合同。如果我做一个新的 使用FactoryCOntracts函数makeNewContract的合同,我得到 文件的新地址。但是如果我将新地址设置为我的地址 tronweb合同地址,然后出现错误:
未捕获(承诺)TypeError:无法读取未定义的属性“条目”
在e。 (pageHook.js:32874)
在tryCatch(pageHook.js:28487)
在Generator.invoke上[为_invoke](pageHook.js:28713)
在Generator.prototype。(:3000 /匿名函数)[下一个](chrome-extension://ibnejdfjmmkpcnlpebklmnkoeoihofec/dist/pageHook.js:28539:21) 在asyncGeneratorStep(pageHook.js:157) 在_next(pageHook.js:179)请说明为什么会弹出此错误?什么解决方案 ?
const contractAddress = '4142eb13ccf2ceba48897c1718acb84cb2b99431af'
我首先将此地址设置为已部署的工厂合同的地址 (效果很好)但是当我将其设置为新创建时 合同的地址我收到错误。这是我的utils / index.js文件:
const utils = { tronWeb: false, contract: false, async setTronWeb(tronWeb,ca) { this.tronWeb = tronWeb; this.contract = await tronWeb.contract().at(contractAddress); },};
下面是我的固定文件。(包含两个合同):
export default utils; pragma solidity ^0.4.2; contract FactoryContracts { mapping (uint =>address) public allContracts; uint public dealId; uint public totalDeals; event contractJustMade(address indexed newContractAddress); constructor() public{ dealId=0; totalDeals=0; } function makeNewContract() public { Contract c = new Contract(); address newContractAddress = address(c); allContracts[dealId]=(newContractAddress); ++dealId; ++totalDeals; emit contractJustMade(newContractAddress); } } contract Contract{ ...}
我在this.loadAbi(r.abi.entrys)行中出现错误 this.address = r.contract_address, this.bytecode = r.bytecode,this.deployed =!0, this.loadAbi(r.abi.entrys),e.abrupt(“ return”,n(null,this));案件 16:if(e.prev = 16,e.t0 = e.catch(3),! e.t0.toString()。includes(“ 存在”)){e.next = 20; break}返回e.abrupt(“ return”,n(“合同还没有 已部署在网络上”));