A tool for developing Cartesi Coprocessor applications
This tool aims to be an iterative development environment for Cartesi Coprocessor applications
Table of Contents
Overview
This is an iterative tool designed to accelerate the "debugging" and "development" process of applications using the Cartesi Coprocessor infrastructure, providing a faster path to the production environment.
Getting Started
Prerequisites
- Foundry
- Nonodo
Installation
There are two installation options for the tool: one involves installing the binary according to the architectures available on the releases page, and the other uses Golang to install the package. Choose one of these options to proceed.
- Go to latest release page and download the archive for your host platform;
- Extract the archive;
- Add the binary's path to the system PATH so that it can be initialized using just the
nonodox
command;
- Install the package with golang:
go install github.com/Mugen-Builders/cartesi-coprocessor-nonodox/cmd/nonodox@latest
[!WARNING]
The command above installs NoNodoX into the bin
directory inside the directory defined by the GOPATH
environment variable.
If you don't set the GOPATH
variable, the default install location is $HOME/go/bin
.
So, to call the nonodox
command directly, you should add it to the PATH
variable.
The command below exemplifies that.
export PATH="$HOME/go/bin:$PATH"
Running
- Download the state file (.json):
curl -O https://raw.githubusercontent.com/Mugen-Builders/cartesi-coprocessor-nonodox/refs/heads/main/anvil_state.json
- Start the anvil instance:
anvil --load-state anvil_state.json
[!CAUTION]
Before running the command below, please make sure that you have deployed the CoprocesorAdapter instance, passing 0x9A9f2CCfdE556A7E9Ff0848998Aa4a0CFD8863AE
as the coprocessor address to its constructor
- Running the tool:
nonodox
[!NOTE]
If you wish to make any customizations to the tool's execution environment, you can use the --config
flag along with the path to a .toml
file, which should contain the following variables:
[anvil]
http_url = "http://127.0.0.1:8545"
ws_url = "ws://127.0.0.1:8545"
private_key = "<private-key-without-0x>"
input_box_block = "7"