Skip to content
This repository has been archived by the owner on Oct 31, 2024. It is now read-only.

Grant Application : ERC721 MESSAGING #13

Open
1 task done
aman-at8 opened this issue Feb 29, 2024 · 1 comment
Open
1 task done

Grant Application : ERC721 MESSAGING #13

aman-at8 opened this issue Feb 29, 2024 · 1 comment

Comments

@aman-at8
Copy link

aman-at8 commented Feb 29, 2024

Project title

ERC721 MESSAGING

Budget

10000 USD

Link to grant specification

https://github.com/toposware/topos-community-fund/#-current-grants

Time to complete the project

2-3 MONTHS

Do you agree to open source all work you do for this project under the APACHE2 license?

  • I agree to open source all work I do for this project under the APACHE2 license.

Project description

Overview

The most unique and powerful feature of toposware is cross subnet messaging. It can be leveraged to perform many types of communication among subnets such as asset transfer. ERC20 messaging is already implemented and facilitates ERC 20 token transfer among subnets. Our project is similar to this with one key difference, we aim to transfer NFT's among subnets. This would allow users to mint their NFT on any subnet they want and transfer it to a subnet of their choice depending on the demand for the NFT.

Importance and Use case

  • A notable use case of this messaging would be an NFT marketplace built on top of it for various subnets. Thus the marketplace will not be limited to one network and can engage people from different subnets.
  • Apart from acting as a leverage for different applications. This project would also help educate people on how to build on topos and serve as a proof of topos's unique capabilities.

Technical Approach

As mentioned in Topos Documentation developing custom messaging protocol requires four steps :

  1. Some business logic is executed on the sending subnet
  2. A specific event is emitted on the sending subnet to announce the cross-subnet message
  3. A specific transaction is sent to the receiving subnet to validate and execute the cross-subnet message
  4. Some business logic is executed on the receiving subnet

Steps 1 and 4 are to be taken care of by us and rest is inherited from Topos Messaging

For step 1 we would need to implement a function that burns the token and fires an event to notify the other Subnet.

For step 4 we need to implement a function that verifies the address of sending contract (must be same as current contract) and then mints NFT for the user upon successful verification.

Here is a simple sequence Diagram depiciting the core functionality of ERC721 messaging.

AgainDamm drawio

Milestones

Milestone No. Milestone Summary Estimated Timeframe
1 Create a github repository and provide access to team members. Set up a hardhat project and install necessary dependencies. Implement the interface contract for ERC721 messaging contract. 1 week
2 Implement the ERC721 messaging contract. Write tests for the contract and test the contract against them.Write deployment script and deploy the contract on both subnets. 3 weeks
3 Design a minimal UI for interaction with the contract. Create a react project and start implementing the UI. 3 weeks
4 Complete the remaining frontend and start manually testing the whole Dapp. Fix bugs through github issues. Repeat the process until objective is achieved 2 weeks
5 Provide extensive documentation about the project covering both technical and functional prospects. Provide continued maintenace to the project 2 weeks

Documentation, education and community

Project Documentation

Write a detailed documentation describing the projects technical features and functionality. This document will help beginners to understand the project, contribute to it or build other things utilising it.

Community Building

To build a community around our project, we will write article on medium describing our project and the code. Address queries about our project. Post about our project on relevant social channels (Reddit, Discord, X).

Education

Release Youtube videos in collaboration with Topos explaining the project. Make a short tutorial on how to set up the project locally, test it and make changes to it.

Other deliverables

  • Add a feature to support ERC1155 messaging (subject to financial support).
  • A cool feature to increase community participation would be to incentivize users who perform any transaction on the project. Generally, through a memecoin or a meme token (subject to financial support).

Maintenance and upgrade plans

Once the project is completed and we have built a small community around the project, we wish to extend the project to other subnets that become part of topos in future. Also, since topos is still in its upgrading phase, we plan to keep up with any change that topos brings to the ecosystem in future and ensure project remains operational.
If the project grows and is liked by the community, we will deploy it to mainnet whenever it becomes live.

@Dune1955
Copy link
Contributor

Dune1955 commented Mar 6, 2024

Hey! This is Dune from the Topos Discord server. Please send me a DM on Discord. I want to connect with you about your grant application.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants