Project Date: 2022-2023
Role: Individual Contributor
Website: Passport Scorer
Project Background
Passport Scorer was developed as a tool to support organizations in validating the integrity of user's Ethereum addresses by bulk-scoring their Passport scores. This app was particularly valuable for organizations planning activities like airdrops, as it enabled them to prevent sybil-like activity and maintain the fairness of their operations. As an individual contributor working on the Passport team, I played a key role in building and optimizing this platform, ensuring that it met the high demands of bulk processing and performance.
Project Goals
- Create a scalable platform that could score large batches of Ethereum addresses efficiently.
- Develop an API access system where organizations could generate keys to use the service securely.
- Build an intuitive scoring process that allows organizations to input addresses, obtain scores, and filter out sybil-like behavior.
- Ensure a quick scoring process even with extensive data loads.
Implementation
The development of the Passport Scorer leveraged a robust tech stack, including Celery and Flower for task management, AWS for infrastructure, Next.js with TypeScript, Chakra UI, and Tailwind for the user-facing components, and Django for backend development, as the main components.
The platform allowed organizations to create API keys and associate them with a scorer ID, enabling seamless and secure access to the service. When organizations needed to score Ethereum addresses, they would use their API key and scorer ID to input addresses into the scoring system.
The infrastructure was carefully configured to ensure that the calculations were processed efficiently, which was crucial for handling bulk submissions involving potentially hundreds of thousands of addresses.
Challenges
A primary challenge in developing Passport Scorer was ensuring that the system could handle the high volume of address scoring requests while maintaining fast processing times. The infrastructure needed significant optimization, especially when dealing with bulk data. By fine-tuning the system’s infrastructure and leveraging Celery’s capabilities for task distribution, we managed to streamline the process and keep performance within acceptable limits.
Outcome
The completed Passport Scorer platform provided organizations with an efficient and reliable tool for bulk scoring Ethereum addresses, enhancing the ability to detect and filter out sybil-like behavior. The implementation of an API-based system with secure key generation and ID association allowed for straightforward access and use.
The infrastructure optimizations led to a fast and scalable process, fulfilling the project goals and contributing to the wider mission of ensuring fairness and trust within the blockchain ecosystem.
Technologies
- Next.js
- AWS
- Pulumi
- Celery
- Flower
- TypeScript
- SwaggerUI
- Django
- Python
- Chakra UI
- Tailwind
Industry
Web3