Skip to content

An EVM execution client designed to deterministically interact with Bitcoin

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

SovaNetwork/sova-reth

Repository files navigation

sova-reth

GitHub Release Docs docs MIT License Apache-2.0 License CI Status

Bitcoin's Programmable Execution Environment

OverviewDocumentationRunning a ValidatorSova Testnet

sova-reth

Overview

A Sova node is an extension of the EVM execution client Reth. This extension of reth enables a new subset of Bitcoin precompiles. The precompiles are used to directly interface with a Bitcoin node during EVM transaction execution.

Building and Running

A Makefile is used as a command runner to execute repository commands.

# view all make commands
make help

# build the sova-reth binary
make build

# run in devnet mode using Bitcoin regtest
make run-sova-regtest

Running a Validator

For Operators (WIP)

Operators can join the Testnet by staking Testnet Sova and syncing the historical chain data. For more information on how to join the Testnet as an operator view our Operator Guide in the docs. This guide will run you through starting a VM, installing the EigenLayer CLI, registering as an operator, and running the Sova validator.

Devnet

For testing sova-reth in a devnet environment, it is recommended to use running-sova. This will orchestrate the deployment of all the auxiliary services need for local development.

Precompiles

The Bitcoin precompiles are found at address 0x999 and accept a bytes payload along with a 4 bytes method identifier. The method identifier specifies the bitcoin rpc call that should be called with the payload data.

For more information on how to use the precompiles see this section in the docs.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in these crates by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.