Silius Book

Documentation for Silius users and developers.

Telegram Group

Account Abstraction has for a long time been a dream of the Ethereum developer community.

- Vitalik Buterin

Silius is an ERC-4337 (account abstraction) bundler implementation that is modular and highly efficient, written in the memory sasfe programming language Rust.

What are the design goals?

1. Modular

Architecture of the Silius is composed of multiple components - bundling component, user operation mempool, and JSON-RPC server. This allows you to customize your deployment and run only what you need.

2. Reusable

Each major feature is implemented as a separate Rust crate, which makes it possible to reuse code in your project as a building block.

3. Efficient

Efficiency is in our mind when we develop and merge new code. 🦀

Installation

Silius runs on Linux.

There are two main ways to run Silius:

Build from Source

You can build Silius on Linux.

Dependencies

First install Rust using rustup:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

There are some other dependencies you need to install based on your operating system (OS):

  • Ubuntu/Debian: apt-get install libclang-dev pkg-config libssl-dev build-essential

Solidity compiler (solc) is also neded to build from source. Find instructions here.

Build Silius

Clone the repository and move to the directory:

git clone git@github.com:silius-rs/silius.git
cd silius

There are also some other third-party dependencies you need to setup (mainly ERC-4337 related smart contracts). These commands will clone the account abstraction repos and compile the smart contracts.

make fetch-thirdparty
make setup-thirdparty

After everything is setup, you can start the build:

make build // cargo build --release