[Secondary Proposal 8] Build Airnodes Management UI - Enormous.Cloud Team Proposal

Team: Enormous.cloud team
Period: 15 October 2021–15 January 2022 (3 months)
Amount: 42,600 USDC
Destination: enormouscloud.eth (0x6518c695cdcbefa272a4e5ef73bd46e801983e19)

Abstract

The goal of this period is to deliver a user-friendly web interface for API3 Airnodes management and maintain additional tools (RRP Explorer) which are not in the focus of the core development team.

Motivation

Core development team is actively working on the airnode smart contracts, deployment utilities, while management of the airnodes is primarily done with command line interface utility, and only source code researchers have an understanding of what is being done. We consider having an interface for user-friendly multiple airnodes management would be much more beneficial to simplify involving more teams to operate API3 airnodes and will help in API3 mission promotion

Deliverables

In this milestone, the team is taking commitment

  1. To deliver working version of Airnodes Management UI by the 15th of January, 2022
    Please see Appendix for the explanation of the screens and functionality
  2. Keep it up to date with core team development ongoing changes of RRP, smart contracts and admin command line interface
  3. Follow API3 design guidelines
  4. Host a demo version limited by security limitations
  5. Support current tools for API3 already made by the Enormous Cloud team

API3 Airnodes Management Web UI

Airnode admin web interface will be a distribution to manage airnodes in a user-friendly manner.Preferable way would be running a local docker container, as there are security concerns in running it in the cloud for the mainnet operations. The tool is to be built on Rust and Javascript. The state of the airnode management UI will be created by reading events from EVM-compatible contracts logs

The main functionality of the tool would be

  • See all the history of operations of the airnodes managed wallet with decoded details
  • Show endpoints usage statistics and requests details history
  • Show templates usage statistics and requests details history
  • Requesters whitelists management
  • Requesters history and sponsorship
  • Request withdrawals and their history
  • Explicitly show admins, and their ranking

API3 Airnode RRP Explorer

RRP explorer is a static webpage (built in Rust, compiled into Webassembly) that decodes events of airnodes interactions with any EVM-compatible networks for any smart contract of Airnode RRP. It’sgoal is to help dAPI developers using airnodes to look back in the history and debug details of airnode events during development.

airnode-rrp-log is a CLI tool with the same functionality. Can be installed with cargo.

USAGE:
  airnode-rrp-log [OPTIONS] --address-contract <address-contract>
OPTIONS:
  --address-contract <address-contract>   API3 secondary voting agent address
  --max-block <max-block>                          Max block to stop contract events
  --min-block <min-block>                            Number of the first block to start watching
  --rpc-batch-size <rpc-batch-size>            Ethereum JSON+RPC batch size for reading.
  --rpc-endpoint <rpc-endpoint>                  Ethereum JSON+RPC HTTP address

Team Responsibilities

Budget

Github Name Role FT/PT Amount (USDC)
enormous Lead Rust Developer FT 18,000
whatifitrains Backend/Senior Rust Developer FT 15,000
whitewingshorse Frontend/Intermediate Rust Developer FT 9,600

About the team

Enormous Cloud team are independent contractors from Eastern Europe. We are not a part of the core team, but we are big believers in what API3 does and have been trying to support the project since the spring of 2021. API3 DAO Tracker, which is hosted on enormous.cloud and became a popular tool in the API3 community, is a proven track record of the team.

APPENDIX. Airnodes Management UI

The management UI will be able to listen to multiple smart contracts in multiple networks at the same time. Once an added smart contract is synchronized with the blockchain, one can select any Airnode that was interacting with it.

image

Only airnodes that are controlled by a configured wallet will be allowed to be manageable. Otherwise the airnode will be viewed as “read-only”, still giving a possibility to explore all its history in a user-friendly manner.

IPFS Version of the proposal

https://ipfs.fleek.co/ipfs/bafybeibwq2iq2nbe6jeadzy2lhgg5zx6dnuhuibbwxbogbzmy62d6st5fi

7 Likes

No brainer for me! Been using your dashboard almost daily since it came out and it has also been incredible to help community members with their staking questions.

This proposal has my full support and I’m looking forward to the outcome! :slight_smile:

2 Likes

Note that this will be used a lot internally too (unless you want to roll your own thing). When you need to pull some data (usage on a chain, for a specific Airnode, during a hackathon, etc.) to generate KPIs and statistics for whatever you need to be doing, this will be what is available. If you need to do qualitative analysis for BD (what kind of requests do people make to a specific API) or debug an issue for an integration (by reading error messages for example), you will be using this. If you need to quickly debug what is going wrong with a dAPI, this will probably be useful.

So if you’re a grant recipient, it would be in your interest to track the development, report bugs, issues, make feature requests.

2 Likes

looks great looking forward to it

I would love to see this put together, definitely will have my support!

I agree with @bbenligiray as well that this will be something that should be followed by most teams internally because most of us would get a ton of use out of a tool like this.

1 Like

I think this is a great value add to the ecosystem - can’t wait to see it

1 Like

Great! You have my support.

1 Like

Proposal is up

2 Likes

Moved to official proposals.

1 Like

You have my vote sir! Good luck and godspeed.

Proposal passed: API3 DAO Secondary Proposal Voting History