EIP-4337 is a significant development in the Ethereum ecosystem, introducing the concept of account abstraction. This allows users to create custom account contracts that manage their own state and logic. This flexibility improves security, privacy, and usability for smart contracts and end-users alike. However, current block explorers are not designed to support account abstraction and cannot provide a clear representation of these new account types.
In this project, we aim to build a block explorer specifically designed to support the ERC-4337 standard, providing users with an intuitive and user-friendly interface to interact with and explore the blockchain. Our block explorer will enable users to easily navigate through the blockchain, view detailed information about individual transactions, and track the movement of funds across different accounts. Additionally, we will implement advanced analytics and visualization tools to provide users with insights into the behavior and activity of the blockchain, including transaction volume, gas usage, and more. By building a block explorer that is tailored to the needs of ERC-4337 users, we aim to make it easier for users and developers alike to interact with and leverage the full potential of this emerging standard.
Name | Role | Tags |
---|---|---|
Darren Holland | Software Engineer | Database Management, Application Design, Documentation, Solidity, JavaScript, React, Node.js, Full-stack |
Brad Weidner | Operations Analyst | Research, Oversight, Relations, JavaScript, Solidity, React, Python, SQL |
Tomoya Williams | QA Engineer | Component Testing, JavaScript, React, Node.js, Solidity |
Ben Hammond | UI/UX Designer | Design, User Experience, Front-end, React, Node.js, JavaScript, SCSS |
The team has a combined 20+ years of experience in software and web development, having previously built Ethereum projects and Web3 platforms. For the scope of this proposal, the development tasks have been delegated to specific team roles to maintain fluidity, reduce overlap, and adhere to an efficient time-to-release schedule.
Our main objectives in developing an Account Abstraction Block Explorer for ERC-4337 are to:
Create and maintain an application that enables users and developers to explore blockchain information related to Account Abstraction as it pertains to the ERC-4337 standard.
By using current trends, parallel projects and previous successful applications as an inspiration; a baseline familiarity, navigation, ease of use and feel will hopefully be acheived.
We are proposing a conservative 3-month deadline until release of the application, with the likely potential of early deployment.
We plan to achieve our objectives through the following steps:
Our Development Timeline below shows the prospective project task milestones and deadlines.
In our Account Abstraction Block Explorer for ERC-4337, we will use the subgraph as the backend to efficiently index and query account abstraction data from the Ethereum blockchain. The subgraph will serve as a vital component, ensuring seamless access to the required data and facilitating a user-friendly experience for the block explorer.
By leveraging the subgraph as the backend for our Account Abstraction Block Explorer, we can provide users with a fast, reliable, and efficient way to explore and understand account abstraction in the Ethereum ecosystem. This approach will also enable easier scalability and adaptability as the Ethereum network and account abstraction features continue to evolve.
In addition to using a subgraph as the primary backend for the Account Abstraction Block Explorer, we will also implement a custom indexer to backstop the subgraph. This custom indexer will provide an additional layer of data retrieval and processing, ensuring the accuracy and reliability of the data displayed on the block explorer.
To build a robust and user-friendly frontend for the Account Abstraction Block Explorer, we'll need a small application database to support various frontend functionalities and store relevant metadata. This application database will complement the subgraph and custom indexer by providing quick access to non-blockchain data required for an efficient and seamless user experience.
The main goal for the design and style of this project is to create an easy-to-read and navigate web application. Fancy animations on every interaction may feel good the first few times, but after a while, it will become tedious to the user. Creating well defined sections and flow will help on-board new users and teach them how to interact with the application.
There are many block explorers that do a lot with the information and data they are displaying to the user; some provide a better experience than others. The data displayed on block explorers is often presented using technical terms such as hashes, hexes, and cryptographic signatures. This data can be difficult to decipher for users who are not familiar with these terms. Additionally, the lack of context around the data can make it difficult for users to understand how the data relates to the broader blockchain ecosystem.
The bar of experience that is needed to understand and follow blockchain data is too high, many users do not even know block explorers exist. We hope our efforts to make the information more digestible will help improve adoption, development and use in the years to come.
Other explorers lack explanation for viewed information, making it difficult to understand. Although looking up terms and data on a web browser is a solution, in-app help/information is more efficient. Creating context around information helps with understanding and problem-solving, a feature missing from many explorers. Having extra information reinforces ideas, terms, and structure for users at any level, especially when diving into a new concept or standard.
Block explorers often display a lot of information on a single page, including transaction histories, wallet balances, and network statistics. It can be challenging for users to navigate through this information and understand the relationships between different data points.
The idea of having high level information displayed first and low level information displayed when going down into single transactions is how most explorers do it. We are not going to change this process.
What we are suggesting is to take chunks of information and group them together into sections that relate to one and other. This should help with navigation, reading and understanding.
Mass amounts of information and data must be displayed on this site in a succinct and easy to follow order. The best way to order this data is by the levels of detail that they provide. Less detail at the top level and more detail at the lower levels makes it easy for users to drill down as much or as little as the need.
Accessibility and scalability are very important, this is why we will be using components and a design system to help with the ever-increasing complexity of the project.
The atomic design methodology is what we will be using throughout this project, it provides scalability as well as the shared understanding required to help the entire team use, implement, and develop the design system over time. If and/or when the project is handed over to another team, this system will hopefully make it easy for the team to pick up where we left off.
Modular Design: Atomic Design encourages designers to break down designs into smaller, modular components that can be combined and reused to create more complex designs. This approach makes it easier to maintain consistency across an application and to scale the design as the application grows.
Component-Based Design: Atoms, molecules, and organisms are the building blocks of a design system in Atomic Design. These components can be used and reused across different parts of an application, making it more efficient to design and develop.
Hierarchy: Atomic Design organizes components into a hierarchy, with atoms being the smallest building blocks, followed by molecules, organisms, templates, and pages. This hierarchy helps ensure that designers maintain consistency across the design system and can create new designs quickly and efficiently.
Collaboration: Atomic Design emphasizes collaboration between designers and developers to create a shared language and understanding of the design system. This collaboration helps ensure that the design system is usable and effective for all stakeholders.
Web applications where users are quickly moving between pages should be lightweight and fast-loading. Unnecessary visual elements, such as images and styling, can cause delays and hinder the user experience. A lightweight design accommodates users with slow connections or low-spec devices, expanding the potential user base. Additionally, some users face data usage constraints; reducing bandwidth usage makes the application accessible to users with limited data plans.
The tentative budget for this project is as follows:
We hope to be flexible with the project spending as the grant allows, so we can efficiently allocate the funds to the areas that may end up needing it the most. We are happy to discuss the budget with the reviewing team to provide more insight or receive feedback.
The Account Abstraction Block Explorer for ERC-4337 will make it easier for users to understand and interact with this revolutionary new standard. By providing an intuitive interface and supporting the indexing of account abstraction data through a subgraph, we aim to foster the adoption of ERC-4337 and contribute to the growth of the Ethereum ecosystem. We seek your support to fund this project and make this vision a reality.