Solidity

在 truffle deploy 上返回代幣合約地址

  • December 5, 2019

我試圖弄清楚當我使用 truffle 的 deployer.deploy 部署契約時如何返回契約的地址。所以目標是,當我部署作為自定義令牌的合約時,我想在部署後返回該地址並將該地址傳遞給我的 CrowdSale 合約建構子。像這樣執行此操作時,已部署契約的實例未定義:

1_initial_migration.js

module.exports = function(deployer) {
 deployer.deploy(Migrations);
 deployer.deploy(CrowdTestToken).then((instance) => {
   console.log(instance);
   deployer.deploy(CrowdSale, instance.address);
 });
};

在上面的例子中,instance 是未定義的。有人知道我如何在部署腳本中獲取 CrowdTestToken 合約的地址嗎?

合約的地址就是部署合約的變數名。試試這個:

deployer.deploy(CrowdTestToken).then(function(){
   return deployer.deploy(CrowdSale, CrowdTestToken.address)});

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