Ganache
為什麼松露遷移無法部署合約?“無法讀取未定義的選項”
我正在嘗試在本地測試乙太坊鏈上部署本地版本的SushiSwap 。我正在使用Ganache和Truffle在本地部署智能合約。
當我執行
truffle migrate
並嘗試部署任何合約時,遷移中的第二個文件2_deploy_contracts.js
失敗並出現錯誤:
TypeError: Cannot read property 'options' of undefined at Contract (C:\Users\O\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\contract\lib\contract\index.js:31:1)
這裡是程式碼供參考。我已添加要部署的 SushiToken.sol 合約。
var SushiToken = artifacts.require("SushiToken"); module.exports = function (deployer) { deployer.deploy(SushiToken()); //This new line throws the error };
更多上下文:
SushiToken()
是 SushiToken.sol 的一個實例。請參見上面程式碼中的第 1 行。如果我將.sol
副檔名添加到上面的程式碼中,程式碼仍然會失敗。這引出了我的問題:
為什麼 truffle 無法部署合約?
以下程式碼應該可以工作:
const SushiToken = artifacts.require("./SushiToken.sol") module.exports = function(deployer) { deployer.deploy(SushiToken); };
您只需要替換
SushiToken()
為SushiToken
.