Fungible Token Framework Chaincode 程序包
可替换令牌框架使用区块链应用程序构建器支持的扩展令牌分类框架标准。
存款令牌示例说明了可替换令牌通用框架的使用,该框架基于区块链应用程序构建器支持的扩展令牌分类框架标准。该样本是一个系统,其中存款代币代表金融机构持有的法定货币,由受监管的金融机构发行和管理。示例规范文件生成用于初始化存款令牌、管理帐户、分配角色以及执行铸造、传输和刻录令牌等操作的方法。它还提供公证账户,用于批准铸造和转账,强制遵守账户级别的每日限制,并启用审计程序。
DepositToken.zip
,包含要部署的打包链代码的归档文件。DepositToken.yaml
,可与区块链应用程序构建器一起使用的规范文件,用于支持DepositToken
链代码。DepositToken_postman_collection.json
,一个 Postman 集合,允许您测试链代码中的 API。README.md
,用于处理链代码的分步指南。
要获取可替换令牌框架,请在 Oracle Blockchain Platform Digital Assets 控制台中单击 Digital Assets 选项卡,然后选择 Fungible Token Framework 。
规范文件
用于生成保证金令牌链代码的规范文件包括 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 方法的请求有效负载添加一个背书参数。该参数的值为 endorsers
或 sameOrgEndorser
。如果 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 |