-
Notifications
You must be signed in to change notification settings - Fork 8
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
Implement mint button in UI and text fields for Series and Artist Metadata #6
Comments
May I work in this ? |
I am applying to this issue via OnlyDust platform. My background and how it can be leveraged How I plan on tackling this issue Create an attractive "Mint" button that matches the existing design of the p5.js Web Editor. Choose a location within the editor’s UI where the "Mint" button is visible and associated with the SVG output. Use the Starknet JavaScript SDK to connect the button to the smart contract for minting NFTs. Ensure users are connected to their Starknet wallet before minting. When "Mint" is clicked: Show a loading spinner or progress bar during the minting process. Monitor the transaction status using the Starknet SDK and update the user once it's confirmed. Offer additional options, such as downloading the SVG, sharing on social media, or viewing the NFT in their wallet. |
Hi @martinvibes! |
I am applying to this issue via OnlyDust platform. My background and how it can be leveragedI'm Poulav Bhowmick, a software engineer at Invisible Studios with a robust background in TypeScript, Rust, Solidity Cairo, fullstack development and blockchain technology. My experience includes building robust applications, optimizing functionalities and blockchain integration. I have actively participated in events and open source contributions, enhancing my capability to tackle real-world tech challenges. My projects can be viewed on my GitHub Profile and OnlyDust Profile. Plus I´m active member of Starknet community🇷. How I plan on tackling this issueETA- 2 days Design the Mint Button UI: UI Creation: Design a visually appealing and intuitive "Mint" button, along with text fields for Series and Artist metadata, ensuring it complements the existing p5.js Web Editor interface. Placement: Strategically position the "Mint" button within the editor’s UI to be easily accessible and clearly associated with the SVG output area. Ensure it enhances usability without cluttering the interface. SDK Integration: Use the Starknet JavaScript SDK to connect with the smart contract responsible for minting SVGs as NFTs. Implement the necessary logic to capture SVG data and prepare it for minting when the button is clicked. Wallet Connection: Ensure that users are authenticated with their Starknet wallet before initiating the minting process. If not connected, prompt users to connect their wallet, integrating this step into the minting workflow. Data Collection: When the "Mint" button is clicked, collect the SVG data from the user’s p5.js sketch and call the relevant function in the Starknet smart contract to mint the SVG as an NFT. Feedback Mechanism: Provide real-time feedback during the minting process, such as a loading spinner or progress bar. Notify users of transaction status, including success (with transaction hash and link) or failure (with error message and troubleshooting suggestions). Monitoring: After sending the minting transaction, monitor its status using the Starknet SDK. Update the UI upon confirmation to reflect successful minting. Additional Options: Offer post-minting options such as downloading the SVG, sharing the NFT on social media, or viewing it in the user’s wallet. Update relevant UI elements and logs to track minted NFTs. |
I am applying to this issue via OnlyDust platform. My background and how it can be leveragedMy name is Benjamin, and I am thrilled to work on integrating a mint button into the p5.js Web Editor interface. This feature will allow users to mint their generated SVGs as NFTs on Starknet directly from the editor. I will also implement text fields for users to submit Series and Artist metadata, crucial for organizing and creating NFT series. My goal is to ensure a seamless and user-friendly experience while interacting with the Starknet blockchain. How I plan on tackling this issueDesign the Mint Button UI
Position the Mint Button
Integrate with Starknet SDK
Handle User Authentication
Minting Process Workflow
Real-Time Feedback and Notifications
Transaction Confirmation
Post-Minting Actions
|
I am applying to this issue via OnlyDust platform. My background and how it can be leveragedTell us about your background and how it can be leveraged: As a frontend developer with experience integrating blockchain technologies, I can design intuitive UIs and connect them seamlessly with Starknet. My skills in UX/UI design and blockchain integration will ensure a smooth minting process and enhance user experience with real-time feedback and robust functionality. How I plan on tackling this issueHow would you approach the problem:
|
I am applying to this issue via OnlyDust platform. My background and how it can be leveragedGiven my extensive experience in frontend development, smart contract integration, and user experience design, I am well-equipped to implement this feature. My skills in JavaScript, React, and blockchain technologies will ensure that the minting process is smooth, intuitive, and aligned with the high standards of user experience. Additionally, my commitment to clear communication and prompt updates will keep you informed throughout the project, ensuring everything is delivered to your satisfaction. This feature will significantly enhance the user experience on the p5.js Web Editor by allowing seamless minting of NFTs directly from the interface, making the platform more interactive and aligned with the growing trend of digital art and blockchain technology. How I plan on tackling this issueHere's how I would approach integrating the "Mint" button with the p5.js Web Editor and Starknet: Design and UI: Create the UI Elements: Design a "Mint" button and accompanying text fields for "Series" and "Artist" metadata, ensuring they fit well with the existing p5.js Web Editor design. Set Up the SDK: Integrate the Starknet JavaScript SDK into the frontend to enable communication with Starknet. Wallet Connection: Ensure users are connected to their Starknet wallet before minting. Prompt them to connect if they aren't already. Capture Data: Collect SVG data and metadata when the "Mint" button is clicked. Loading Indicators: Display a spinner or progress bar during the minting process. Additional Options: Offer users options to download, share, or view their minted NFT. |
I am applying to this issue via OnlyDust platform. My background and how it can be leveragedGiven my extensive experience in frontend development and user experience design, I am well-equipped to implement this feature. My skills in JavaScript, React, typescript, next.js, and blockchain technologies will ensure that the minting process is smooth, intuitive, and aligned with the high standards of user experience. Additionally, my commitment to clear communication and prompt updates will keep you informed throughout the project, ensuring everything is delivered to your satisfaction. How I plan on tackling this issueSteps to Implement the Mint Button and Metadata Fields Create an attractive "Mint" button that matches the existing design of the p5.js Web Editor. Choose a location within the editor’s UI where the "Mint" button is visible and associated with the SVG output. Use the Starknet JavaScript SDK to connect the button to the smart contract for minting NFTs. Ensure users are connected to their Starknet wallet before minting. When "Mint" is clicked: Show a loading spinner or progress bar during the minting process. Monitor the transaction status using the Starknet SDK and update the user once it's confirmed. Offer additional options, such as downloading the SVG, sharing on social media, or viewing the NFT in their wallet. |
I am applying to this issue via OnlyDust platform. My background and how it can be leveragedI'm a Full Stack Web Developer with a solid background in front-end and back-end development. So it will be a pleasure to contribute for the first time to this great project. I am a member of the Dojo Coding community. How I plan on tackling this issue
|
The maintainer caseywescott has assigned Benjtalkshow to this issue via OnlyDust Platform. |
I will start working on this asap |
@caseywescott does this have to do with the mint UI/UX flow recently designed my @Ugo-X ? |
Yes @Benjtalkshow - See here for the flow of the mint button: We need a popup in the style of the current site when the mint button is pressed as described in the above link Let me know how long this might take. Cheers |
Still working on this? @Benjtalkshow |
Yes sir. I am still working on it. What about the contract for minting the NFT? |
@Benjtalkshow it's still getting dialed in. Even just a placeholder button in the right spot would be great for now... |
Ok I have implemented everything except the mint nft functionality because of the unavailability of the contract. So, should I make a PR with that? |
Yes, please make a PR! Thank you! |
This button will allow users to mint their generated SVGs as NFTs on Starknet directly from the p5.js Web Editor interface. The implementation of this button involves designing the user interface, integrating with the Starknet blockchain, and providing real-time feedback on the minting process. This feature should Also include text fields for users to submit both Series and Artist metadata when initiating the minting process. These fields will capture crucial information required for creating and organizing NFT series.
Feature request details
Tasks:
Design the Mint Button UI:
Create a visually appealing and intuitive "Mint" button and text fields that fits seamlessly with the existing design of the p5.js Web Editor.
Consider adding a label or tooltip that explains the button's function to users unfamiliar with blockchain or NFT terminology.
Position the Mint Button:
Decide where to place the "Mint" button within the editor’s UI. It should be easily accessible and clearly associated with the SVG output area.
Ensure the button is not intrusive and does not clutter the interface.
Integrate with Starknet SDK:
Use the Starknet JavaScript SDK to interact with the smart contract responsible for minting the SVGs as NFTs.
Implement the logic to capture the SVG data generated by the user and prepare it for minting when the button is clicked.
Handle User Authentication:
Ensure that users are authenticated and connected to their Starknet wallet before allowing them to mint an NFT.
If the user is not authenticated, prompt them to connect their wallet first. Integrate a wallet connection flow that triggers when the user clicks the "Mint" button if they aren't already connected.
Minting Process Workflow:
When the "Mint" button is clicked:
Collect the SVG data from the user's current p5.js sketch.
Call the appropriate function in the Starknet smart contract to mint the SVG as an NFT.
Pass any necessary parameters to the contract, such as metadata, recipient address, or other custom settings.
Real-Time Feedback and Notifications:
Provide real-time feedback during the minting process. Display a loading spinner or progress bar to indicate that the transaction is being processed.
Notify the user when the transaction is successfully completed, showing the transaction hash and a link to view the NFT on a blockchain explorer.
If the transaction fails, display an error message with possible reasons for the failure and suggestions for resolving the issue.
Transaction Confirmation:
After the minting transaction is sent to Starknet, wait for confirmation. Use the Starknet SDK to monitor the transaction status and provide updates to the user.
Once confirmed, update the UI to reflect that the NFT has been successfully minted.
Post-Minting Actions:
Consider providing users with additional options after minting, such as downloading the SVG, sharing the NFT on social media, or viewing the NFT in their wallet.
Update any relevant UI elements or logs to keep a record of minted NFTs.
The text was updated successfully, but these errors were encountered: