Ethereum 迁移2_deploy_协定无效或在Object.run()处不接受任何参数
我正在尝试使用Ethereum 迁移2_deploy_协定无效或在Object.run()处不接受任何参数,ethereum,truffle,Ethereum,Truffle,我正在尝试使用块菌宠物店编译我的智能合约。我在目录election/contracts/election.sol中有以下合同 pragma solidity >=0.4.0 <0.6.0; contract Election{ string public candidate; constructor() public{ candidate="Zeeshan"; } } 我正在使用以下命令迁移合同: 块菌迁移 我得到了以下结果: Compili
块菌宠物店
编译我的智能合约。我在目录election/contracts/election.sol中有以下合同
pragma solidity >=0.4.0 <0.6.0;
contract Election{
string public candidate;
constructor() public{
candidate="Zeeshan";
}
}
我正在使用以下命令迁移合同:
块菌迁移
我得到了以下结果:
Compiling your contracts...
===========================
> Compiling .\contracts\Election.sol
> Compiling .\contracts\election.sol
> Artifacts written to D:\Notes\BCS\Semester 8\FYP\Practise Coding\dapp university 2 hr video code\election\build\contracts
> Compiled successfully using:
- solc: 0.5.8+commit.23d335f2.Emscripten.clang
Starting migrations...
======================
> Network name: 'development'
> Network id: 5777
> Block gas limit: 0x6691b7
2_deploy_contracts1.js
======================
Error: Error: Migration D:\Notes\BCS\Semester 8\FYP\Practise Coding\dapp university 2 hr video code\election\migrations\2_deploy_contracts1.js invalid or does not take any parameters
at Object.run (C:\Users\mk141\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\truffle-migrate\index.js:92:1)
at process._tickCallback (internal/process/next_tick.js:68:7)
Truffle v5.0.30 (core: 5.0.30)
Node v10.16.1
它还编译了Election.sol
,因为我将Election.sol
重命名为Election.sol
,并将Election.sol
存储在缓存中
正如您在上面看到的,它给出了一个错误:Migration 2_deploy_contracts无效或在Object.run()上没有任何参数,我不知道如何解决它。我在
2_deploy_contracts1.js
文件中犯了一个错误。有module.export
而不是module.export
。因此,新的2_deploy_contracts1.js文件将:
var Election1=artifacts.require("election.sol");
module.exports=function(deployer){
deployer.deploy(Election1)
};
另外,我使用以下命令再次迁移
块菌迁移
相反,如果我再次迁移,我应该使用以下命令
块菌迁移-重置
我们使用此命令是因为我们已经迁移了
构建文件夹中的智能合约。此命令将删除生成文件夹中以前迁移的所有文件
,并添加智能合约的新迁移文件 我在2\u deploy\u contracts1.js
文件中犯了一个错误。有module.export
而不是module.export
。因此,新的2_deploy_contracts1.js文件将:
var Election1=artifacts.require("election.sol");
module.exports=function(deployer){
deployer.deploy(Election1)
};
另外,我使用以下命令再次迁移
块菌迁移
相反,如果我再次迁移,我应该使用以下命令
块菌迁移-重置
我们使用此命令是因为我们已经迁移了构建文件夹中的智能合约。此命令将删除生成文件夹中以前迁移的所有文件
,并添加智能合约的新迁移文件 在require函数中,您需要检查合同的名称,如Election.sol,并检查是否有任何拼写错误在require函数中,您需要检查合同的名称,如Election.sol,并检查是否有任何拼写错误可能与@ZulhilmiZainudin有关没有我再次使用错误的命令进行迁移,我犯了错误在迁移文件中。可能与@ZulhilmiZainudin有关。不,我再次迁移时使用了错误的命令,并且在迁移文件中犯了错误。