我使用Metacoin项目测试Truffle Migrate,并处理此错误。
sudo apt-get install build-essential mercurial make cmake autoconf automake \
libtool libasound2-dev libpulse-dev libaudio-dev libx11-dev libxext-dev \
libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libxxf86vm-dev \
libxss-dev libgl1-mesa-dev libdbus-1-dev libudev-dev libgles2-mesa-dev \
libegl1-mesa-dev libibus-1.0-dev fcitx-libs-dev libsamplerate0-dev \
libsndio-dev libwayland-dev libxkbcommon-dev
我尝试了松露,testrdc,ganeche的升级版本,但仍然是错误的。
$ truffle migrate
Compiling your contracts...
===========================
> Everything is up to date, there is nothing to compile.
Starting migrations...
======================
> Network name: 'development'
> Network id: 1590824689051
> Block gas limit: 6721975 (0x6691b7)
1_initial_migration.js
======================
Deploying 'Migrations'
----------------------
> transaction hash: 0x7a1e7674deb662dd59e821db7d102795724135c940f118855b5d70abb11ec64e
> Blocks: 0 Seconds: 0
> contract address: 0x2C962f16f596B423A2810B4202B09314691e2b16
> block number: 3
> block timestamp: 1590824746
> account: 0xd3a13CEEb9edFE9c0a6437f9ED124AeB5Fac9859
> balance: 99.85802118
> gas used: 188483 (0x2e043)
> gas price: 20 gwei
> value sent: 0 ETH
> total cost: 0.00376966 ETH
⠹ Saving migration to chain.
Error: Returned error: VM Exception while processing transaction: invalid opcode
at Migration._deploy (/usr/local/lib/node_modules/truffle/build/webpack:/packages/migrate/migration.js:93:1)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at Migration._load (/usr/local/lib/node_modules/truffle/build/webpack:/packages/migrate/migration.js:57:1)
at Migration.run (/usr/local/lib/node_modules/truffle/build/webpack:/packages/migrate/migration.js:167:1)
at Object.runMigrations (/usr/local/lib/node_modules/truffle/build/webpack:/packages/core/lib/commands/migrate.js:253:1)
at /usr/local/lib/node_modules/truffle/build/webpack:/packages/core/lib/commands/migrate.js:218:1
Truffle v5.1.28 (core: 5.1.28)
Node v12.17.0
请我帮个忙。
谢谢
答案 0 :(得分:0)
当我使用'testrpc'命令启动本地区块链时,我也面临着同样的错误。 当我使用“ ganache-cli”命令启动本地区块链时,该错误得到解决。
答案 1 :(得分:0)
这是很久以后的事了,但我刚刚遇到了这个问题,这是用于编译的编译器 evmVersion 和用于 ganache-cli 的不匹配。 Ganache 指定了拜占庭,而编译器默认使用其他东西(早期版本?)