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

Display Transaction Status #9

Open
caseywescott opened this issue Aug 4, 2024 · 12 comments
Open

Display Transaction Status #9

caseywescott opened this issue Aug 4, 2024 · 12 comments
Assignees
Labels
ODHack7 Only Dust Hackathon

Comments

@caseywescott
Copy link
Collaborator

Increasing Access

Display transaction status that keeps users informed about the progress of their blockchain interactions when minting NFTs on Starknet. This task involves providing real-time feedback on the status of transactions, including initiation, processing, and completion, as well as handling any errors or issues that may arise. Clear and responsive transaction status updates are essential for maintaining user trust and ensuring a smooth user experience.

Feature request details

Tasks:

Design Transaction Status UI:

Create a visual component in the UI to display the transaction status. This could be a progress bar, spinner, notification panel, or modal window.

Design the component to be clear and easy to understand, using color codes, icons, and concise text to convey different stages of the transaction (e.g., pending, confirmed, failed).

Ensure the status display is non-intrusive but easily noticeable, allowing users to continue interacting with the application without disruption.

Integrate with Starknet JS:

Use the Starknet JavaScript SDK to interact with the blockchain and monitor the status of transactions.
Implement functions to listen for transaction events, such as transactionSent, transactionPending, transactionConfirmed, and transactionFailed.

Ensure the SDK integration is robust and can handle different transaction types and states.
Transaction Lifecycle Management:

Implement logic to manage the lifecycle of a transaction, from initiation (when the user clicks the "Mint" button) through to confirmation on the blockchain.

Handle the different stages of a transaction, updating the UI in real-time as the transaction progresses.
Provide detailed information, such as the transaction hash, current block number, and estimated confirmation time, where applicable.

Error Handling and Recovery:

Implement error handling to capture and display issues that may occur during the transaction process, such as network errors, insufficient gas fees, or rejected transactions.

Provide clear error messages that explain the problem and suggest possible solutions, such as retrying the transaction or checking wallet balance.

Allow users to easily retry or cancel transactions if something goes wrong, and ensure that the UI provides guidance on next steps.

User Notifications and Alerts:

Use notifications or alerts to inform users about significant events during the transaction process, such as when the transaction is successfully sent to the blockchain or when it has been confirmed.
Consider using different notification styles for different stages: subtle notifications for pending states and more prominent alerts for success or failure.

Implement sound or vibration alerts (especially on mobile devices) for key transaction events, if possible.

Test Transaction Status Handling:

Thoroughly test the transaction status handling across different scenarios, including successful transactions, failed transactions, and various error conditions.

Ensure that the UI updates reliably and accurately reflects the current transaction status.

Test on different devices and browsers to ensure a consistent user experience.

@caseywescott caseywescott added the ODHack7 Only Dust Hackathon label Aug 21, 2024
@Calebux
Copy link

Calebux commented Aug 21, 2024

@caseywescott I will like to take up this issue

Copy link

onlydustapp bot commented Aug 21, 2024

Hi @Calebux!
Maintainers during the ODHack # 7.0 will be tracking applications via OnlyDust.
Therefore, in order for you to have a chance at being assigned to this issue, please apply directly here, or else your application may not be considered.

@ScottyDavies
Copy link

Hi @caseywescott can I be assigned this please? I’m ready to work.

Copy link

onlydustapp bot commented Aug 21, 2024

Hi @ScottyDavies!
Maintainers during the ODHack # 7.0 will be tracking applications via OnlyDust.
Therefore, in order for you to have a chance at being assigned to this issue, please apply directly here, or else your application may not be considered.

@Dprof-in-tech
Copy link

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

As an experienced Full Stack Blockchain Developer, I'm excited to contribute my expertise to Edition 7 of the OnlyDust hackathons. With a strong background in Next.js, TypeScript, JavaScript, React, Node.js, Solidity, and Cairo, I've honed my technical skills across the blockchain development landscape.
My journey with OnlyDust began at Edition 2, and I've since made 28 contributions across 11 projects. This extensive experience on the platform has allowed me to develop a keen understanding of delivering high-quality solutions under tight deadlines. I bring a unique blend of technical prowess and user-centric design to every project, whether I'm crafting immersive 3D experiences or developing innovative smart contracts.
My track record demonstrates my ability to adapt quickly and contribute effectively to diverse challenges. I'm confident in my capacity to tackle new problems and drive innovation in the blockchain space. As we embark on Edition 7, I'm eager to leverage my hackathon experience and technical skills to push the boundaries of what's possible in blockchain development.
With a passion for creating cutting-edge solutions, I'm excited to collaborate with the OnlyDust community and contribute to the advancement of the blockchain ecosystem.

How I plan on tackling this issue

To solve this issue, i would :
Design Transaction Status UI
Create a visual component in the UI to display the transaction status, such as a progress bar, spinner, notification panel, or modal window.
Design the component to be clear and easy to understand, using color codes, icons, and concise text to convey different stages of the transaction (e.g., pending, confirmed, failed).
Ensure the status display is non-intrusive but easily noticeable, allowing users to continue interacting with the application without disruption.
Integrate with Starknet JS
Use the Starknet JavaScript SDK to interact with the blockchain and monitor the status of transactions.
Implement functions to listen for transaction events, such as transactionSent, transactionPending, transactionConfirmed, and transactionFailed.
Ensure the SDK integration is robust and can handle different transaction types and states.
Transaction Lifecycle Management
Implement logic to manage the lifecycle of a transaction, from initiation (when the user clicks the "Mint" button) through to confirmation on the blockchain.
Handle the different stages of a transaction, updating the UI in real-time as the transaction progresses.
Provide detailed information, such as the transaction hash, current block number, and estimated confirmation time, where applicable.
Error Handling and Recovery
Implement error handling to capture and display issues that may occur during the transaction process, such as network errors, insufficient gas fees, or rejected transactions.
Provide clear error messages that explain the problem and suggest possible solutions, such as retrying the transaction or checking wallet balance.
Allow users to easily retry or cancel transactions if something goes wrong, and ensure that the UI provides guidance on next steps.
User Notifications and Alerts
Use notifications or alerts to inform users about significant events during the transaction process, such as when the transaction is successfully sent to the blockchain or when it has been confirmed.
Consider using different notification styles for different stages: subtle notifications for pending states and more prominent alerts for success or failure.
Implement sound or vibration alerts (especially on mobile devices) for key transaction events, if possible.
Test Transaction Status Handling
Thoroughly test the transaction status handling across different scenarios, including successful transactions, failed transactions, and various error conditions.
Ensure that the UI updates reliably and accurately reflects the current transaction status.
Test on different devices and browsers to ensure a consistent user experience.

@ikemHood
Copy link

ikemHood commented Aug 22, 2024

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hey, I am ikem Peter. a fullstack software developer with 3+ years of working experience, I would love to help out with this issue...

How I plan on tackling this issue

  • First, I'll design the transaction status UI:
    -- I'll create a modal component that can be easily overlaid on the existing UI.
    -- The modal will include a progress indicator (like a circular progress bar), status text, and an area for additional details.
    -- I'll use color coding: green for success, yellow for pending, and red for errors.
    The modal will be designed to be non-intrusive but clearly visible.

  • For Starknet JS integration:
    -- I'll use the Starknet SDK to listen for transaction events.
    -- I'll implement functions to handle different event types: transactionSent, transactionPending, transactionConfirmed, and transactionFailed.

  • To manage the transaction lifecycle, I'll create a TransactionManager class to handle the entire process. This class will update the UI in real-time as the transaction progresses.

  • For error handling and recovery, I'll implement try-catch blocks around all blockchain interactions. Error messages will be user-friendly and suggest possible solutions.

  • To handle user notifications and alerts, I'll use a toast notification system for less critical updates.

  • For testing, I'll create a suite of unit tests covering different transaction scenarios.
    -- I'll perform integration tests to ensure the UI updates correctly.
    -- I'll test on various devices and browsers for consistency.

@Ugo-X
Copy link

Ugo-X commented Aug 22, 2024

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I am a Full Stack blockchain Developer with expertise in Next.js, Nest.js, TypeScript, JavaScript, React, Node.js, Three.js, and Solidity. My journey with OnlyDust hackathons began at Edition 1, and I've since made 47 contributions across 11 projects. With my extensive experience on the OnlyDust platform (profile: https://app.onlydust.com/u/Ugo-X), I've honed my skills in delivering quality solutions under pressure.
I bring a unique blend of technical proficiency and user-focused design to every project, whether it's crafting immersive 3D experiences or developing smart contracts. My track record shows I can adapt quickly and contribute effectively to diverse challenges.
As we surf through Edition 7, I'm excited to leverage my skills and hackathon experience to push the boundaries of blockchain development. I'm confident in my ability to tackle new challenges and drive innovation in this space.

How I plan on tackling this issue

Understanding the Problem
The goal is to provide real-time transaction status updates to users while minting NFTs on Starknet, ensuring a smooth and informative user experience. This involves designing a clear UI component, integrating with the Starknet JavaScript SDK, managing the transaction lifecycle, handling errors, and providing notifications.
Proposed Solution
I will:
17. Design a Clear Transaction Status UI:
• Create a visual component in the UI, such as a progress bar, spinner, or notification panel, to display transaction status.
• Use color codes, icons, and concise text to convey different transaction stages (e.g., pending, confirmed, failed).
• Ensure the status display is non-intrusive but easily noticeable.
18. Integrate with Starknet JS:
• Use the Starknet JavaScript SDK to interact with the blockchain and monitor transaction status.
• Implement functions to listen for transaction events (transactionSent, transactionPending, transactionConfirmed, transactionFailed).
• Ensure robust SDK integration to handle different transaction types and states.
19. Manage the Transaction Lifecycle:
• Implement logic to manage the transaction lifecycle from initiation to confirmation.
• Handle different stages, updating the UI in real-time.
• Provide detailed information such as transaction hash, current block number, and estimated confirmation time.
20. Handle Errors and Recovery:
• Implement error handling to capture and display issues.
• Provide clear error messages with solutions, such as retrying or checking wallet balance.
• Allow users to retry or cancel transactions and provide guidance on next steps.
21. Provide User Notifications and Alerts:
• Use notifications or alerts to inform users of significant events.
• Consider different notification styles for different stages.
• Implement sound or vibration alerts for key events (especially on mobile devices).
22. Test Transaction Status Handling:
• Thoroughly test transaction status handling across various scenarios.
• Ensure UI updates reliably and accurately reflect the current transaction status.
• Test on different devices and browsers for consistent user experience.
By following these steps, I can effectively implement real-time transaction status updates, providing a more informative and user-friendly experience for minting NFTs on Starknet.

@Benjtalkshow
Copy link

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I am Benjamin, With 3 years of experience as a frontend javascript developer, I am willing to enhance the user experience of p5.ks-mint project by providing clear and responsive transaction status updates for blockchain interactions on Starknet. My goal is to ensure that users are well-informed about the progress of their transactions, from initiation to completion, and can navigate any issues that arise smoothly.

How I plan on tackling this issue

Design Transaction Status UI

  • Create Visual Component: I will design a visual component, such as a progress bar, spinner, notification panel, or modal window, to display the transaction status.
    • Clear Communication: The design will use color codes, icons, and concise text to indicate different stages of the transaction (e.g., pending, confirmed, failed).
    • Non-Intrusive Design: The status display will be noticeable yet non-intrusive, allowing users to continue interacting with the application seamlessly.

Integrate with Starknet JS

  • SDK Integration: I will utilize the Starknet JavaScript SDK to interact with the blockchain and monitor transaction status.
    • Transaction Events: Implement functions to listen for transaction events such as transactionSent, transactionPending, transactionConfirmed, and transactionFailed.
    • Robust Handling: Ensure that the integration handles various transaction types and states effectively.

Transaction Lifecycle Management

  • Manage Lifecycle: I will implement logic to manage the entire lifecycle of a transaction, from initiation to confirmation.
    • Real-Time Updates: I will update the UI in real-time as the transaction progresses, providing detailed information like transaction hash, current block number, and estimated confirmation time.

Error Handling and Recovery

  • Error Handling: I will develop robust error handling to capture and display issues encountered during the transaction process, such as network errors or insufficient gas fees.
    • Clear Messages: I will provide clear error messages explaining the problem and suggest solutions, such as retrying the transaction or checking the wallet balance.
    • Retry or Cancel: Allow users to easily retry or cancel transactions, with guidance on next steps.

User Notifications and Alerts

  • Notifications: I will implement notifications or alerts to inform users of significant events, such as transaction success or failure.
    • Notification Styles: I will use subtle notifications for pending states and more prominent alerts for success or failure.

Test Transaction Status Handling

  • Thorough Testing: I will test the transaction status handling across various scenarios, including successful and failed transactions, and different error conditions.
    • Consistent Experience: I will ensure the UI updates reliably and accurately across different devices and browsers.

@JoelVR17
Copy link

JoelVR17 commented Aug 22, 2024

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I'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

  1. Design Transaction Status UI:

    • I would start by creating a visual component to display the transaction status. This could include a progress bar, spinner, notification panel, or modal window, depending on what would provide the best user experience.
    • The design would incorporate clear and intuitive elements, such as color codes, icons, and concise text, to represent different stages of the transaction (e.g., pending, confirmed, failed). The goal would be to ensure that the status display is noticeable yet non-intrusive, allowing users to continue interacting with the application smoothly.
  2. Integrate with Starknet JS:

    • Next, I would integrate the Starknet JavaScript SDK to monitor and manage the transaction status in real-time. I would implement functions to listen for transaction events like transactionSent, transactionPending, transactionConfirmed, and transactionFailed.
    • The integration would be designed to handle various transaction types and states, ensuring that the UI is always up-to-date and responsive to the blockchain’s status.
  3. Transaction Lifecycle Management:

    • I would implement logic to manage the entire lifecycle of a transaction, from the moment the user initiates it (e.g., clicking the "Mint" button) to its confirmation on the blockchain.
    • The UI would be updated in real-time, providing users with detailed information, such as the transaction hash, current block number, and estimated confirmation time. This approach ensures transparency and keeps users informed at every step.
  4. Error Handling and Recovery:

    • I would implement robust error handling to capture and display issues that might arise during the transaction process, such as network errors, insufficient gas fees, or rejected transactions.
    • Clear and actionable error messages would be provided, helping users understand the issue and suggesting possible solutions, such as retrying the transaction or checking wallet balance. Additionally, I would ensure that users can easily retry or cancel transactions if necessary, with the UI offering guidance on the next steps.
  5. User Notifications and Alerts:

    • I would use notifications or alerts to inform users of significant events during the transaction process, such as when the transaction is sent to the blockchain or confirmed. Different notification styles would be used for different stages, with subtle notifications for pending states and more prominent alerts for success or failure.
    • If possible, I would implement sound or vibration alerts, particularly for mobile devices, to enhance user awareness of key transaction events.
  6. Test Transaction Status Handling:

    • Finally, I would thoroughly test the transaction status handling across various scenarios, including successful transactions, failed transactions, and different error conditions.
    • I would ensure that the UI updates reliably and reflects the correct transaction status at all times. Testing would be conducted on multiple devices and browsers to guarantee a consistent and smooth user experience across different environments.

@JorgeOehrens
Copy link

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have a solid background in frontend development, particularly in creating intuitive user interfaces that provide real-time feedback. My experience includes integrating blockchain transaction monitoring with web applications, ensuring users are well-informed throughout the transaction process. I’m proficient with Starknet JS and have successfully implemented transaction status tracking and error handling in blockchain projects. This expertise will allow me to design and implement a smooth and responsive transaction status UI that enhances user trust and experience during the NFT minting process.

How I plan on tackling this issue

To address this task, I would start by designing a clear and user-friendly transaction status UI, such as a progress bar or notification panel, that provides real-time updates on the transaction stages (pending, confirmed, failed). I would integrate Starknet JS to monitor the transaction lifecycle and implement robust error handling to capture and display any issues. Additionally, I’d ensure that users receive timely notifications and alerts for significant transaction events. Finally, I would test the transaction status handling across different scenarios, devices, and browsers to ensure consistency and reliability.

@josephchimebuka
Copy link

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hello @caseywescott I am Joseph Chimebuka I'm a full-stack software developer with 4+ years of experience in crafting innovative products. I've built a range of projects, including https://mattedsgn.vercel.app/ and https://metacrypt.vercel.app/ showcasing my expertise in React, Next.js, and blockchain technologies. I'm also an active contributor onlydust. here's my account https://app.onlydust.com/u/josephchimebuka.

How I plan on tackling this issue

The issue description is described precisely I will ensure I meet all the requirements listed there before sending a PR

Copy link

onlydustapp bot commented Aug 24, 2024

The maintainer caseywescott has assigned Dprof-in-tech to this issue via OnlyDust Platform.
Good luck!

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

Successfully merging a pull request may close this issue.

10 participants