https://github.com/capybara003/web3-battle-game
Avax Gods is a Web3 multiplayer NFT card game built on the Avalanche blockchain, where players battle using unique NFT cards in a decentralized gaming experience. ๐๐
https://github.com/capybara003/web3-battle-game
avalanche avax battleship-game blockchain casino dapp game nft nftcard wallet web3
Last synced: about 1 year ago
JSON representation
Avax Gods is a Web3 multiplayer NFT card game built on the Avalanche blockchain, where players battle using unique NFT cards in a decentralized gaming experience. ๐๐
- Host: GitHub
- URL: https://github.com/capybara003/web3-battle-game
- Owner: Capybara003
- Created: 2025-03-12T01:22:54.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-12T02:34:53.000Z (over 1 year ago)
- Last Synced: 2025-03-12T03:28:59.725Z (over 1 year ago)
- Topics: avalanche, avax, battleship-game, blockchain, casino, dapp, game, nft, nftcard, wallet, web3
- Language: JavaScript
- Homepage:
- Size: 15.4 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# **๐ฅ Avax Gods - Online Multiplayer Web3 NFT Card Game**

Welcome to **Avax Gods**, an immersive **Web3-powered multiplayer NFT card game** built on the **Avalanche blockchain**! ๐โก This game lets players battle in a **decentralized** environment, trade unique NFT cards, and experience the power of smart contracts in gaming.
## **๐ Ready to build and play? Letโs dive in!**
---
## **๐ ๏ธ Setting Up the Web3 Environment**
To deploy and interact with the smart contract, follow these steps carefully:
### **๐ Step 1: Navigate to the Web3 Directory**
Move into the Web3 folder where the smart contract and blockchain logic are stored:
```sh
cd web3
```
### **๐ Step 2: Initialize Hardhat**
Set up **Hardhat**, the Ethereum development environment, by running:
```sh
npx hardhat
```
- Select **TypeScript** when prompted (`y โ typescript โ enter โ enter`).
- This sets up a project with TypeScript support for better security and development experience.
### **๐ Step 3: Install Dependencies**
You'll need several dependencies to work with smart contracts and blockchain interactions:
๐น **OpenZeppelin Contracts** for secure smart contract development:
```sh
npm install @openzeppelin/contracts dotenv @nomiclabs/hardhat-ethers
```
๐น **Hardhat Development Toolbox** to ease contract deployment and testing:
```sh
npm install --save-dev "hardhat@^2.12.0" "@nomicfoundation/hardhat-toolbox@^2.0.0"
```
---
## **๐ Connecting Your Wallet to Avalanche Testnet**
### **๐ Step 4: Install Core Wallet Extension**
For seamless interaction with the **Avalanche blockchain**, install [Core Wallet](https://chrome.google.com/webstore/detail/core/agoakfejjabomempkjlepdflaleeobhb), a **Metamask alternative** designed for Avalanche dApps.
### **๐ Step 5: Enable Testnet Mode**
After installing Core Wallet:
1. Open the **Core extension**.
2. Click the **hamburger menu (โฐ) in the top left**.
3. Navigate to **Advanced Settings**.
4. Turn on **Testnet Mode** to interact with the Fuji test network.
### **๐ Step 6: Fund Your Wallet with AVAX**
You need testnet AVAX tokens to deploy and interact with the smart contract.
1. Visit the [AVAX Faucet](https://faucet.avax.network/).
2. Enter your wallet address and request **free testnet AVAX**.
---
## **๐ Setting Up Private Keys Securely**
### **๐ Step 7: Create a `.env` File**
To securely store your private key, create a **.env** file inside the `web3` directory:
```sh
touch .env
```
Inside `.env`, add your **PRIVATE_KEY**:
```sh
PRIVATE_KEY=your_private_key_here
```
### **๐ Step 8: Extract Your Private Key from Core Wallet**
1. Open **Core Wallet** โ Click โฐ (menu).
2. Go to **Security & Privacy** โ Click **Show Recovery Phrase**.
3. Enter your password and copy the **mnemonic phrase**.
4. Go to [wallet.avax.network](https://wallet.avax.network/) โ Click **Access Wallet**.
5. Select **Mnemonic Key Phrase** โ Paste your recovery phrase.
6. In the sidebar, go to **Manage Keys** โ **View C-Chain Private Key**.
7. Copy your private key and paste it into the `.env` file.
๐ด **WARNING**: Never share your **private key**โtreat it like your password!
---
## **๐ Deploying the Smart Contract**
### **๐ Step 9: Copy the Required Files**
- **`hardhat.config.ts`** โ Configuration file for Hardhat.
- **`deploy.ts`** โ Deployment script.
- **`AvaxGods.sol`** โ The actual smart contract.
### **๐ Step 10: Compile the Smart Contract**
Ensure there are no syntax errors before deployment:
```sh
npx hardhat compile
```
If everything is correct, youโll see a success message confirming compilation.
### **๐ Step 11: Deploy to Avalanche Fuji Testnet**
Run the following command to deploy your smart contract:
```sh
npx hardhat run scripts/deploy.ts --network fuji
```
After deployment, copy the **contract address** displayed in the terminal.
---
## **๐ Integrating the Smart Contract with the Frontend**
### **๐ Step 12: Move the Compiled Contract JSON File**
Once the contract is deployed, move the compiled **AVAXGods.json** file into the frontend:
```sh
mv artifacts/contracts/AVAXGods.json frontend/contract
```
### **๐ Step 13: Link the Contract Address in the Frontend**
Open `/contract/index.js` in the frontend and paste the **contract address** you copied earlier.
---
## **๐ฎ Youโre Ready to Play!**
๐ Now your **Avax Gods** NFT card game is fully deployed on the **Avalanche Fuji Testnet**! Players can **battle, trade NFTs, and experience decentralized gaming** like never before.
๐ก Want to customize the game? Modify the **Solidity smart contract** and **React frontend** to add new features!
๐ฌ If you run into any issues, feel free to ask for help or contribute to the project!
**Happy coding, and may the best player win!** ๐๐ฅ