TypeScript 令牌转换方法
Blockchain App Builder 自动生成可用于转换使用令牌分类框架标准的可替换令牌的方法。
标记转换方法包括 exchange pool 的概念。汇兑池帐户由其他令牌帐户提供资金。铸造代币时,您可以指定将一定百分比的铸造代币传输到交换池帐户。
标记转换过程
转换标记的典型流遵循以下步骤:- 调用
initializeExchangePoolUser
方法以初始化交换池用户。 - 调用
createExchangePoolAccounts
方法以创建交换池帐户。为要从其转换或转换为的每种类型的可替换令牌创建交换池帐户。 - 调用
addConversionRate
方法以设置要转换的每对令牌的转换率。 - 通过以下方式之一为汇兑池令牌账户提供资金:
- 使用标准传输方法将令牌传输到交换池令牌账户。
- 在铸造标记时调用
mintWithFundingExchangePoolToken
方法,该方法可以将一定百分比的铸造标记转移到交换池帐户。
- 调用
tokenConversion
方法以在两个可替换标记之间转换。单个用户可以在两个令牌帐户之间转换令牌,或者一对用户可以直接将令牌从一个帐户转换为另一个帐户。 - 汇兑池用户可以查看汇兑池账户余额和账户事务处理。
- 调用
getAccount
方法以查看每个交换池令牌帐户的余额。 - 调用
getAccountTransactionHistory
和getAccountTransactionHistoryWithFilters
方法以查看每个交换池令牌帐户的帐户事务。
- 调用
自动生成的令牌转换方法
Blockchain App Builder 自动生成在不同类型的可替换代币之间转换的方法。控制器方法必须具有可调用的 @Validator(...params)
装饰器。
-
initializeExchangePoolUser
- 此方法初始化交换池用户,这是一次性活动。此方法只能由链代码的
Token Admin
调用。 -
createExchangePoolAccounts
- 此方法为给定的一组令牌 ID 创建交换池令牌帐户。此方法只能由链代码的
Token Admin
调用。 -
addConversionRate
- 此方法为一对令牌添加转换率。令牌转换率最多可以指定八个小数位。此方法只能由链代码的
Token Admin
调用。 -
getConversionRate
- 此方法获取一对令牌的当前转换率。链代码的
Token Admin
、任何Org Admin
以及任何令牌帐户所有者都可以调用此方法。 -
updateConversionRate
- 此方法将更新一对令牌的当前转换率。令牌转换率最多可以指定八个小数位。此方法只能由链代码的
Token Admin
调用。 -
mintWithFundingExchangePool
- 此方法根据指定的令牌 ID 和数量在调用者的账户中生成令牌。从铸币数量中获得的代币百分比随后会转移到交换池代币账户。
-
tokenConversion
- 此方法将令牌从调用者的帐户转换为由
to_token_id
、to_org_id
和to_user_id
值指定的帐户。链代码的Token Admin
和任何令牌帐户所有者都可以调用此方法。交换池用户无法调用此方法。 -
getConversionHistory
- 此方法返回指定令牌帐户的令牌转换历史记录。此方法可由链代码的
Token Admin
、指定组织的Org Admin
或令牌帐户所有者调用。 -
getConversionRateHistory
- 此方法返回一对令牌的令牌转换率历史记录。链代码的
Token Admin
、任何Org Admin
以及任何令牌帐户所有者都可以调用此方法。 -
getExchangePoolUser
- 此方法返回交换池用户的
org_id
和user_id
值。此方法只能由链代码的Token Admin
调用。
-
initializeExchangePoolUser
- 此方法初始化交换池用户,这是一次性活动。此方法只能由链代码的
Token Admin
调用。 -
createExchangePoolAccounts
- 此方法为给定的一组令牌 ID 创建交换池令牌帐户。此方法只能由链代码的
Token Admin
调用。 -
addConversionRate
- 此方法为一对令牌添加转换率。令牌转换率最多可以指定八个小数位。此方法只能由链代码的
Token Admin
调用。 -
getConversionRate
- 此方法获取一对令牌的当前转换率。此方法可由指定组织的
Token Admin
或Token Auditor
、Org Admin
或Org Auditor
以及任何令牌帐户所有者调用。 -
updateConversionRate
- 此方法将更新一对令牌的当前转换率。令牌转换率最多可以指定八个小数位。此方法只能由链代码的
Token Admin
调用。 -
mintWithFundingExchangePool
- 此方法根据指定的令牌 ID 和数量在调用者的账户中生成令牌。从铸币数量中获得的代币百分比随后会转移到交换池代币账户。
-
tokenConversion
- 此方法将令牌从调用者的帐户转换为由
to_token_id
、to_org_id
和to_user_id
值指定的帐户。链代码的Token Admin
和任何令牌帐户所有者都可以调用此方法。交换池用户无法调用此方法。 -
getConversionHistory
- 此方法返回指定令牌帐户的令牌转换历史记录。此方法可由指定组织的
Token Admin
或Token Auditor
、Org Admin
或Org Auditor
或令牌帐户所有者调用。 -
getConversionRateHistory
- 此方法返回一对令牌的令牌转换率历史记录。此方法可由指定组织的
Token Admin
或Token Auditor
、Org Admin
或Org Auditor
以及任何令牌帐户所有者调用。 -
getExchangePoolUser
- 此方法返回交换池用户的
org_id
和user_id
值。此方法只能由链代码的Token Admin
或Token Auditor
调用。
标记转换 SDK 方法
-
initializeExchangePoolUser
- 此方法初始化交换池用户,这是一次性活动。此方法只能由链代码的
Token Admin
调用。 -
createExchangePoolAccounts
- 此方法为给定的一组令牌 ID 创建交换池令牌帐户。此方法只能由链代码的
Token Admin
调用。 -
addConversionToken
- 此方法将添加具有指定标记的新转换率的标记。令牌转换率最多可以指定八个小数位。此方法只能由链代码的
Token Admin
调用。 -
get
- 此方法获取一对令牌的当前转换率。链代码的
Token Admin
和任何令牌帐户所有者都可以调用此方法。 -
updateTokenConversionRate
- 此方法将更新一对令牌的当前转换率。令牌转换率最多可以指定八个小数位。此方法只能由链代码的
Token Admin
调用。 -
mintWithFundingExchangePool
- 此方法根据指定的令牌 ID 和数量在调用者的账户中生成令牌。从铸币数量中获得的代币百分比随后会转移到交换池代币账户。
-
tokenConversion
- 此方法将令牌从调用者的帐户转换为由
to_token_id
、to_org_id
和to_user_id
值指定的帐户。链代码的Token Admin
和任何令牌帐户所有者都可以调用此方法。交换池用户无法调用此方法。 -
getTokenConversionHistory
- 此方法返回指定令牌帐户的令牌转换历史记录。此方法可由链代码的
Token Admin
、指定组织的Org Admin
以及令牌帐户所有者调用。 -
history
- 此方法返回一对令牌的令牌转换率历史记录。链代码的
Token Admin
、任何Org Admin
以及任何令牌帐户所有者都可以调用此方法。 -
getExchangePoolUser
- 此方法返回交换池用户的
OrgId
和UserId
值。此方法只能由链代码的Token Admin
调用。