Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/spheronfdn/raffle-template
Raffle Template provides a streamlined solution for hosting NFT raffles, offering a customizable smart contract and intuitive interface for both raffle organizers and participants. Simplify NFT giveaways with efficient ticket sales, transparent winner selection, and robust blockchain integration.
https://github.com/spheronfdn/raffle-template
blockchain nft solidity typescript web3
Last synced: about 5 hours ago
JSON representation
Raffle Template provides a streamlined solution for hosting NFT raffles, offering a customizable smart contract and intuitive interface for both raffle organizers and participants. Simplify NFT giveaways with efficient ticket sales, transparent winner selection, and robust blockchain integration.
- Host: GitHub
- URL: https://github.com/spheronfdn/raffle-template
- Owner: spheronFdn
- License: mit
- Created: 2023-09-15T05:36:38.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-09T11:59:15.000Z (about 1 year ago)
- Last Synced: 2024-04-02T15:17:09.768Z (8 months ago)
- Topics: blockchain, nft, solidity, typescript, web3
- Language: TypeScript
- Homepage: https://raffle-template-3e45de.spheron.app/
- Size: 794 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Raffle Template
Your ticket to effortless NFT raffles! Easily launch and manage NFT giveaways, from ticket sales to winner selection, with our user-friendly platform. Simplify the raffle experience for your NFT project today!
## Description
**Raffle Template** is a simple NFT raffle application designed to streamline the process of hosting NFT raffles for various projects. This template provides a custom raffle smart contract and a user-friendly application to manage raffles. It allows the owner of the contract to put an NFT up for raffle, enables users to purchase raffle entries, and facilitates the random selection of a winner. The primary goal is to simplify the creation of NFT raffle platforms, making it easier for project owners to market their NFT projects.
### Why did we build this?
The motivation behind this project is to eliminate the complexities associated with developing a raffle platform from scratch. By offering this template, we aim to empower anyone interested in starting a raffle for their NFT project. This template can serve as the foundation for creating more advanced raffle platforms, such as raffling multiple NFTs simultaneously or entire NFT collections.
## Technical Terminology
- **IPFS**: Stands for InterPlanetary File System. It is used for uploading and sharing data in a decentralized and distributed manner.
- **ChakraUI**: Chakra UI is a popular component library for building responsive and accessible user interfaces in React applications.
- **React App**: A JavaScript library for building user interfaces. In this project, React is used to create the user interface for managing NFT raffles.
- **Smart Contracts**: Self-executing contracts with the terms of the agreement between buyer and seller written directly into code. In this project, smart contracts are used to manage the raffle logic on the blockchain.
## Usage
### Owner's Perspective
1. **Deployment**: Deploy the raffle contract on any blockchain of your choice using deployment tools like Hardhat, Remix, or Thirdweb.
2. **Admin Dashboard**: Access the admin dashboard, where you can initiate a raffle by providing the NFT address and token ID of the NFT you want to raffle off. As the contract owner, you automatically have access to the admin panel.
3. **Ticket Price**: Customize the ticket price for the raffle.
4. **Withdraw Funds**: After the raffle concludes, you can withdraw the funds collected from ticket sales.
5. **Select Winner**: Use the "Select Winner" button to randomly choose a winner from the raffle entries. This entire process occurs on the blockchain, ensuring transparency in the raffle.
6. **Winner Rewards**: The winner is automatically awarded the NFT to their address once selected by the owner.
### User's Perspective
As a user interested in participating in the ongoing raffle, here's how you can get involved:
1. **Access the Raffle Platform**: Visit the raffle platform's website or application. You can typically find the platform's link or access point through the project's marketing materials or community channels.
2. **Browse Ongoing Raffles**: Once on the platform, you'll likely find a list of ongoing raffles or upcoming events. Browse through the available raffles and select the one you'd like to participate in.
3. **Select the Raffle**: Click on the raffle you're interested in to view more details, including the NFT that's up for grabs, the ticket price, and the remaining time until the raffle ends.
4. **Confirmation**: After purchasing your entry tickets, you should receive a confirmation that you're now part of the raffle. The platform may provide you with a unique ticket number for reference.
5. **Wait for the Draw**: Once you've entered the raffle, all that's left to do is wait for the draw. Keep an eye on the platform for updates on when the raffle will conclude and the winner will be chosen.
6. **Winner Announcement**: If you're the lucky winner, you'll receive the NFT prize automatically to your connected wallet. The platform will typically announce the winner, adding an element of excitement to the process.
7. **Enjoy Your NFT**: Congratulations! If you win, you can now enjoy your newly acquired NFT, whether it's a digital artwork, collectible, or any other type of non-fungible token.
## Local Installation
### Client
If you wish to run the client-side component locally:
1. Clone the repository to your local machine using `git clone`.
2. Navigate to the cloned folder.
3. Run `npm install` to install the project's dependencies.
4. Start the client-side application with `npm run start`.
## Help and Community
For help, discussions, or any other queries, feel free to [join our community](https://community.spheron.network/).
## Version History
- **0.1**
- Initial Release## License
This project is licensed under the `MIT` License. Please refer to the `LICENSE` file for details.
## Acknowledgments
- Source of inspiration: Real-life lottery games
- Tools used:
- [Spheron](https://spheron.network/) - For file storage and web hosting
- [Hardhat](https://hardhat.org/) - smart contract testing and deployment
- [ Thirdweb](https://thirdweb.com/) - easy to use SDK fro interacting with blockchain
- [React](https://react.dev/) - framework to create the client side for the application
- [Chakra UI](https://chakra-ui.com/) - UI Library for easy to use components