Getting Started

act uses Nix for dependency management and building. If you don't have Nix installed yet, you can use the Determinate Nix installer.

Installation

To build from source

  1. Clone the repository:
git clone https://github.com/argotorg/act.git
cd act
  1. Build the project:
nix build

Once you have built, for development, enter a Nix development shell to get all dependencies:

nix develop

Test your installation by running the commands in basic usage section.

Note: You can also use Cabal as normal from the root directory.

Basic Usage

Once you are in the Nix shell, test your installation by running the HelloWorld contract specification:

The hevm backend:

cabal run act --equiv --spec tests/helloworld/helloworld.act --sol tests/helloworld/helloworld.sol

(the output should conclude with No discrepancies found.)

The Rocq backend:

cabal run act -- rocq --file tests/helloworld/helloworld.act

(the output should conclude with Qed. End HelloWorld.)

Alternatively, if you've run make first, you can run the executable directly:

act <OPTIONS>

For advanced options, consult the hevm backend documentation and Rocq backend documentation, or list the options by calling

cabal run act -- --help