Files
revive/crates/runner
kvpanchandxermicus 540ec03cd7 Added 2 options to control expected result to revive-runner (#438)
Added 2 options to control expected result to `revive-runner`:
```
      --verify-failure <VERIFY_FAILURE>
          The expected call result of the contract execution

          Possible values:
          - instantiate: The contract instantiation must fail
          - call:        The contract execution must fail

      --verify-call-gas-consumed <VERIFY_CALL_GAS_CONSUMED>
          The expected amount of consumed gas by the contract execution
```

---------

Co-authored-by: xermicus <bigcyrill@hotmail.com>
2026-01-07 21:36:33 -05:00
..
2025-01-17 16:59:45 +01:00
2025-11-03 16:10:20 +01:00

revive-runner

The revive runner is a helper utility aiding in contract debugging.

Given a PVM contract blob, it will upload, deploy and call that contract using a local, stand-alone un-blockchained pallet revive (which is our execution layer).

This is somewhat similar to the geth evm utility binary.

Installation

The revive-runner does not depend on the compiler itself, hence installing this utility does not depend on LLVM, so no LLVM build is required.

Inside the root revive repository directory, execute:

make install-revive-runner

Which will install the revive-runner using cargo.

Usage

Set the RUST_LOG environment varibale to the trace level to see the full PolkaVM execution trace. For example:

RUST_LOG=trace revive-runner -f mycontract.pvm -c a9059cbb000000000000000000000000f24ff3a9cf04c71dbc94d0b566f7a27b94566cac0000000000000000000000000000000000000000000000000000000000000000