Solidity
遷移後如何呼叫智能合約函式
在我的
2_deploy_contracts.js
文件中,我可以使用命令成功遷移我的所有契約truffle migrate
。我的問題是,遷移後,我想從合約D呼叫一個函式並將其傳遞給合約E的地址。我的**
2_deploy_contracts.js
**文件如下所示(契約名稱已替換):const A = artifacts.require("A"); const B = artifacts.require("B"); const C = artifacts.require("C"); const D = artifacts.require("D"); const E = artifacts.require("E"); module.exports = function(deployer) { deployer.deploy(A); deployer.deploy(B); deployer.deploy(C); deployer.deploy(D) .then(function() { return deployer.deploy(E, D.address); }) .then(function() { return D.methods.setEContractAddress(E.address); // This line }); };
我在這個網站上查看了其他類似的問題,但到目前為止沒有任何幫助。合約E遷移後如何呼叫
setEContractAddress()
合約D中的函式?**感謝您的幫助和時間!
嘗試這個:
const D = artifacts.require("D"); const E = artifacts.require("E"); module.exports = async (deployer) => { await deployer.deploy(D) const d = await D.deployed(); await deployer.deploy(E, d.address); const e = await E.deployed(); await d.setEContractAddress(e.address); };