chain-coder / nft_legion

NFT game contract that users can play with various options

Home Page:https://cryptolegions.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

P2E Game - Crypto Legions

Links

Environment

  • node version - v16.13.1

Work Flow

File Structure

  • config
    • game.config (game configuration)
    • nav.config (navigation configuration)
    • theme.config (theme configuration)
    • api.config (api urls for dev, pro and subgraph)
  • constants
    • index (constants using in game)
    • abis (contract abis)
    • contractAddresses (addresses of contracts)
    • quotes
    • translations
  • pages (components for big pages)
  • components (components that reused many times)
  • redux
    • store (combine several reducers)
    • reducers (seperate into several reducers for several states)
  • types (types for redux states and some variables)
  • services (retrieving data from contracts and store them in the redux, and API service)
  • wallet
    • connector
    • ethereum
  • web3hooks
    • contractFunctions (getting and setting functions from and to the smart contracts)
    • getAbi (getting Abis)
    • getAddress (getting addresses of contracts)
    • useContract (using Contract)
  • utils (some functions for resuable)

Component Structure

Import Modules

  • import node modules at first
  • then import components and functions seperatly for functionalities
    • components
    • functions
    • css
    • ...

Order in components

  • define constants
  • define hooks variables
  • define states
  • useEffect
  • getting functions
  • handling functions
  • render functions
  • return part (main rendering)

Naming functions

  • start get to get any data
  • start handle to handle or set data
  • start render to make the small rendering part (reusable in one component)

Important

After working, please remove the unused variables.

About

NFT game contract that users can play with various options

https://cryptolegions.app/


Languages

Language:TypeScript 89.5%Language:JavaScript 9.0%Language:CSS 1.3%Language:HTML 0.2%