Open Autonomy is a framework for the creation of agent services: off-chain autonomous services which run as a multi-agent-system (MAS) and offer enhanced functionalities on-chain. Agent services expand the range of operations that traditional smart contracts provide, making it possible to execute arbitrarily complex operations (such as machine-learning algorithms). Most importantly, agent services are decentralized, trust-minimized, transparent, and robust.
Read the Open Autonomy documentation to learn more about agent services. Follow the set up and quick start guides to start building your own services.
-
Ensure your machine satisfies the following requirements:
- Python
>= 3.8
- Tendermint
==0.34.19
- IPFS node
==v0.6.0
- Pip
- Pipenv
>=2021.x.xx
- Go
==1.17.7
- Kubectl
- Docker Engine
- Docker Compose
- Skaffold
>= 1.39.1
- Gitleaks
- Python
-
Clone the repository:
git clone [email protected]:valory-xyz/open-autonomy.git
-
Pull pre-built images:
docker pull valory/autonolas-registries:latest docker pull valory/acn-node:latest docker pull valory/contracts-amm:latest docker pull valory/safe-contract-net:latest docker pull valory/slow-tendermint-server:0.1.0
-
Create and launch a virtual environment. Also, run this during development, every time you need to re-create and launch the virtual environment and update the dependencies:
make new_env && pipenv shell
ℹ️ Note: we are using atheris in order to perform fuzzy testing. The dependency is not listed in the
Pipfile
because it is not supported on Windows. If you need to run or implement a fuzzy test, please manually install the dependency. If you are developing on Mac, please follow the extra steps described here. -
Fetch packages:
autonomy packages sync --update-packages
If you are using our software in a publication, please consider to cite it with the following BibTex entry:
@misc{open-autonomy,
Author = {David Minarsch and Marco Favorito and Viraj Patel and Adamantios Zaras and David Vilela Freire and Michiel Karrenbelt and 8baller and Ardian Abazi and Yuri Turchenkov and José Moreira Sánchez},
Title = {Open Autonomy Framework},
Year = {2021},
}