@moonbasedao.near [Posted on Developer DAO Board](https://near.social/#/devgovgigs.near/widget/Post?id=434) ## Idea: DAO Sprint Planning: MoonBase Reference: https://near.social/#/devgovgigs.near/widget/gigs-board.pages.Post?id=383 Hey there! The MoonBase Auth Widget is a super cool idea that's going to give the NEAR ecosystem a major boost. Let me explain why this is so awesome: ## MoonBase Auth Widget: Allows user to log in with Wallet Selector And Web3Auth to associate an EVM address with a NEAR address. EVM address is then stored and can be recalled via NEAR blockchain to allow for p2p payments, nft ownerships, etc from other chains to be accessible in the NEAR ecosystem as features are built out later for this incoming user data. 1. **Interoperability**: By allowing users to log in with Wallet Selector (NEAR blockchain) and Web3Auth (EVM chains), the widget creates a smooth connection between the two ecosystems. It's like having the best of both worlds! This integration will help the NEAR ecosystem grow and bring in users from the EVM chains. 2. **Cross-chain functionality**: With this widget, users can easily link their EVM and NEAR addresses, allowing them to access and maybe some day even manage their blockchain data from one place. It's about making everything more inclusive and welcoming, which is going to attract people from different blockchain backgrounds to the NEAR ecosystem. 3. **Expandable features**: The MoonBase Auth Widget starts with basic PUT and GET functionality, but it has huge potential for things like p2p payments and NFT ownership across chains. These features will appeal to a broad audience, bringing in even more users who are interested in a variety of applications. 4. **User-friendly**: The widget offers a simple and intuitive interface for authentication and address association, making it easy for everyone to get on board. The NEAR ecosystem becomes more accessible, attracting users who may be new to blockchain technology. 5. **Innovation-focused**: The MoonBase Auth Widget showcases NEAR's dedication to innovation and addressing the needs of a diverse user base. It's a clear sign that the NEAR ecosystem is adaptable and open to new ideas, which will drive adoption and growth. MoonBase Auth Widget is a small step in the right direction but could make huge impact on the NEAR ecosystem if we as a community keep building on it. It's all about connecting different chains, creating new features, and making everything easier for everyone. This has the potential to someday bring in lots of new users and help NEAR reach its full potential. --- ## Integrations - Wallet Selector - Web3Auth - Stripe API (for payments via debit card - something to be researched and explored for V2) - Safe SDK (gnosis) (for evm multisigs to be accessible in the NEAR ecosystem - something to be researched and explored for V2) ## Development Sprint Plan: MoonBase Auth Widget (10 - 15 Working Days) ### Objective: Develop an account abstraction/authentication widget that allows users to log in with Wallet Selector (NEAR blockchain) and Web3Auth (EVM chains) to associate an EVM address with a NEAR address. Upon account creation the add_proposal method is called to AddMemberToRole which is associated with user metadata (including NEAR & EVM wallet address) ## Sprint Timeline Sprint 1: April 3 - April 7 Sprint 2: April 10 - April 14 Flex Time: April 17 - April 22 ## Day 1: Project Setup and Research >1. Set up the development environment, including version control, project management tools, and communication channels. >2. Research NEAR blockchain, Wallet Selector, and Web3Auth integration to gain a deep understanding of their functionalities and smart contracts. >3. Define project requirements and specifications, and outline the authentication flow for both NEAR and EVM chains. ## Day 2: Architecture Design >1. Design the system architecture, including frontend, backend, and smart contract components. >2. Create a high-level overview of the authentication process, including wallet selection, user authentication, and address association. >3. Identify and document the required smart contract methods and data structures for the blockchain. ## Day 3: Smart Contract Development - Part 1 >1. Develop the smart contract for wallet selection and user authentication with both NEAR and EVM chains. >2. Implement the functionality for associating an EVM address with a NEAR address and storing this information on the blockchain. >3. Implement the functionality for the Sputnik contract method add_proposal and action AddMemberToRole >4. Write unit tests to ensure the smart contract is working as expected. ## Day 4: Smart Contract Development - Part 2 >1. Implement the functionality to recall the associated EVM address via the NEAR blockchain. >2. Implement the functionality to update the associated EVM address. >3. Continue testing and refining the smart contract as needed. ## Day 5: Frontend Development - Part 1 >1. Create wireframes for the MoonBase Auth Widget user interface. >2. Develop the UI components for wallet selection, user authentication, and address association. >3. Implement the frontend logic to interact with the smart contract. ## Day 6: Frontend Development - Part 2 >1. Implement the UI components for displaying the associated EVM address and the functionality to update it. >2. Integrate the frontend with the smart contract to ensure seamless data flow. >3. Perform user testing and refine the UI based on feedback. ## Day 7: Testing and Debugging >1. Conduct comprehensive testing of the entire system, including unit tests, integration tests, and end-to-end tests. >2. Identify and fix any bugs or issues that arise during testing. >3. Optimize the codebase for performance and scalability. ## Day 8: Documentation >1. Write detailed documentation for the MoonBase Auth Widget, including user guides, smart contract references, and deployment instructions. >2. Document any known issues or limitations, as well as potential future improvements. >3. Ensure all code is well-commented and follows best practices. ## Day 9: Deployment and Integration >1. Deploy the MoonBase Auth Widget smart contract to the NEAR blockchain and EVM chains. >2. Integrate the widget with any existing or planned applications in the NEAR ecosystem. >3. Perform final testing to ensure seamless integration and proper functioning. ## Day 10: Project Wrap-up and Review >1. Conduct a project review to evaluate the success of the development sprint, identify lessons learned, and plan for future improvements. >2. Prepare a project report summarizing the development process, accomplishments, and areas for improvement. >3. Share the completed MoonBase Auth Widget with stakeholders and celebrate the team's achievements.