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:
- Create tooling in category deployment
- Create tooling in category developer
- Create tooling in category visualisation
- Create tooling in category trading
- Create tooling in category generative AI
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
- 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
- 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
orautonity.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
- a system service, e.g.
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 nodeAdd 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?”, …