This document outlines a comprehensive 6-day onboarding plan for new developers joining the EthereumScammerRegistry project. The plan covers:
- Lesson 1: Overview of project structure, key contracts (EthereumScammerRegistry, Blacklist, ReportModel), and dependencies
- Lesson 2: Deep dive into core logic, focusing on scammer reporting mechanisms and state management
- Lesson 3: Error handling, edge cases, and input validation practices
- Lesson 4: Smart contract testing and deployment using frameworks like Hardhat
- Lesson 5: Code contribution guidelines, documentation practices, and hands-on tasks
- Lesson 6: Advanced topics including security, gas optimization, and blockchain development tools
The plan includes practical exercises, mentorship support, and essential resources for continued learning. Its main objective is to enable new developers to understand, modify, and contribute to the codebase effectively, particularly in the areas of reporting and managing scammer addresses.
Lesson Plan: Onboarding to EthereumScammerRegistry
Objective:
By the end of this onboarding, the new developer will:
- Understand the architecture and components of the EthereumScammerRegistry smart contract system.
- Be able to navigate, modify, and contribute to the codebase, specifically around reporting and managing scammer addresses.
- Get hands-on experience with writing and testing new features or fixing bugs in the code.
Lesson 1: Overview of the Codebase
Objective:
Familiarize the new developer with the project structure and major components.
- Project Structure Overview:
- Contracts:
- Dependencies:
- Overview of OpenZeppelin and other dependencies.
- Ownable & Context
- Key Files & Folders:
EthereumScammerRegistry.sol: Core contract for handling scammer reports.
Blacklist.sol: Implements the reportAddress functionality.
ReportModel.sol: Defines data structures (like UserReport, ScammerReported).