Team
Contact details
Martin Verzilli, CTO Manas.Tech, mverzilli [ … ] manas.tech
Summary
We propose to develop a fully open source new block explorer for the Aztec Network. It will be a responsive web app which will render and interlink all the usual objects of interest: blocks, transactions, accounts. Rendered data will be sourced from the network, indexed and stored in the block explorer’s own persistent storage.
Beyond the scope of this initial proposal, but worth mentioning, is the possibility for future expansion by distributing the UI as a client-side app (using Electron, Tauri, or similar). This could enable interesting use cases for exploring private data user entities by interfacing with the user’s local PXE/wallet. It would make sense for this frontend app to be open source to make it verifiable and auditable. This is an alternative to using browser extensions as suggested in the original RFP.
Estimated Start and End Date
As suggested by the RFP:
- Estimated start date: August 1st
- Estimated end date: November 30th
Team experience
- We develop and maintain the Noir debugger in Partnership with Aztec Labs
- We created, develop and steward the Crystal Programming Language
- We designed and prototyped a decentralized P2P credit IOU platform
- We have just started working on a post-Verge stateless Ethereum block explorer built with Crystal
- We designed (from user research to architecture), developed and maintain multiple SaaS, such as this Connected Diagnostics Platform based on federated protocols and privacy preserving mechanisms
- …and other ~200 projects over 21 years of existence
Details
The solution will be mainly composed of 3 components: a block indexer, a database, and a web app. The block indexer will consume blocks from the network and index the relevant data and its relations into the database. The web app will provide the UI to navigate and explore this data.
The tech stack for the proposed system would be comprised of:
- Block indexer: TypeScript, leveraging
Aztec.js
- Database: Postgres
- Web app: most probably Svelte with TypeScript, but to be confirmed
While not entirely necessary, using TypeScript in the whole stack will allow us to reuse some code and reduce maintenance costs, leverage Aztec.js
as mentioned above, as well as taking advantage the rest of the rich JS/TS ecosystem.
We are assuming when the time comes to migrate to testnet, there will be suitable node implementations to consume data from. Depending on how that part of the network shapes up we might run our own nodes or consume from a trusted third-party.
We realize that in the future, once Aztec network gains traction, we might have to re-think this initial architecture to match the performance requirements or balance the storage-cost of this solution. But for the moment we are keeping it simple instead of trying to foresee future bottlenecks given at the moment we don’t have real usage data.
Rough UI concept/mockups
Please see mockups attach below. These are very rough and just to give a preliminary glimpse at look and feel and general UI organization. Aztec specific quirks will have to be ironed out as we work on the product itself.
Grant Milestones and roadmap
We decided to organize the roadmap in 4 monthly milestones plus 2 milestones contingent on when Aztec Network’s testnet and mainnet are launched.
Milestone 1: August
Basic data rendering, unpolished UI, isolated UI pages. Indexing only already mined transactions.
- Bootstrap web app
- Block and transaction indexer
- List of blocks
- Block details
- Public deployment
Milestone 2: September
Transactions polished UI and fully fledged navigation.
- List of transactions
- Transaction details screen
- Block transactions UI
- Search
- Higher definition UI/UX
Milestone 3: October
- Fees
- Add TxPool transactions to corresponding indexer and UIs
- Contracts
Milestone 4: November
Testnet preparedness and currently uncertain items.
- Transaction L1->L2 message hashes
- Transaction public function calls
- L1 transaction block info
- Monitoring service
- Performance benchmark to estimate scalability
Milestone 5: migrate to Testnet
When Testnet is available.
- Further analysis of performance in preparation for Mainnet
- User feedback collection
Milestone 6: migrate to Mainnet
When Mainnet is available
- Continuously improve the tool according to community feedback
Long term sustainability
We will start exploring potential sources of funding in parallel with development. Some ideas to consider:
- Applying to retroactive public commons grants
- Community donations
- General sponsors (in exchange for some brand exposure in the app)
- Sponsorship/patronage of specific features: letting community/ecosystem actors pay to accelerate the development of specific features
- Developing other Aztec network infrastructure components (such as Sequencers), with direct protocol rewards and re-investing them in the block explorer (also considering certain sub-components might be re-usable)
Long term operation and development of this project is subject to our ability to eventually find sustainable sources of funding beyond this initial stipend.
While we are committed to pursuing the goal of long term sustainability for this product, we must also take into account the possibility that we fail in achieving it.
Considering that, in order to guarantee that the Aztec community benefits from our work regardless of its long term sustainability, we commit to operating this service for at least one year.
If, by December 1st 2025, we have failed to reach sustainability, we might shut down the hosted service. However, considering we plan to develop this as an open source project from the beginning, the community will still be able to take advantage of it. To that end, we will make sure to provide extensive documentation in addition to deployment scripts leveraging Docker.
Grant amount requested
We request $45,000. We estimate this would cover the costs of the first 3 months of development plus infrastructure and maintenance costs for the first year of operation. This means we are (a priori) covering the costs of milestones 4 to 6.
Grant budget rationale
-
$5,000 for infrastructure and operations costs for 1 year (from Dec 1st 2024 to Dec 1st 2025)
-
$40,000 for design, development and maintenance for the first the 3 months of the project*
-
We have software engineers, UX designers and SREs in-house, so we can easily ramp up and down each role according to the evolution of the needs of the project.