Package de code chaîne de structure de jeton non fongible

La structure de jeton non fongible utilise la norme étendue ERC-721 prise en charge par Blockchain App Builder.

L'échantillon NFT Art Collection Marketplace illustre l'utilisation du cadre générique de jeton non fongible, basé sur la norme étendue ERC-721 prise en charge par Blockchain App Builder. L'échantillon comprend un code chaîne pour représenter un marché pour l'achat et la vente de jetons non fongibles (NFT) associés à des œuvres d'art. Dans cet exemple, les musées peuvent créer des NFT pour des œuvres d'art dans le réseau blockchain. Les consommateurs peuvent ensuite acheter et revendre des NFT auprès des musées. Le code chaîne implémente les méthodes requises pour gérer le cycle de vie des jetons non fongibles, notamment l'initialisation des jetons, les opérations de compte, les affectations de rôle, la minage, les transferts et la gravure. Il fournit également des comptes notaires pour l'approbation des opérations de frappe, de transfert et de gravure, et soutient la conformité par des limites quotidiennes et des procédures d'audit. L'échantillon NFT Art Collection Marketplace est conçu pour le développement de codes chaîne dans TypeScript.

Le package de code chaîne de structure de jeton non fongible peut être téléchargé à partir de la console Oracle Blockchain Platform et inclut les composants suivants.
  • NFTCollectiblesWithERC721.zip, fichier d'archive contenant le code chaîne packagé pour le déploiement.
  • NFTCollectiblesWithERC721-TypeScript.yaml, un fichier de spécification que vous pouvez utiliser avec Blockchain App Builder pour échafauder le code chaîne NFTCollectiblesWithERC721.
  • NFTCollectiblesWithERC721_postman_collection.json, une collection Postman qui vous permet de tester les API dans le code chaîne.
  • README.md, guide détaillé sur l'utilisation du code chaîne.

Pour obtenir la structure de jeton fongible, dans la console des ressources numériques Oracle Blockchain Platform, cliquez sur l'onglet Ressources numériques, puis sélectionnez Structure de jeton non fongible.

Pour plus d'informations sur l'utilisation des collections Postman, reportez-vous aux rubriques suivantes dans Blockchain App Builder pour Oracle Blockchain Platform.

Fichier de spécification

Le fichier de spécification utilisé pour générer le code chaîne du marché des collections d'art inclut l'attribut events. La fonction d'événements de code chaîne prend en charge les rappels d'événements dans les codes chaîne générés afin d'activer les notifications en temps réel et de déclencher des workflows. Pour plus d'informations sur les fichiers de spécification et les paramètres utilisés dans les fichiers de spécification, reportez-vous à Fichier de spécification d'entrée pour les jetons non fongibles dans Blockchain App Builder for Oracle Blockchain Platform.

Le code chaîne du marché de la collection d'art est basé sur la norme étendue ERC-721, comme indiqué dans le fichier de spécification suivant.
#
# Copyright (c) 2026, Oracle and/or its affiliates. All rights reserved.
#
 
# This specification file is an example how to build any whole non-fungible token application.
# For a whole non-fungible token application, art collection marketplace has been used as an example.
# Art collection marketplace is a digital marketplace that uses NFTs to enable the buying, selling, and showcasing of unique art pieces, providing secure ownership, provenance tracking, and exclusive rights for artists and collectors.
 
assets:
    - name: ArtCollection #Asset name
      type: token #Asset type
      symbol: ART         # Token symbol
      standard: erc721+   # Token standard
      events: true # Supports event code generation for non-GET methods
 
      anatomy:
          type: nonfungible # Token type
          unit: whole  #Token unit
       
      behavior:
        - indivisible
        - singleton                               
        - mintable:                  
            max_mint_quantity: 20000
        - transferable               
        - lockable
        - roles:
            minter_role_name: minter
       
      properties:  # Custom asset attributes for non-fungible token
           
          - name: Price # Custom asset attribute to set the price of a non-fungible token in the marketplace
            type: float
           
          - name: On_Sale_Flag # Custom asset attribute to maintain non-fungible token selling status in the marketplace
            type: boolean
       
      metadata: # To maintain the metadata on-chain, this tag will be used. Users won't be able to update the metadata attribute values after an NFT is minted.
           
          - name: Painting_Name # Custom asset attribute to represent the title given to a piece of artwork.
            type: string
           
          - name: Description # Custom asset attribute to represent a detailed explanation or interpretation of the painting's concept, style, or message.
            type: string
           
          - name: Painter_Name # Custom asset attribute to represent the name of the artist who created the painting.
            type: string
 
customMethods:
    - executeQuery
    - "post(token_id: string, selling_price: number)" # Post the non-fungible token for selling in the marketplace.
    - "buy(from_org_id: string, from_user_id: string, to_org_id: string, to_user_id: string, nonfungible_token_id: string, amount_paid: number)"  # Buy the non-fungible token after paying the amount using any payment gateways.

Détails de l'approbateur dans les méthodes de code chaîne

Oracle Blockchain Platform Digital Assets Edition ajoute un paramètre d'approbation à la charge utile de la demande pour toutes les méthodes set. La valeur du paramètre est endorsers ou sameOrgEndorser. Si le paramètre sameOrgEndorser a la valeur True, les approbations de transaction doivent provenir de la même organisation que le demandeur. Le paramètre endorsers indique la liste des homologues qui doivent approuver la transaction. Pour plus d'informations, reportez-vous à Prise en charge des approbations dans les collections Postman dans Blockchain App Builder pour Oracle Blockchain Platform. Le tableau suivant indique le type d'approbateur de chaque méthode.

Méthode Type d'approbateur
activateAccount endorsers
addTokenAdmin sameOrgEndorser
addRole endorsers
addTokenSysRole endorsers
balanceOf endorsers
buy endorsers
createAccount endorsers
createArtCollectionToken sameOrgEndorser
deleteAccount endorsers
getAccountByUser endorsers
getAccountHistory endorsers
getAccountsByRole endorsers
getAccountsByTokenSysRole endorsers
getAccountStatus endorsers
getAccountStatusHistory endorsers
getAccountTransactionHistory endorsers
getAccountTransactionHistoryWithFilters endorsers
getAllAccounts endorsers
getAllLockedNFTs endorsers
getAllTokenAdmins endorsers
getAllTokens endorsers
getAllTokensByUser endorsers
getLockedNFTsByOrg endorsers
getTokenById endorsers
getTokenHistory endorsers
getTransactionById endorsers
getUserByAccountId endorsers
getUsersByRole endorsers
getUsersByTokenSysRole endorsers
init endorsers
isInRole endorsers
isInTokenSysRole endorsers
isNFTLocked endorsers
isTokenAdmin endorsers
lockNFT sameOrgEndorser
name endorsers
ownerOf endorsers
post endorsers
removeRole endorsers
removeTokenAdmin sameOrgEndorser
removeTokenSysRole endorsers
safeTransferFrom endorsers
suspendAccount endorsers
symbol endorsers
tokenURI endorsers
totalNetSupply endorsers
totalSupply endorsers
transferFrom endorsers
transferTokenSysRole endorsers
updateArtCollectionToken sameOrgEndorser