Skip to main content

合约常见问题

合约交互 Vm reverted 错误

在跟合约交互时可能会碰到如下错误:

transaction is reverted. Innermost error is at CFXTEST:TYPE.CONTRACT:ACEJ04GJ99EM49UG52E662HU5PFUAEGBDJ3YJJEMYN: Vm reverted. ., data = "CFXTEST:TYPE.CONTRACT:ACEJ04GJ99EM49UG52E662HU5PFUAEGBDJ3YJJEMYN: Vm reverted.

通常可能有两种可能

  1. solidity 的执行逻辑或检查逻辑失败,包括:交易 calldata ABI 编码错误,调用了不存在的函数,合约内部调用了不存在的合约,向不 payable 的函数转账等。
  2. solidity 代码中 require 函数检查失败,没有错误消息,如:require(msg.sender == owner);