OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Sothis

Sothis is a Rust command-line tool and crate for replaying Ethereum blockchain state on local Anvil or Hardhat nodes and tracking contract storage changes.

Independent OpenViST project profile, based on linked sources.

Sothis — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Sothis when development or investigation needs historical or live Ethereum state replay on a local Anvil or Hardhat node, or when you need a JSON record of changes to a contract storage slot.

Who it is for

  • Smart-contract developers investigating behavior at earlier Ethereum states.
  • Developers building local replay or storage-tracking workflows with Rust.

Documented uses

  • Replay historical blocks to a local node through a chosen terminal block.
  • Replay newly arriving blocks to a forked local node near the chain head.
  • Record changes to a contract storage slot in a JSON file.
  • Use Sothis tracking modes or its JSON-RPC wrapper from another Rust project.
Before you choose

Requirements & limits

  • Historic replay requires both source and replay HTTP JSON-RPC endpoints.
  • The README's historic replay example uses an archive-node source.
  • Live replay is described for a forked local node whose tip is near the chain head.
  • Track mode requires the contract address and storage slot; its result is written to JSON.
  • The repository targets Rust 1.68.2 as its minimum supported Rust version and specifies the MPL-2.0 license.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Track a contract storage slot to a JSON file

Record changes to a specified contract storage slot from a source RPC.

Before you start

  • The Sothis CLI.
  • A source node HTTP JSON-RPC endpoint.
  • A contract address and storage slot.

Steps

  1. Select track mode and provide the source RPC, contract address and storage slot.

  2. Optionally set a terminal block, output filename and output path.

  3. Stop the process with SIGTERM or SIGINT to write the tracking result.

Expected outcome

A JSON file containing the contract address, storage slot and observed state changes.

Guide limitations

  • If tracking has no terminal block, it continues until terminated.
  • Sothis checks for termination on each new source block; if no new blocks arrive, it may not stop and write the file until another block is produced.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
14 October 2026
Original website title
rainshowerLabs/sothis · Official homepage title · retained in its source language