松露错误迁移“处理事务时VM异常:无效的操作码”

时间:2020-05-30 08:12:49

标签: blockchain solidity truffle

我使用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

请我帮个忙。

谢谢

2 个答案:

答案 0 :(得分:0)

当我使用'testrpc'命令启动本地区块链时,我也面临着同样的错误。 当我使用“ ganache-cli”命令启动本地区块链时,该错误得到解决。

答案 1 :(得分:0)

这是很久以后的事了,但我刚刚遇到了这个问题,这是用于编译的编译器 evmVersion 和用于 ganache-cli 的不匹配。 Ganache 指定了拜占庭,而编译器默认使用其他东西(早期版本?)