Building and running from source
Silius is built in Rust. First install Rust, then clone the repository and enter the directory.
git clone git@github.com:Vid201/silius.git
cd siliusAt the moment, the recommended version of Rust is 1.71.1.
Build from source
Before you can build the project, you need some prerequisites installed:
libclang-dev,pkg-configandlibssl-devon Debian/Ubuntu.Ethereum execution client JSON-RPC API with enabled
debug_traceCall. For production, you can use Geth or Erigon. For testing, we are using Geth dev mode (tested with v1.12.0); so you need to install Geth for running tests.solc>=0.8.12.cargo-sortandcargo-udeps.
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-thirdpartyAfter everything is setup, you can start the build:
make build // cargo build --releaseRunning
You can now run the Silius with the following command:
make run-silius // cargo run --release -- bundler --eth-client-address http://127.0.0.1:8545 --mnemonic-file ${HOME}/.silius/0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --beneficiary 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 --entry-points 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789 --http --wsSome of the most commonly used CLI params are:
eth-client-address: HTTP or WS address to the Ethereum execution client (client should havedebugRPC interface enabled, if not you need to run the bundler in unsafe mode with--uopool-mode unsafe)mnemonic-file: path to the seed phrase of the bundler's accountdatadir: path to the folder where db file will be saved (in case the storage is database)beneficiary: address to where the gas left is sententry-points: address of the ERC-4337 singleton entry point smart contracthttp: enable HTTP JSON-RPC endpointsws: enablr WS JSON-RPC endpointseth-client-proxy-address: HTTP address to the Ethereum execution client, where to forward the standard calls to the execution client
Last updated