suave-geth
suave-geth copied to clipboard
SUAVE
SUAVE is designed to decentralize the MEV supply chain by enabling centralized infrastructure (builders, relays, centralized RFQ routing, etc.) to be programmed as smart contracts on a decentralized blockchain.
suave-geth
is a work-in-progress Golang SUAVE client consisting of two separable components: chain nodes and execution nodes. SUAVE clients offer confidential execution for smart contracts, allowing confidential processing with extended precompiles for enhanced MEV functionalities, including transaction simulation via geth RPC, block building, and relay boosting, all handled by dedicated execution nodes.
For a deeper dive, check out the following links:
- Suave Specs
- Simple MEV-share walk through
- Demo video from EthCC.
- Suapp Examples
Getting Started
Starting a local devnet
You can use suave-geth
to start a local SUAVE devnet.
There's multiple ways to get suave-geth
:
- Install the latest release binary
- Build from source
- Use Docker
Install the latest suave-geth release binary
curl -L https://suaveup.flashbots.net | bash
Building from source
# build the binary
$ make suave
Now you can go to /build/bin and:
Start the local devnet like this:
$ ./suave-geth --suave.dev
Start the Rigil testnet like this:
$ ./suave-geth --rigil
Using Docker
# spin up the local devnet with docker-compose
$ make devnet-up
# check that the containers are running
$ docker ps
# you can stop the local devnet like this
$ make devnet-down
Testing the devnet
Create a few example transactions:
$ go run suave/devenv/cmd/main.go
Execute a RPC request with curl like this:
$ curl 'http://localhost:8545' --header 'Content-Type: application/json' --data '{ "jsonrpc":"2.0", "method":"eth_blockNumber", "params":[], "id":83 }'
What next?
- suapp-examples is a collection of example SUAVE apps and boilerplate to get started quickly and right-footed.
- suave-specs is the spec repository for SUAVE which contains all the technical documentation.