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:
There's two ways to start the local devnet: with Docker or directly using the suave-geth binary.
# build the binary
$ make suave
Now you have the suave
binary in your Go bin directory. You can check this by running:
$ which suave
$ suave --version
Start the local devnet like this:
$ suave --suave.dev
# 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
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 }'
- 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.