Skip to content

valory-xyz/academy-learning-service-template

Repository files navigation

Learning Service

A service to learn about Olas agents and Open Autonomy.

System requirements

Run you own agent

Get the code

  1. Clone this repo:

    git clone git@github.com:valory-xyz/academy-learning-service-template.git
    
  2. Create the virtual environment:

    cd academy-learning-service
    poetry shell
    poetry install
    
  3. Sync packages:

    autonomy packages sync --update-packages
    

Prepare the data

  1. Prepare a keys.json file containing wallet address and the private key for each of the four agents.

    autonomy generate-key ethereum -n 4
    
  2. Prepare a ethereum_private_key.txt file containing one of the private keys from keys.json. Ensure that there is no newline at the end.

  3. Deploy a Safe on Gnosis (it's free) and set your agent addresses as signers. Set the signature threshold to 3 out of 4.

  4. Create a Tenderly account and from your dashboard create a fork of Gnosis chain (virtual testnet).

  5. From Tenderly, fund your agents and Safe with a small amount of xDAI, i.e. $0.02 each.

  6. Make a copy of the env file:

    cp sample.env .env
    
  7. Fill in the required environment variables in .env. These variables are: ALL_PARTICIPANTS, GNOSIS_LEDGER_RPC, COINGECKO_API_KEY and SAFE_CONTRACT_ADDRESS. You will need to get a Coingecko. Set GNOSIS_LEDGER_RPC to your Tenderly fork Admin RPC.

Run a single agent

  1. Verify that ALL_PARTICIPANTS in .env contains only 1 address.

  2. Run the agent:

    bash run_agent.sh
    

Run the service (4 agents)

  1. Check that Docker is running:

    docker
    
  2. Verify that ALL_PARTICIPANTS in .env contains 4 addresses.

  3. Run the service:

    bash run_service.sh
    
  4. Look at the service logs for one of the agents (on another terminal):

    docker logs -f learningservice_abci_0
    

About

No description, website, or topics provided.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published