Skip to content

h3ro-dev/fishrewards-nft

Repository files navigation

🐟 FishRewards NFT - Sustainable Fishing Reward System

License Solidity ERC-721 Status

🌊 Overview

FishRewards NFT is a revolutionary blockchain-based reward system that incentivizes sustainable fishing practices through tiered NFT certificates. Each NFT represents a unique fishing achievement level and provides holders with weighted rewards from a carefully managed token distribution pool.

🎯 Key Features

  • 6 Tiered NFT Certificates - From beginner to expert fishing achievements
  • Dynamic Pricing Algorithm - Prices increase based on minting activity
  • Weighted Reward Distribution - Higher tiers earn proportionally more rewards
  • Sustainable Tokenomics - 10-year halving schedule with 5.49B FISH tokens
  • On-chain Verification - Fully transparent and immutable reward calculations
  • Beautiful SVG Artwork - Unique visual design for each certificate tier

πŸ“Š Tier Structure

Tier NFT Name ID Weight Start Price Max Supply Phase 2x Price Increment
1 🌊 Shoreline Drift cod-fish 0.50x $250 12,500 2x $25/100 mints
2 🎣 Tide Catch tuna-fish 0.75x $500 10,000 3x $50/100 mints
3 🐠 Reef Bounty king-fish 1.25x $1,000 5,000 5x $100/100 mints
4 βš“ Seafarer's Crest opah-fish 1.50x $2,000 2,500 6x $200/100 mints
5 🚒 Ocean Harvest sail-fish 1.75x $5,000 1,250 7x $500/100 mints
6 πŸ‘‘ Legacy Deepwater lion-fish 2.00x $10,000 625 8x $1,000/100 mints

πŸ—οΈ Architecture

fishrewards-nft/
β”œβ”€β”€ contracts/
β”‚   β”œβ”€β”€ FishCertNFT.sol         # Main NFT contract
β”‚   β”œβ”€β”€ architecture-diagram.md  # System architecture
β”‚   └── metadata-flow-diagram.svg
β”œβ”€β”€ metadata/
β”‚   β”œβ”€β”€ [tier]-nft.json         # NFT metadata files (ERC-721)
β”‚   └── [tier].json             # Simplified metadata
β”œβ”€β”€ images/
β”‚   └── [tier].svg              # NFT artwork files
└── documentation/
    β”œβ”€β”€ IMPLEMENTATION_GUIDE.md  # Engineering guide
    β”œβ”€β”€ tokenomics-documentation.md
    └── smart-contract-structure.md

πŸš€ Quick Start

Prerequisites

  • Node.js >= 16.0.0
  • npm or yarn
  • Hardhat or Foundry
  • MetaMask or compatible Web3 wallet

Installation

# Clone the repository
git clone https://github.com/CryptoJym/fishrewards-nft.git
cd fishrewards-nft

# Install dependencies (when package.json is added)
npm install

# Compile contracts
npx hardhat compile

Deploy Contract

# Deploy to local network
npx hardhat run scripts/deploy.js --network localhost

# Deploy to testnet (e.g., Goerli)
npx hardhat run scripts/deploy.js --network goerli

# Deploy to mainnet
npx hardhat run scripts/deploy.js --network mainnet

πŸ’° Tokenomics & Rewards

Distribution Model

The FishRewards system distributes 5.49 billion FISH tokens over 10 years with a halving mechanism:

Year Pool Size Daily Distribution
1 2.745B (50%) ~7.52M FISH
2 1.373B (25%) ~3.76M FISH
3 686M (12.5%) ~1.88M FISH
... Continues halving ...

Reward Calculation

// Daily rewards for a user
userDailyRewards = (userWeightedStake / globalWeightedStake) Γ— dailyPool

// Weighted stake calculation
weightedStake = quantity Γ— weightingFactor Γ— phase2Multiplier

Dynamic Pricing Formula

currentPrice = startingPrice + (floor(mintedCount/100) Γ— incrementAmount)

πŸ“‹ Smart Contract Interface

Core Functions

// Minting
function mintFishCert(uint256 packageId, uint256 quantity) external payable

// View Functions
function getCurrentPrice(uint256 packageId) external view returns (uint256)
function getUserRewardProjection(address user) external view returns (uint256)
function getGlobalWeightedStake() external view returns (uint256)

// Admin Functions
function setPhase2Active(bool active) external onlyOwner
function withdrawFunds() external onlyOwner

Events

event FishCertMinted(address indexed user, uint256 indexed packageId, uint256 quantity)
event RewardsClaimed(address indexed user, uint256 amount)
event Phase2Activated(uint256 timestamp)

πŸ§ͺ Testing

# Run all tests
npx hardhat test

# Run specific test file
npx hardhat test test/FishCertNFT.test.js

# Run with coverage
npx hardhat coverage

πŸ”— Integration

Existing Contract Integration

The system integrates with the existing FishRewards purchase contract:

  • Address: 0x43bf526abad45cfae684e706cdbec1cf52a91646
  • Function: mintCountPerPackage(uint256 packageId)
  • Package IDs: 1-6 (matching tier order)

Frontend Integration

// Example: Check current price
const price = await contract.getCurrentPrice(1); // Shoreline Drift

// Example: Mint NFT
await contract.mintFishCert(1, 2, { value: price * 2 });

// Example: Check rewards
const rewards = await contract.getUserRewardProjection(userAddress);

πŸ“š Documentation

🎨 Branding & Design Resources

  • 🎯 Brand Guide - Complete brand identity system
  • πŸ–ΌοΈ NFT Visual Style Guide - Tier-specific design specifications
  • 🌊 Design Philosophy: Ocean-inspired depth with sustainable luxury
  • 🎨 Color System: Deep ocean blues transitioning to prestigious golds
  • ✨ Visual Progression: Each tier more premium than the last

⚠️ Important Clarifications

Note: The "50%-200% reward rates" mentioned in marketing materials are weighting factors in the reward distribution algorithm, NOT fixed percentage returns. Actual returns depend on:

  • Total number of participants
  • Global weighted stake
  • FISH token market value
  • Time of participation

🎨 NFT Artwork

Each tier features unique SVG artwork representing different fishing achievements. View the artwork files in the images/ directory.

πŸ› οΈ Development Roadmap

  • Complete technical documentation
  • Design NFT metadata structure
  • Create tier artwork
  • Implement smart contracts
  • Deploy to testnet
  • Security audit
  • Frontend development
  • Mainnet deployment
  • IPFS integration for metadata

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ”’ Security

  • All smart contracts will undergo professional auditing before mainnet deployment
  • Bug bounty program to be announced
  • Please report security vulnerabilities to: security@fishrewards.app

πŸ“ž Contact & Support

  • GitHub Issues: Create an issue
  • Documentation: Wiki
  • Community: Join our Discord and Twitter communities

πŸ™ Acknowledgments

  • FishRewards.app team for the original concept
  • OpenZeppelin for secure contract libraries
  • The sustainable fishing community

🐟 Building a sustainable future for fishing, one NFT at a time 🌊

Made with ❀️ by the FishRewards Team

About

FishRewards NFT - A sustainable fishing reward system using blockchain technology

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors