You are viewing an archive of the Piccadilly Circus Games Competition. Join our Discord for the latest information.

Develop Tooling

Create a tool for deployment automation, development, data visualisation, or trading scenarios. Submit your amazing tool creation for a chance to win an award. 1st, 2nd and 3rd prizes are given in each category. You can make as many submissions as you can master, in any or all of the categories…

Synopsis

You compete in this challenge by building tooling for working with Autonity . There are multiple tooling categories to enter for.

Entries can be submitted at any point between the start time of the Games and the end time of the final Game Round #6. Entries submitted between the start and end dates of a Game Round will be judged at the end of that round. Entries submitted between game rounds will be carried forward as an entry to the next round. A participant can submit multiple entries for Developer Tasks in the Games.

You compete in this challenge by creating tooling in one of four categories:

The categories are described further in briefs below.

Entries can be submitted at any point between the start time of the Games and the end time of the final Game Round #6. Entries submitted between the start and end dates of a Game Round will be judged at the end of that round. Entries submitted between game rounds will be carried forward as an entry to the next round. A participant can submit multiple entries for Developer Tasks in the Games.

Submissions that are clones of other GitHub projects without significant development by the submitter will not be considered valid entries. Winners will be announced at round end with other award winners.

How to take part in Developer Tasks

Ready to take part? Complete the Games Registration Form if you haven’t done so already.

Details of how the develop tooling tasks are entered for and scored are given on this page.

How to enter

How to submit entries to Developer Tasks

  1. Develop – Develop your submission in a repository of the GitHub account you provided at game registration and make the repo publicly accessible. Label your repo with topics autonity and one of:
    • deployment
    • developer
    • visualisation
    • trading
    • ai
  2. Submit – Use Developer awards Form to submit the entry to the Games by providing the url to the repo above.

Submitted entries must be in the public domain and open sourced if licensed. See Licensing for award submissions for accepted licenses.

Awards

The develop tooling challenge has 5 awards with 1st, 2nd and 3rd prizes for the top 3 submissions in each category for Round #5.

Develop tooling has an allocation of 30,000 Award Tributes and up to 15 winners:

Task Award Tributes Winners
Best Deployment Tool - Category 1 Up to 5,000 Tributes: 1st 3000, 2nd 2000, 3rd 1000 3 winners
Best Developer Tool - Category 2 Up to 5,000 Tributes: 1st 3000, 2nd 2000, 3rd 1000 3 winners
Best Visualisation Tool - Category 3 Up to 5,000 Tributes: 1st 3000, 2nd 2000, 3rd 1000 3 winners
Best Trading Tool - Category 4 Up to 5,000 Tributes: 1st 3000, 2nd 2000, 3rd 1000 3 winners
Best AI Tool - Category 5 Up to 5,000 Tributes: 1st 3000, 2nd 2000, 3rd 1000 3 winners

Winning submissions are those with the highest score (see scoreboard ranking).

Roulette

If you don’t make it into the winners for the round, you still have a chance to win an award through the Roulette, so you should always submit your entry!

Every valid non-winning submission is also included in the Developer Tasks challenge roulette. The roulette is run at the end of the Game’s Final Round #6 and randomly selects 5 participants who have entered for a developer award task but have not been chosen as a winner. 5 roulette winners are chosen, winning 1,000 Award Tributes each.

Scoring rule

Submissions are evaluated by a community panel made up of the Autonity core development team. Entries are judged using the Developer Tooling Rubric.


Briefs

There are 4 broad categories of tool defined: deployment, developer, visualisation, and trading.

In each category specific tasks are defined. Choose and complete a specific task to enter for an award. You can complete and submit as many tasks as you like in any of the categories.

For the criteria used to score entries see Developer Tooling Rubric.

Category 1 - deployment tooling

Create a new tool or add Autonity support to existing tooling for network deployment and node or validator operations. Use of autonity.py and the Autonity Utility Tool aut as a dependency is encouraged. Complete one of the following to enter:

  • Create a DEB, RPM or other packaging script for autonity, aut or autonity.py.

  • Automation scripts for Node deployment to launch Autonity as:

    • a system service, e.g. systemd
    • deployment automation scripts e.g. Helm, K8s, Docker, as a system service on Ubuntu
  • Develop a tool for validator lifecycle management - registration, bonding, pause, re-activate - that uses aut

  • Add Autonity support to an existing network monitoring, logging, or metrics platform/framework

  • Add Autonity support to an existing blockchain explorer of your choice

  • Write a script in your favourite language that automates some autonity functionality using aut and the language’s system interface

Category 2 developer tooling

Develop a new software implementation to help developers build with Autonity. Your submission should be specific to Autonity. Use of autonity.py and the Autonity Utility Tool aut as a dependency is encouraged. Complete one of the following:

  • Develop automation scripts for a local testnet deployment

  • Develop a Python tool for deploying smart contracts to an Autonity network

  • Develop a tool or GraphQL query to extract time-series data from an Autonity blockchain. Data that would be of potential interest to a trading application is encouraged

  • Add Autonity support to a smart contract development framework or IDE. E.g. Brownie, Hardhat, Remix…

  • Add a sub-command to the Autonity Utility Tool’s aut contract command group that allows one to listen to events from a smart contract, using the web socket interface of the node

  • Add support for a popular hardware wallet to the Autonity Utility Tool. For example, Ledger, Tresor, Yubi HSM…

  • Develop for Autonity Go Client an implementation of ERC-4361: Sign-In with Ethereum for RPC node authentication of a client request

  • Develop for Autonity Oracle Server a plugin adaptor for a publicly accessible FX data source. See docs.autonity.org and Developing data plugins for how to do this using Autonity Oracle Server’s plugin template architecture.

Category 3 visualisation tooling

Develop dashboards for visualising and navigating data. Complete one of the following and visualise:

  • Network and node metrics visualisation from the perspective of a node or validator operator

  • Staking metrics visualising data specific to Autonity’s liquid staking model

  • Validator metrics visualisation from the perspective of a stake delegator assessing which validator to stake for maximum return and competitiveness

  • Slashing activity across epochs for datapoints such as the accountability faults detected, faults slashed for, faults successfully defended by innocence proofs, slashing amounts, validator slashing history

Category 4 - trading tooling

Develop tools and models for trading. Your submission should be specific to Autonity. Use of open source libraries and toolkits for trading in the EVM-based ecosystem is encouraged.

Complete one of the following tasks:

  • Develop an integration with a trading strategy and execution platform for EVM-compatible chains. For example:
    • the Trading Strategy AI algorithmic trading protocol for decentralized markets - https://tradingstrategy.ai/
  • Create an agent to simulate trading in an on-chain DEX deployed to an Autonity network. Use an open source library such as:
    • Hummingbot - https://hummingbot.org/
    • Freqtrade - https://www.freqtrade.io/en/stable/
  • Develop an integration with an open source exchange library for trading on the Piccadilly on- and off-chain exchanges. For example:
    • Develop an SDK Provider to access the Piccadilly off-chain exchange API using the CCTX exchange library - https://github.com/ccxt/ccxt/tree/master.
    • Develop a Hummingbot connector to access the Piccadilly off-chain exchange API - https://docs.hummingbot.org/developers/connectors/.

Category 5 - generative AI

Make use of AI to develop bots and algorithms for working with Autonity. Your submission should be specific to Autonity. Use of open source libraries is encouraged.

Complete one of the following tasks:

  • Use AI to analyse or predict the accuracy of the reported price provided by Autonity’s oracle network.
  • Use AI to create question-answering algorithms pulling out real-time data from blockchain state. For example, to answer questions like “How many blocks?”, “Which block has the most transactions?”, “What kind of transactions are being processed on Autonity?”, …