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 visualization, trading scenarios, or making use of generative AI. 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 develop tooling tasks for Round #6 in five categories:
A roulette award is also run at the end of the round, giving game participants who have entered for a Develop Tooling task but not yet won an award an opportunity to win.
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 Develop Tooling 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 enter
How to submit entries to Develop Tooling tasks
Ready to take part? Complete the Games Registration Form if you haven’t done so already.
Develop Tooling task entries are submitted in a simple process:
- 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
visualization
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.
Why not advertise your new Developer Tool to the community so other game participants can easily find and make use of it?
Post your endpoint address to Autonity’s Discord Server in the PICCADILLY CIRCUS GAMES / Tools
channel!
Awards
The develop tooling challenge has 6 awards across which a total award pool of 35000 Award Tributes is distributed:
Sub-task | Task award pool share | Award Tributes |
---|---|---|
Best Deployment Tool | 17% |
6,000 |
Best Developer Tool | 17% |
6,000 |
Best Visualization Tool | 17% |
6,000 |
Best Trading Tool | 17% |
6,000 |
Best AI Tool | 17% |
6,000 |
Roulette Award | 15% |
5,000 |
The Develop Tooling tasks have a 1st, 2nd and 3rd prize model for the top 3 submissions in each category. The Roulette Award randomly selects 5 participants who have entered for a develop tooling task during the game but have not been chosen as a winner.
Upon completion of Round #6, selected winners will win Award Tributes per the table beneath.
Task | Award Tributes | Winners |
---|---|---|
Best Deployment Tool - Category 1 | Up to 6,000 Tributes: 1st 3000, 2nd 2000, 3rd 1000 | 3 winners |
Best Developer Tool - Category 2 | Up to 6,000 Tributes: 1st 3000, 2nd 2000, 3rd 1000 | 3 winners |
Best Visualization Tool - Category 3 | Up to 6,000 Tributes: 1st 3000, 2nd 2000, 3rd 1000 | 3 winners |
Best Trading Tool - Category 4 | Up to 6,000 Tributes: 1st 3000, 2nd 2000, 3rd 1000 | 3 winners |
Best AI Tool - Category 5 | Up to 6,000 Tributes: 1st 3000, 2nd 2000, 3rd 1000 | 3 winners |
The Roulette Award | 1000 Tributes per winner | 5 winners |
Task: Develop Tooling
This task is allocated 30,000 Award Tributes and up to 15 winners.
To take part, create tooling in any of the following categories:
Each category has a set of candidate development tasks to tackle. For task details, see the briefs below.
Roulette Award
The award is allocated 5,000 Award Tributes and up to 5 winners.
The roulette gives every game participant that has made a valid submission for a Develop Tooling task but not won a Develop Tooling prize a chance to win an award!
Every valid non-winning submission made in this or an earlier game round is included in the Develop Tooling tasks challenge roulette.
The roulette is run after Round #6 Develop Tooling task submissions have been judged. It randomly selects 5 participants who have entered for a Develop Tooling task during the PCGC but have not been chosen as a winner.
5 roulette winners are chosen, winning 1,000 Award Tributes each.
Scoring rule
Develop Tooling scoring
Entries for Develop Tooling tasks are judged by a community panel made up of the Autonity core development team. Entries are judged using the Developer Tooling Rubric.
Winning submissions are those with the highest score (see scoreboard ranking).
Roulette Award scoring
Every valid non-winning submission for any Develop Tooling task submitted during PCGC Game Rounds 1 to 6 inclusive is auto-enrolled in the Develop Tooling tasks challenge roulette award.
The roulette randomly selects 5 roulette winners, winning 1,000 Award Tributes each.
Briefs
There are five broad categories of tool defined: deployment
, developer
, visualization
, trading
, and AI
.
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 the 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…
Add support for a popular multisig wallet to the Autonity Utility Tool. For example, Safe Wallet…
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 visualization
tooling
Develop dashboards for visualizing and navigating data. Complete one of the following and visualize:
Network health and structure, visualizing metrics of network nodes such as sync state, uptime, geographic centralization, validator nodes, public rpc endpoints.
Staking metrics data specific to Autonity’s liquid staking model. Visualize datapoints such as stake participation rate, self-bonded and delegated stake amounts, validator ratios of self-bonded to delegated stake, …
Validator metrics from the perspective of a stake delegator assessing which validator to stake for maximum return and competitiveness. Visualize datapoints such as commission rate, how often in the consensus committee, slashing history, validator state (active, paused, or jailed), …
Slashing activity across epochs, visualizing datapoints such as accountability events detected, faults slashed for, slashing amounts, slashing rules broken, slashing frequency, slashing accusations successfully defended by innocence proofs, 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?”, …