Rust interfaces & tooling for Recall
Caution
Recall is currently an alpha testnet, and the network is subject to fortnightly changes with rolling updates. Please be aware that the network may be reset at any time, and data may be deleted every two weeks. A more stable testnet will be released in the future that won't have this limitation.
Recall is a decentralized platform for testing, verifying, and evolving AI agents—powering trustless, machine-verifiable decision. This repository contains a Rust SDK and CLI for interacting with the Recall network.
First, clone the repository:
git clone https://github.com/recallnet/rust-recall.git
cd rust-recall
If you want to build and install the CLI, run the following:
make install
You can find detailed usage instructions and available commands in the CLI documentation. If you're looking to build with the Rust SDK, you can also find more information in the Recall SDK documentation.
When developing against a local network, be sure to set the --network
(or NETWORK
) to devnet
.
This presumes you have a local-only setup running, provided by the
ipc
repo and custom contracts in
builtin-actors
.
All the available commands include:
- Build all crates:
make build
- Install the CLI:
make install
- Run unit tests:
make test
- Run linter:
make lint
- Run formatter:
make check-fmt
- Run clippy:
make check-clippy
- Do all of the above:
make all
- Clean dependencies:
make clean
The integration tests require a Docker container to be running for localnet
. You can use the following Make commands
to spin up a localnet
Docker container and execute tests against it:
SDK integration tests:
make test-sdk
CLI integration tests:
make test-cli
If you want to run all tests, including unit tests and SDK/CLI integration tests, you can use the following command:
make test-all
If you'd like to test against a specific IPC commit, look for the corresponding localnet
image in the
Docker Hub repository using the first 7 characters of the IPC
commit hash. For example, for commit dc4da8c14c541e1ef9e398a594e65660465c47f5
, the corresponding localnet
image
would be tagged sha-dc4da8c-*
(in this case, sha-dc4da8c-3e80bf0
).
You can then specify the image tag in the Make command. For example:
RECALL_LOCALNET_IMAGE=textile/recall-localnet:sha-dc4da8c-3e80bf1 make test-sdk
All the tests in the repo are written as Rust unit tests, even the integration tests. New integration tests can be added
to the sdk/tests
directory.
CLI tests are currently bash scripts located in the tests/cli
directory. You can add new tests by creating a new bash
script in this directory. The test scripts are numbered to ensure a deterministic order of execution.
PRs accepted.
Small note: If editing the README, please conform to the standard-readme specification.
MIT OR Apache-2.0, © 2025 Recall Contributors