Fungible Token Frameworkチェーンコード・パッケージ

確定可能なトークン・フレームワークでは、ブロックチェーン・アプリケーション・ビルダーでサポートされている拡張トークン・タクソノミ・フレームワーク標準が使用されます。

デポジット・トークンのサンプルは、ブロックチェーン・アプリケーション・ビルダーでサポートされている拡張トークン・タクソノミ・フレームワーク標準に基づく、真菌可能トークン汎用フレームワークの使用を示しています。このサンプルは、預金トークンが金融機関に保有されている法定通貨を表し、規制金融機関によって発行および管理されるシステムを表しています。サンプル仕様ファイルは、預金トークンの初期化、アカウントの管理、ロールの割当て、およびトークンのミント、転送、書き込みなどの操作の実行を行うためのメソッドを生成します。また、ミントおよび振替を承認するための公証勘定が提供され、アカウント・レベルの日次限度への準拠が強制され、監査手順が有効になります。

真菌可能なトークン・フレームワークのチェーンコード・パッケージは、Oracle Blockchain Platformコンソールからダウンロードでき、次のコンポーネントが含まれています。
  • DepositToken.zip。デプロイメント用のパッケージ・チェーンコードを含むアーカイブ・ファイル。
  • DepositToken.yaml。ブロックチェーン・アプリケーション・ビルダーでDepositTokenチェーンコードをスキャフォールドするために使用できる仕様ファイルです。
  • DepositToken_postman_collection.json: チェーンコード内のAPIをテストできるPostmanコレクション。
  • README.mdは、チェーンコードを使用するためのステップバイステップ・ガイドです。

真菌性トークン・フレームワークを取得するには、Oracle Blockchain Platformデジタル・アセット・コンソールで「デジタル・アセット」タブをクリックし、「Fungible Token Framework」を選択します。

Postmanコレクションの使用の詳細については、次のトピックを参照してください。

仕様ファイル

保証金トークン・チェーンコードの生成に使用される仕様ファイルには、events属性が含まれます。チェーンコード・イベント関数は、生成されたチェーンコードのイベント・コールバックをサポートし、リアルタイム通知を有効にしてワークフローをトリガーします。仕様ファイルおよび仕様ファイルで使用されるパラメータの詳細は、Oracle Blockchain Platformの使用代替可能トークンの入力仕様ファイルを参照してください。

保証金トークン・チェーンコードは、拡張トークン・タクソノミ・フレームワーク標準に基づいており、アプリケーション・シナリオをサポートするためのカスタマイズがあります。これらのカスタマイズを有効にするには、仕様ファイルの次の動作セクションが必要です。
behavior: # Token behaviors
    - divisible:
          decimal: 2
    - mintable:
          mint_approval_required: true
    - transferable
    - burnable
    - holdable
    - roles:
          minter_role_name: minter
          notary_role_name: notary
          mint_approver_role_name: notary
次のコードは、預金トークン・サンプルの仕様ファイルです。
#
# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
#
 
assets:
 
# This specification file is an example how to build any fungible token application.
# For a fungible token application, deposit token system has been used as an example.
# Deposit token is a digital representation of deposits held at commercial banks, enabling transactions on blockchain networks while maintaining the value and stability of traditional bank deposits.
 
 
    - name: Deposit # Asset name
      type: token  # Asset type
      standard: ttf+   # Token standard
      events: true # Supports event code generation for non-GET methods
 
      anatomy:
          type: fungible # Token type
          unit: fractional # Token unit
 
      behavior: # Token behaviors
          - divisible:
                decimal: 2 
          - mintable:
                mint_approval_required: true
          - transferable 
          - holdable
          - burnable
          - roles:
                minter_role_name: minter
                notary_role_name: notary
                mint_approver_role_name: notary
 
 
      properties:
          - name: Token_Name # Custom attribute to represent the deposit token name.
            type: string
 
          - name: Token_to_Currency_Ratio # Custom attribute to specify the token to currency ratio. This attribute is helpful for exchanging the tokens with fiat currency.
            type: number
 
customMethods:

チェーンコード・メソッドの裏書者詳細

Oracle Blockchain Platform Digital Assets Editionは、すべてのsetterメソッドのリクエスト・ペイロードにエンドースメント・パラメータを追加します。パラメータの値は、endorsersまたはsameOrgEndorserです。sameOrgEndorserパラメータがtrueの場合、トランザクション推薦はリクエスタと同じ組織からのものである必要があります。endorsersパラメータは、トランザクションを承認する必要があるピアのリストを指定します。詳細は、Postmanコレクションでのエンドースメントのサポートを参照してください。次の表に、各メソッドのエンドサ・タイプを示します。

Method 裏書者タイプ
activateAccount endorsers
addTokenAdmin sameOrgEndorser
addTokenAuditor sameOrgEndorser
addOrgAdmin sameOrgEndorser
addOrgAuditor sameOrgEndorser
addRole endorsers
approveMint sameOrgEndorser
executeHoldTokens endorsers
associateTokenToAccount endorsers
createAccount endorsers
getAccount endorsers
getAccountBalance endorsers
getAccountsByUser endorsers
getAccountTransactionHistory endorsers
getAccountTransactionHistoryWithFiltersFromRichHistDB endorsers
getNetTokens endorsers
getOnHoldIds endorsers
getTotalMintedTokens endorsers
getUserByAccountId endorsers
getUsersByRole endorsers
holdTokens endorsers
init endorsers
initializeDepositToken sameOrgEndorser
issueTokens sameOrgEndorser
rejectMint sameOrgEndorser
releaseHoldTokens endorsers
removeTokenAdmin sameOrgEndorser
removeTokenAuditor sameOrgEndorser
removeOrgAdmin sameOrgEndorser
removeOrgAuditor sameOrgEndorser
removeRole endorsers
requestMint sameOrgEndorser
burnTokens sameOrgEndorser
setMaxDailyAmount endorsers
setMaxDailyTransactionCount endorsers
suspendAccount endorsers
transferTokens endorsers
initializeExchangePoolUser sameOrgEndorser
createExchangePoolAccounts sameOrgEndorser
addConversionRate sameOrgEndorser
updateConversionRate sameOrgEndorser
mintWithFundingExchangePool sameOrgEndorser
tokenConversion endorsers
getConversionRate endorsers
getConversionHistory endorsers
getConversionRateHistory endorsers
getExchangePoolUser endorsers
getAccountOnHoldBalance endorsers
getAccountStatus endorsers
getAccountsByRole endorsers