Fungible Token Framework Chaincode 程序包

可替换令牌框架使用区块链应用程序构建器支持的扩展令牌分类框架标准。

存款令牌示例说明了可替换令牌通用框架的使用,该框架基于区块链应用程序构建器支持的扩展令牌分类框架标准。该样本是一个系统,其中存款代币代表金融机构持有的法定货币,由受监管的金融机构发行和管理。示例规范文件生成用于初始化存款令牌、管理帐户、分配角色以及执行铸造、传输和刻录令牌等操作的方法。它还提供公证账户,用于批准铸造和转账,强制遵守账户级别的每日限制,并启用审计程序。

可替代的令牌框架链代码包可从 Oracle Blockchain Platform 控制台下载,并包括以下组件。
  • DepositToken.zip,包含要部署的打包链代码的归档文件。
  • DepositToken.yaml,可与区块链应用程序构建器一起使用的规范文件,用于支持 DepositToken 链代码。
  • DepositToken_postman_collection.json,一个 Postman 集合,允许您测试链代码中的 API。
  • README.md,用于处理链代码的分步指南。

要获取可替换令牌框架,请在 Oracle Blockchain Platform Digital Assets 控制台中单击 Digital Assets 选项卡,然后选择 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:

Chaincode 方法中的背书者详细信息

Oracle Blockchain Platform Digital Assets Edition 会为所有 setter 方法的请求有效负载添加一个背书参数。该参数的值为 endorserssameOrgEndorser。如果 sameOrgEndorser 参数为 true,则事务处理背书必须来自与请求者相同的组织。endorsers 参数指定必须对事务处理背书的对等节点列表。有关更多信息,请参见 Endorsement Support in Postman Collections 。下表显示了每种方法的背书者类型。

方法 背书者类型
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