https://github.com/jweiss0/OSS-CryptoCasino
This project is a web-based game, built on blockchain technology. It will utilize the blockchain to record and verify transactions that occur within the game, such as actions or task a player completes. Crypto Casino is a collection of casino games that will be played on a front end web application, with transactions recorded on the blockchain. This includes games such as blackjack, roulette, and slots.
Ultimately, we plan to use this project as a learning experience for blockchain development. The project is licensed under GPL v3.0 to ensure it maintains an open source status and can be used by others in the community to learn blockchain development. Much of the project is not set in stone, leaving it up to the developers and community to modify the plans for the project as they see fit.
Our goal this semester is to develop a completely functional web-based game, built on the blockchain. Creating a multiplayer game will be a difficult task for a single semester, so we plan to make the game singleplayer. We will concentrate on simple functionality, regarding both smart contracts and the front end web application. We would prefer a working application with simple features over a nonfunctional application with many features. Although the game will be singleplayer, there may be a leaderboard to display scores of different users. We plan to spend the first week deciding on the type of game to create and the necessary mechanics. The week after that, we will work on documentation regarding smart contract architecture design, as well as front end design documentation. After that, for the next few weeks, we will complete the smart contracts and front end web application. That leaves the last few weeks of the semester to connect the front end web application with the smart contracts, deploy the smart contracts and web application, and finally begin writing tests for the application.
We will be using React with Redux (subject to change) and the web3.js library for coding the front end of the application and Solidity for coding the smart contracts. Smart contract development, testing, and deployment will be performed with the Hardhat environment. We plan to deploy the smart contracts to the Avalanche (subject to change) network.
Name | GitHub Handle | |
---|---|---|
Jeremy Weiss | jweiss0 | [email protected] |
Eugene Rozental | eugrro | [email protected] |
Kevin Cruz | kevtlw | [email protected] |
Brandon Red | brandon-red | [email protected] |
Ben Xu | x-u-b | [email protected] |
- By 2/27 : Investigate game options and decide on final game mechanics. Begin work on smart contract architecture and front end design ideas.
- By 3/4 : Complete smart contract architecture design and begin writing smart contracts in Solidity. Decide on front end web application structure and begin development in React.
- By 4/1: Finish writing smart contracts and coding front end web application.
- By 4/8: Connect front end web application with backend smart contracts. Integrate blockchain wallet communication with front end.
- By 4/15: Deploy smart contracts on Avalanche test network.
- By 4/22: Write minimal smart contract tests and front end tests using Hardhat and Jest.