Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zellular-xyz/incredible-squaring-avs-python
EigenLayer Incredible Squaring in Python
https://github.com/zellular-xyz/incredible-squaring-avs-python
Last synced: 11 days ago
JSON representation
EigenLayer Incredible Squaring in Python
- Host: GitHub
- URL: https://github.com/zellular-xyz/incredible-squaring-avs-python
- Owner: zellular-xyz
- Created: 2024-06-17T19:48:32.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-09-25T07:52:01.000Z (4 months ago)
- Last Synced: 2024-11-12T00:16:19.893Z (2 months ago)
- Language: Solidity
- Size: 145 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-avs - Incredible Squaring Python
- awesome-avs - Incredible Squaring Python
README
# Incredible Squaring AVS in Python
Do not use it in Production, testnet only.
A Python implementation of the EigenLayer [Incredible Squaring AVS](https://github.com/Layr-Labs/incredible-squaring-avs)
## Dependencies
1. Install [foundry](https://book.getfoundry.sh/getting-started/installation)
```
curl -L https://foundry.paradigm.xyz | bash
foundryup
```2. Install [docker](https://docs.docker.com/get-docker/)
3. Build the contracts:
```
make build-contracts
```4. Install [MCL](https://github.com/herumi/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
```5. Python3
6. Install required modules:
```
pip install -r requirements.txt
```> [!TIP]
> This AVS employs the [eigensdk-python](https://github.com/abramsymons/eigensdk-python) to facilitate interaction with EigenLayer contracts and to aggregate BLS signatures.## Running
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:
```bash
make start-anvil-chain-with-el-and-avs-deployed
```The above command starts a local anvil chain from a [saved state](./tests/anvil/avs-and-eigenlayer-deployed-anvil-state.json) with eigenlayer and incredible-squaring contracts already deployed (but no operator registered).
Start the aggregator:
```bash
make start-aggregator
```Register the operator with eigenlayer and incredible-squaring, and then start the process:
```bash
make start-operator
```