NES.TECH Documentation
  • 👋Welcome to NES.TECH
  • Overview
    • 💡What we do
  • SDKs Guide
    • 📪Kickstart with our SDKs
    • ⛓️Blockchain SDKs
      • 📌Solana SDK
        • ⛏️generateAccount
        • ⛏️getAccountFromSecretKey
        • ⛏️getBalance
        • ⛏️sendSOL
        • ⛏️mintNFT
        • ⛏️estimateTransferToken
        • ⛏️estimateMint
        • ⛏️estimateSOLTransfer
        • ⛏️estimateMintToken
        • ⛏️createToken
        • ⛏️transferToken
      • 📌EVM Chains SDK
        • ⛏️BulkNFT
          • 🔗deployContract
          • 🔗bulkMint
        • ⛏️NFT
          • 🔗deployContract
          • 🔗mint
          • 🔗convertToVLRY
          • 🔗VLRYToUSD
          • 🔗VLRYToCRYPTO
          • 🔗transferOwnership
          • 🔗transfer
          • 🔗estimateFee
            • 📌ERC20
              • ⛏️deploy
              • ⛏️mint
              • ⛏️transfer
            • 📌ERC721
              • ⛏️deploy
              • ⛏️mint
              • ⛏️transfer
            • 📌ERC1155
              • ⛏️deploy
              • ⛏️mint
              • ⛏️transfer
            • 📌Soulbound
              • ⛏️deploy
              • ⛏️mint
        • ⛏️Contracts
          • 🔗ERC20
            • 📌deployContract
            • 📌transfer
            • 📌mint
          • 🔗ERC721
            • 📌deployContract
            • 📌transfer
            • 📌mint
            • 📌approve
          • 🔗ERC1155
            • 📌deployContract
            • 📌transfer
            • 📌mint
            • 📌balanceOf
          • 🔗Soulbound
            • 📌deployContract
        • ⛏️Wallet
          • 🔗getBalance
          • 🔗sendEther
          • 🔗depositEther
          • 🔗checkIfAddress
        • ⛏️NFTMarketPlace
          • 🔗listNFT
          • 🔗buyNFT
          • 🔗getNFT
          • 🔗placeBid
          • 🔗transferNFT
        • ⛏️BlockchainInfo
          • 🔗availableBlockchains
          • 🔗availableContracts
      • 📌Tokenomics SDK
        • ⛏️createStake
        • ⛏️removeStake
        • ⛏️approveVolary
        • ⛏️transferVolary
        • ⛏️getBalance
        • ⛏️claimRewards
        • ⛏️addRewards
        • ⛏️swapVlry
        • ⛏️getSwapAmountVolary
      • 📌Storage SDK
        • ⛏️uploadToIPFS
        • ⛏️fetchMetadata
      • 📌Casper SDK
        • ⛏️generateWallet
        • ⛏️fetchWalletFromPrivateKey
        • ⛏️fetchAccountHash
        • ⛏️getBalance
        • ⛏️transferTokens
        • ⛏️deployNFTContract
        • ⛏️mintNFT
        • ⛏️mintFreeNFT
        • ⛏️checkNFT
        • ⛏️approveSale
        • ⛏️transferNFT
        • ⛏️getNftOwner
        • ⛏️bid
        • ⛏️startBidding
        • ⛏️closeBidding
        • ⛏️cancelAuction
        • ⛏️getUserData
        • ⛏️getNftInfo
        • ⛏️getContractDetails
        • ⛏️getWalletDetails
        • ⛏️checkPublicKey
        • ⛏️getAllAuctionNft
        • ⛏️transferWithRoyalty
        • ⛏️getPaymentAmounts
        • ⛏️transferPlaceBidAmount
      • 📌XY-Finance SDK
        • ⛏️getRecommendedTokens
        • ⛏️getQuote
        • ⛏️approveSwap
        • ⛏️executeSwap
      • 📌Wallet SDK
        • ⛏️createWallet
        • ⛏️getKeys
          • 🔗btc
          • 🔗evm
          • 🔗sol
          • 🔗near
        • ⛏️transfer
          • 🔗evm
          • 🔗sol
          • 🔗btc
          • 🔗near
        • ⛏️estimateFee
          • 🔗evm
          • 🔗sol
        • ⛏️txStatus
          • 🔗evm
          • 🔗sol
          • 🔗near
        • ⛏️getBalanceByMnemonic
          • 🔗evm
          • 🔗sol
          • 🔗btc
          • 🔗near
        • ⛏️chainBalances
          • 🔗evm
          • 🔗sol
        • ⛏️testChainBalances
        • ⛏️getTotalBalanceInUSDByAddresArray
          • 🔗evm
          • 🔗sol
        • ⛏️isAddress
          • 🔗evm
          • 🔗sol
        • ⛏️isPrivateKey
          • 🔗evm
          • 🔗sol
        • ⛏️isMnemonic
          • 🔗evm
      • 📌Explorer SDK
        • ⛏️getLatestTxsOfAddress
        • ⛏️getLatestTxs
        • ⛏️getTransferFromAddress
    • 🤖AI Guide
      • 📌Overview
      • 📌Face Recognition
        • ⛏️faceRecoRegisterUser
        • ⛏️faceRecoCompareFaceWithId
        • ⛏️faceRecoCompareFaceWithFace
      • 📌Check Toxicity
        • ⛏️checkToxicityImage
        • ⛏️checToxicityTest
      • 📌Caption and Tag Generator
        • ⛏️generateCaptionAndTagsFromImage
      • 📌Stable Diffusion
        • ⛏️stableDiffusionGenerateImage
      • 📌Image Similarity
        • ⛏️imageSimilarityTrain
        • ⛏️imageSimilarityTest
  • Template Library
    • 🛠️Get Started
    • 🕵️Technical Overview
    • 👷Smart Contracts
      • 📌ERC721
      • 📌ERC721A
      • 📌ERC1155
      • 📌Soulbound
      • 📌ERC6551
        • 📌Account
        • 📌Registry
      • 📌Fractional
      • 📌BiDirectionalPaymentChannel
      • 📌Swap
      • 📌ERC2981
      • 📌Flashloans
      • 📌Vault
      • 📌ERC884
      • 📌Play To Earn Contract
      • 📌Escrow
      • 📌UpgradableNFTContract
    • ⚖️Templates Library
      • 🥇Music Tracks/Album
      • 🥇Loyalty Point System
      • 🥇Real Estate Ownership
      • 🥇Artwork Authentication
      • 🥇Crowdfunding Platform
      • 🥇Social Tokens
      • 🥇Food and Recipe
      • 🥇Scientific Research
      • 🥇Educational Certification
      • 🥇Trading Cards
      • 🥇Digital Fashion
      • 🥇Bulk Digital Fashion
      • 🥇Governance Token
      • 🥇Content Licenses
      • 🥇Membership Cards
      • 🥇Bulk Membership Cards
      • 🥇Artifacts
      • 🥇Debt Instruments
      • 🥇Bulk Debt Instruments
      • 🥇Profit Sharing
      • 🥇Digital Souvenirs
      • 🥇Fractional Ownership of Intellectual Property
      • 🥇Digital Autographs and Signature
      • 🥇Bulk Digital Autographs and Signature
      • 🥇Film and Media Rights
      • 🥇Bulk Film and Media Rights
      • 🥇Sports Achievements
      • 🥇Bulk Sports Achievements
      • 🥇Digital Comics and Graphic Novels
      • 🥇Bulk Digital Comics and Graphic Novels
      • 🥇Proposals and Voting
      • 🥇Music Royalties
      • 🥇Gaming Royalties
      • 🥇Art Token Aggregation
      • 🥇Medical Token Aggregation
      • 🥇Charity Token Aggregation
      • 🥇Travel Token Aggregation
      • 🥇Time-Limited Access Tokens
      • 🥇Virtual Art Exhibition
  • KRYPTOKASE
    • 🛠️KryptoKase: Overview
    • 🕵️Technical Overview
    • 👷Functionalities
      • 📌Create Token
      • 📌Mint Token
      • 📌Transfer Tokens
      • 📌Airdrop Token
      • 📌Schedule Vesting
      • 📌Token Analytics
  • AERIE
    • 🏆Introduction
      • 📌Overview
      • 📌Use Cases
    • 📖User Guide
      • 📌Dashboard
      • 📌Managing Assets
        • 🔗Creating Assets
      • 📌Wallet Management
        • 🔗Overview
      • 📌Client Management
        • 🔗Adding Client
        • 🔗Managing Members
      • 📌Invoice Management
        • 🔗Managing Tickets
    • 📌Features
      • 🔗AI Image Generation
      • 🔗Portfolio Management
      • 🔗CDN Analytics
  • ROMULUS
    • Contracts
      • Dynamic NFT
      • Rental NFT
      • ERC 998
      • Fractional NFT
  • Layer 1
    • 🗡️DAG-EVM Hybrid Layer 1
    • ⛓️Setting up an RPC/RO Node
    • 👾Node Functions
      • 📍ftm.call()
      • 📍ftm.chainId()
      • 📍ftm.contract()
      • 📍ftm.currentEpoch()
      • 📍ftm.estimateGas()
      • 📍ftm.feeHistory()
      • 📍ftm.fillTransaction()
      • 📍ftm.filter()
      • 📍ftm.getAccounts()
      • 📍ftm.getBalance()
      • 📍ftm.getBlock()
      • 📍ftm.getBlockByHash()
      • 📍ftm.getBlockByNumber()
      • 📍ftm.getBlockNumber()
      • 📍ftm.getBlockTransactionCount()
      • 📍ftm.getBlockUncleCount()
      • 📍ftm.getCode()
      • 📍ftm.getCoinbase()
      • 📍ftm.getCompilers()
      • 📍ftm.getEvent()
      • 📍ftm.getGasPrice()
      • 📍ftm.getHashrate()
      • 📍ftm.getHeaderByHash()
      • 📍ftm.getHeaderByNumber()
      • 📍ftm.getHeads()
      • 📍ftm.getMaxPriorityFeePerGas()
      • 📍ftm.getPendingTransactions()
      • 📍ftm.getProof()
      • 📍ftm.getProtocolVersion()
      • 📍ftm.getStorageAt()
      • 📍ftm.getTransaction()
      • 📍ftm.getTransactionCount()
      • 📍ftm.getTransactionReceipt()
      • 📍ftm.icapNamereg()
      • 📍ftm.isSyncing()
      • 📍ftm.namereg()
      • 📍ftm.sendRawTransaction()
      • 📍ftm.signTransaction()
    • 🎫Admin Node Functions
      • 📍admin.addPeer()
      • 📍admin.addTrustedPeer()
      • 📍admin.exportChain()
      • 📍admin.getNodeInfo()
      • 📍admin.getPeers()
      • 📍admin.importChain()
      • 📍admin.removePeer()
      • 📍admin.removeTrustedPeer()
      • 📍admin.startHTTP()
      • 📍admin.startWS()
      • 📍admin.stopHTTP()
      • 📍admin.stopWS()
    • 📄Oracle Contracts
      • 📌Traffic Feed Contract
      • 📌Air Quality Feed Contract
      • 📌Football Player Feed Contract
      • 📌Stock Price Feed Contract
      • 📌Weather Feed Contract
      • 📌Crypto Price Feed Contract
      • 📌Random Number Contract
Powered by GitBook
On this page
  • Overview
  • Methods
  • gameState
  • Parameters
  • Returns
  • createGame
  • Parameters
  • Returns
  • playerWon
  • Parameters
  • Returns
  • playerLost
  • Parameters
  • Returns
  • Withdraw
  • Parameters
  • Returns
  1. Template Library
  2. Smart Contracts

Play To Earn Contract

Overview

The P2EGame (Play-to-Earn Game) contract is designed for managing a gaming ecosystem where players can stake ERC20 tokens in a gaming escrow.

The contract handles the staking of tokens, tracks game states, and manages token payouts based on game outcomes.

Methods

gameState

Retrieves the current state of game funds in escrow.

Parameters

Parameter

Type

Description

_gameId

uint256

Identifier of the game.

_player

address

Address of the player.

Returns

Return

Type

Description

Tuple

(uint256, bool, address)

Balance, lock status, and treasury address.

createGame

Parameters

Parameter

Type

Description

_player

address

Address of the player.

_treasury

address

Treasury address for the game.

_p

uint256

Player's staked amount.

_t

uint256

Treasury's staked amount.

Returns

Return

Type

Description

success

bool

Returns true if the game is successfully created.

playerWon

Parameters

Parameter

Type

Description

_gameId

uint256

Identifier of the game.

_player

address

Address of the winning player.

Returns

Return

Type

Description

success

bool

Returns true if tokens are unlocked successfully.

playerLost

Parameters

Parameter

Type

Description

_gameId

uint256

Identifier of the game.

_player

address

Address of the losing player.

Returns

Return

Type

Description

success

bool

Returns true if funds are sent to treasury.

Withdraw

Parameters

Parameter

Type

Description

_gameId

uint256

Identifier of the game.

Returns

Return

Type

Description

success

bool

Returns true if withdrawal is successful.

Last updated 1 year ago

👷
📌