Do not use it in Production, testnet only.
A Python implementation of the EigenLayer Incredible Squaring AVS
- Install foundry
curl -L https://foundry.paradigm.xyz | bash
foundryup
-
Install docker
-
Build the contracts:
make build-contracts
- Install MCL
sudo apt install libgmp3-dev
wget https://github.com/herumi/mcl/archive/refs/tags/v1.93.zip
unzip v1.93.zip
cd mcl-1.93
mkdir build
cd build
cmake ..
make
make install
- Python3
- Install required modules:
pip install -r requirements.txt
Tip
This AVS employs the eigensdk-python to facilitate interaction with EigenLayer contracts and to aggregate BLS signatures.
This simple session illustrates the basic flow of the AVS. The makefile commands are hardcoded for a single operator, but it's however easy to create new operator config files, and start more operators manually (see the actual commands that the makefile calls).
Start anvil in a separate terminal:
make start-anvil-chain-with-el-and-avs-deployed
The above command starts a local anvil chain from a saved state with eigenlayer and incredible-squaring contracts already deployed (but no operator registered).
Start the aggregator:
make start-aggregator
Register the operator with eigenlayer and incredible-squaring, and then start the process:
make start-operator