如何解决如何修复“Truffle Migrate”字节码未定义错误
花了几个小时试图解决这个问题 - 希望有人遇到过这个问题。 (在测试中)所有测试文件都运行。
运行 truffle migrate --reset
时,它会记录以下内容。
可能有用的版本是 Truffle v5.1.58(核心:5.1.58)、Node v12.13.0 以及对所有智能合约合约使用 pragma solidity >=0.6.0。
编辑: 在这一点上已经尝试了各种。不同的编译器,使用 solcjs 和只是 solc - 没有骰子。
Compiling your contracts...
===========================
✔ Fetching solc version list from solc-bin. Attempt #1
> Compiling ./src/contracts/Exchange.sol
> Compiling ./src/contracts/Migrations.sol
> Compiling ./src/contracts/Token.sol
> Compiling openzeppelin-solidity/contracts/math/SafeMath.sol
✔ Fetching solc version list from solc-bin. Attempt #1
> Artifacts written to /Users/tony/Desktop/blockchain/el-capitan-exchange/src/abis
> Compiled successfully using:
- solc: 0.6.12+commit.27d51765.Emscripten.clang
Starting migrations...
======================
> Network name: 'development'
> Network id: 5777
> Block gas limit: 6721975 (0x6691b7)
1_initial_migration.js
======================
Replacing 'Migrations'
----------------------
> transaction hash: 0x1ce9b2b65807be1e20fcabd9e2c232ea01b64ce60f256e68749ed40a61db4392
> Blocks: 0 Seconds: 0
> contract address: 0x54A13cb54bD547f749a32959118cDb3E7c2b0Ee9
> block number: 31
> block timestamp: 1610569925
> account: 0x4f41f50211b97527a625BbE86D9bed6AEBD85321
> balance: 99.77302744
> gas used: 186951 (0x2da47)
> gas price: 20 gwei
> value sent: 0 ETH
> total cost: 0.00373902 ETH
> Saving migration to chain.
> Saving artifacts
-------------------------------------
> Total cost: 0.00373902 ETH
2_deploy_contracts.js
=====================
Replacing 'Token'
-----------------
> transaction hash: 0xa7104779b88389cc116e9c9492ee26b5a6824dda7505ebb3a4860476d374cfa6
> Blocks: 0 Seconds: 0
> contract address: 0xC30B06Df705b2B86ebF46E61F799Ee5B0d476229
> block number: 33
> block timestamp: 1610569926
> account: 0x4f41f50211b97527a625BbE86D9bed6AEBD85321
> balance: 99.75454758
> gas used: 881658 (0xd73fa)
> gas price: 20 gwei
> value sent: 0 ETH
> total cost: 0.01763316 ETH
TypeError: Cannot read property 'bytecode' of undefined
at Deployer._preFlightCheck (/Users/tony/.nvm/versions/node/v12.13.0/lib/node_modules/truffle/build/webpack:/packages/deployer/src/deployment.js:173:1)
at /Users/tony/.nvm/versions/node/v12.13.0/lib/node_modules/truffle/build/webpack:/packages/deployer/src/deployment.js:282:1
at processticksAndRejections (internal/process/task_queues.js:93:5)
Truffle v5.1.58 (core: 5.1.58)
Node v12.13.0
解决方法
我刚刚遇到了类似的错误,因为我有
await deployer.deploy();
在我的迁移文件中。您必须输入合同参数
await deployer.deploy(MyToken);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。