Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CB-23Q3-05.1 FastMint, NFT-specific Subnet #927

Open
will-corcoran opened this issue Jul 20, 2023 · 5 comments
Open

CB-23Q3-05.1 FastMint, NFT-specific Subnet #927

will-corcoran opened this issue Jul 20, 2023 · 5 comments

Comments

@will-corcoran
Copy link
Collaborator

will-corcoran commented Jul 20, 2023

Introduction:

We are thrilled to help support the recent launch of Subnets, an L2 scaling solution for the Stacks mainchain, with this exciting Critical Bounty. Subnets offer high throughput and low latency for specific workloads, with each subnet having its own miners and consensus rules separate from the Stacks main chain. The interaction between users and subnets occurs through smart contracts on the Stacks main chain, settling eventually on the Stacks blockchain and, in turn, settling on Bitcoin. The future holds the potential for various subnets with different consensus models and purposes. Lets kick that future off with a Subnet purpose built for NFTs!

Critical Bounty Mission Statement:

Build a "FastMint" demo application on Stacks mainnet using Subnets to showcase fast NFT minting and enable ecosystem feedback. The goal of the "FastMint" Subnet is to ensure smooth minting experiences and provide clarity throughout the minting process, particularly during marketplaces' peak times, minimizing congestion and gas wars.

Functionality / Deliverables (shall include, but not be limited to):

  • Develop, deploy and maintain the “FastMint” Subnet instance on Stacks mainnet.
  • Creation of a user-friendly interface for seamless minting experiences.
  • Integration with Subnet API and stacks.js for efficient functionality.
  • Integrate with NFT marketplaces and ecosystem wallets
  • Provide support and collect feedback from users

Required Knowledge / Skills:

  • Proficiency in full-stack development.
  • Front-end expertise in JavaScript, TypeScript, and Node.js.
  • Experience in integrating with Subnet API and stacks.js.
  • Knowledge of CSS for UI/UX enhancement.
  • Rust
  • Clarity

References:

Critical Bounty Fee:

The fee for this Critical Bounty is $50,000, paid in STX.

Critical Bounty Application Deadline:

Applications are open and will remain open until a qualified application is sourced.

APPLY HERE

@stacks-foundation
Copy link

👋 @will-at-stacks


Thanks for your application! We will do a pre-review and let you know if we have any immediate questions. In the mean time please refer to our review schedule here for a detailed timeline and response dates.


Best,
Will

@Patotking12
Copy link

I am thrilled to help support the recent launch of Subnets, an L2 scaling solution for the Stacks mainchain, with this exciting Critical Bounty. Subnets offer high throughput and low latency for specific workloads, with each subnet having its own miners and consensus rules separate from the Stacks main chain. The interaction between users and subnets occurs through smart contracts on the Stacks main chain, settling eventually on the Stacks blockchain and, in turn, settling on Bitcoin. The future holds the potential for various subnets with different consensus models and purposes. Let's kick that future off with a Subnet purpose built for NFTs!
Build a "FastMint" demo application on Stacks mainnet using Subnets to showcase fast NFT minting and enable ecosystem feedback. The goal of the "FastMint" Subnet is to ensure smooth minting experiences and provide clarity throughout the minting process, particularly during marketplaces' peak times, minimizing congestion and gas wars. The following deliverables are expected (but not limited to):
Develop, deploy and maintain the “FastMint” Subnet instance on Stacks mainnet.
Creation of a user-friendly interface for seamless minting experiences.
Integration with Subnet API and stacks.js for efficient functionality.
Integrate with NFT marketplaces and ecosystem wallets
Provide support and collect feedback from users

Mission
Over the past 18 months, working with the StrataLabs team, I’ve had the amazing opportunity of working as either an engineer or product manager in multiple NFT projects (Nakamoto-1, CrashPunks, ProjectIndigo & Stacculents). Through these opportunities, I’ve worked with teams to push the limits on NFTs, this has led to a front-row learning seminar for the overall NFT experience.

There are two main things that have always stood out for me when talking about Stacks and other blockchains:

  • NFTs are used through them all, and are universally adopted.
  • Our biggest “problem” is block speed.

The mission here is very clear. The work will not be enough by just spinnin-up a working subnet so that we can improve the NFT experience on Stacks, that’s just the beginning; the real challenge/value will be working with existing teams to guide them on how to run their own subnet or use an existing one.

I know the scope mentions marketplaces and wallets, I also believe getting buy-in from the most popular NFT collections will be key. My goal is to have a handful of commitments for a federated FastMint Subnet prior to production launching.

Proposed Approach
With such high stakes (aka reigniting the NFT community), I’m taking this bounty on with the understanding that the key goal here is not to show off technical skill but rather to lead the coordination effort for other marketplaces, wallets & teams to easily on-board the FastMint instance.

Seen in the pictures here of the Stacks node syncing below. I’m well into the task at hand and also had the chance to talk with a few experts for help along the way

Screenshot 2023-08-11 at 12 27 26
Screenshot 2023-08-11 at 12 27 43

Going through this research phase, I propose the following approach presented as modules and later broken down into specific deliverables:

Finish Demo & Docs Designs
The two final main deliverables will be a working Demo of a NFT marketplace connected to a test Subnet on mainnet and documentation for different ecosystem participants to hook into it. It all starts with the following two questions:

  1. What does a finished demo look like?
  2. Which docs are required for integration?

I’m still getting familiar with deploying a subnet through my own Stacks node, but still that doesn’t stop me from doing the appropriate planning to accomplish the above.

Spin Up FastMint Subnet Instance
Of course one of the main parts of the bounty is actually getting my subnet node working. It will likely take me a few additional days to fully understand it in detail, I am proud to say that by the time this grant is reviewed I hope to have a Subnet working locally

Build Out FastMint Demo
Once the designs are approved and I have a general handle on the Subnet developer experience, I’ll spring over to building out the client-side and Clarity contract for the FastMint demo.

Communicate With The Ecosystem Infrastructure and Teams
So this is not just about building, but also about continuously checking in with the greater Stacks community. When the Demo is done, I’ll go around, demo and discuss the plans for the final, federated FastMint Subnet on mainnet. Talking to at least the following:

- Wallets
- Marketplaces
- NFT Teams

From this the end goal is clear, we will know who will likely participate in the final launch, but even better, I’ll field what is needed in the docs for future entities and better adoption.

Update On-Boarding Docs
When buy-in (hopefully) from multiple members in the community, I’ll turn to documenting, documenting and documenting. How do NFTs in Subnet change wallets? How does it change marketplaces? And how does it change NFTs for existing teams? What does every party need to do to join?

Deploy Federated FastMint Subnet
With everything done, whoever signs up (making sure they are trustful) to help maintain the final federated FastMint Subnet will participate in the deployment, kick-off and asset transfers. The last step as the general community shifts to mainly a NFT-subnet experience.

Deliverables and Roadmap
Below is a list of deliverables that map to the list of macro modules described above; of course nothing is set in stone, but I do believe this is the best path forward to accomplish the critical bounty by ideally October, latest November.

Screenshot 2023-08-11 at 12 30 23

August
Finish Demo High-Fidelity Designs [25-35 hrs]
What will the prototype demo look like? In order to ease the integration process with both Gamma and Tradeport, ideally, a design that contains all the key features in both platforms?

Complete FastMint Alpha Instance [25-50 hrs]
As stated above, I’ve swamped myself on the Hiro docs, peppered Brice with questions and am almost done with the Stacks node sync (86% at the time of submission). I should have the very first FastMint Subnet instance (Alpha) up and running shortly.

Since this is the very first time I’ll be deploying a subnet, I expect some issues along the way; accordingly, every future mention of a FastMint version deployment has a significantly tighter hourly range.

Write FastMint Clarity Contracts [25-35 hrs]
With a finalized front end design and a functional subnet instance, I’ll write and deploy the 2 main contracts required for the full prototype:

- Marketplace test contract
- NFT test contract

Finalize FastMint Test Subnet Writeup/Questionnaire [15-30 hrs]
Once the first instance of FastMint and initial test contracts are completed, I’ll start writing up high-level integration docs before doing the community rounds. This is who I should have summary for before reaching out to them:

- Wallets
- Marketplaces
- NFT Teams

September
Kickoff and Finish web Prototype FE [125-150 hrs]
After all the steps mentioned above are completed (designs, subnet, test contracts, feedback), I’ll finally kickoff building the entire Marketplace and NFT minting/transfering prototype.

This will be the single largest continuous deliverable

Community Outreach [25-50 hrs]
Next, it is time to do the round with the three major groups that will help launch and maintain the FastMint Subnet. Again, my goal is to at least talk/meet with one entity out of this ones:

- Marketplace (Gamma, Tradeport)
- NFT Teams (Megapont, BTCMonkeys, ProjectIndigo, MetaBoy, CrashPunks)
- Wallet (Hiro, XVerse)

The point of each of these meetings is to answer two questions:

1. Anything we’re missing from the prototype? (Frontend, Contracts or Subnet)
2. Would you be willing to join the FastMint Federation?

After many conversations, I’ll be left with actionable feedback as well as an idea of how many and which entities will be available for our final federated FastMint deployment.

October
Feedback Implementation [30-60 hrs]
The hour range here is based on the uncertainty around multiple parties submitting feedback at once; however, I do believe I am the right man for the bounty because of my previous contracts that involved multiple entities.

Hopefully I’ve anticipated needs well enough that the feedback here is on the lower end.

Federation-Wide FastMint Test [10-20 hrs]
Our penultimate testing cycle post-feedback and with everyone involved for the federation release.

Production Release [3-5 hrs]
The finish line! At the end of October the goal is to deploy the final, federated FastMint subnet. This is likely when we’ll start marketing it and publicly announcing it from every federated partner’s marketing channel.

November
Finalize Integration Docs [10-20 hrs]
Post-launch, I want to close the bounty by future-proofing FastMint with clean integration docs. The goal here is to make joining FastMint a must for any NFT-involved entity moving forward.

Simple FastMint Landing Page [25-40 hrs]
Last, I want to centralize everything into a single, easily accessible website; this landing page will include docs, list of federation entities, list of member entities, latest news, etc… it should act as the hub for anyone curious to learn the subnet moving forward.

Methodology and Budget
The team will be myself, Carlos “SetPato” Gomez with very light help from SetZeus and SetBern whenever necessary.

Methodology

Subnet Setup
Anything and everything to-do with the Subnet itself I’ll be handling. As mentioned before I’m currently in the middle of setting up my very first subnet.

Website React (demo)
Anything and everything involving the prototype frontend (aka React) I’ll be handling. My recent work specifically with ProjectIndigo makes me feel ready for anything involved.

Clarity Contracts
The main bulk of my work over the past 18 months has been around Clarity contracts, particularly NFT Clarity contracts; I also feel very confident to write, test and deploy any prototype or transferred asset contracts. The latest complicated contract I deployed was CrashPunks multi-stake contract.

Community Communication
Since I’ll be at the front of the tech and because I’ve communicated with most NFT ecosystem members beforehand, I feel comfortable doing the actual roadshow of presenting to wallets/NFTs/marketplaces.

This will be the main way I’ll get feedback and build up the group that’ll be part of the final federation.

Documentation
Last, I will document everything along the way. In addition to notes and feedback, the actual integration docs for future joinings.

Budget
Based on the hours above I came at an average of 406.5 hours. Given the foundation pays a rate of $75/hr I’m asking for a grant of $30,488.

While the critical bounty is stated up to $50k, I’d rather give a conservative, but realistic scope; hopefully there’s enough budget leftover for a second applicant or for another bounty.

Looking forward to giving the Stacks ecosystem my very best.

@Patotking12
Copy link

Already running my own Testnet Subnet Node, and successfully executing transactions.

https://explorer.hiro.so/txid/0xe5cef60a34250abfd177b87df5746026c006928b7471a93c27f9f512632827ac?chain=testnet

Screenshot 2023-08-22 at 16 41 28

@will-corcoran
Copy link
Collaborator Author

Hi All. Thanks to everyone that applied for the FastMint Critical Bounty. I am pleased to announce this bounty has been awarded to @Patotking12 !

@Patotking12 thank you for all of your hard work on your application and perseverance with debugging subnets and standing one up. We look forward to seeing what you do with the FastMint project ;)

cc: @obycode

@Patotking12
Copy link

Hey all! For anyone looking to follow this critical bounty, here is the github repo I am working on https://github.com/Patotking12/stacks-subnet

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

No branches or pull requests

3 participants