Stablecoin 应用工作流
稳定币是一种可替代的代币,代表具有内置合规执行的数字货币。
稳定币方案强制您了解客户 (KYC) 和反洗钱 (AML) 策略、转移限制和多方审批。系统支持直接调动和基于暂挂的调动,这些调动在调动发生前需要审批。
- 矿工,燃烧器和公证角色是必需的。
- 账户策略强制执行 KYC/AML 和限制标志。
- 审批策略定义基于暂挂的转移的阈值和顺序审批人要求。
- 转移限制是可选的,可以随时配置。
- 审批策略匹配用于确定在使用
holdTokensAPI 时是否需要审批。 - 事务处理历史记录 API 支持审计和监视。
| 操作者 | 角色 | 说明 |
|---|---|---|
| Administrator | 令牌管理 | 初始化系统、分配角色、创建帐户和审批策略。 |
| 矿工 | 矿工 | 请求铸币。 |
| Mint 审批人 | 公证人 | 批准或拒绝 mint 请求。 |
| 消耗审批人 | 公证人 | 批准或拒绝刻录请求。 |
| 发送方 | 无 | 启动直接转移或基于暂挂的转移。 |
| 审批者 | 无 | 按定义的顺序审批事务处理。审批人是在审批策略中指定为审批人的常规账户持有人(而不是由分配的角色指定)。 |
| 公证人 | 公证人 | 在批准后完成或释放基于暂挂的转移。 |
| 接收方 | 无 | 接收转移的令牌。 |
| 审计员 | 令牌审计者 | 查询事务处理历史记录以进行合规性和报告。 |
- 使用
initializeStablecoinTokenAPI 初始化稳定币。 - 使用
registerOrgAPI 注册组织。 - 使用
createAccount和associateTokenToAccountAPI 创建账户。 - 使用
addRoleAPI 将 minter、Burner 和 Notary 角色分配给相应的账户。 - 使用
createStablecoinAccountPolicyCheckAPI 创建账户策略。 - 使用
createApprovalPolicyCheckAPI 创建审批策略。
- Mint 稳定币
- minter 使用
requestMintAPI 提交 mint 稳定币的请求。 - mint 批准者使用
approveMintAPI 来审核和批准 mint 稳定币的请求。或者,Mint 审批者可以使用rejectMintAPI 拒绝请求。
- minter 使用
- 无需审批即可传输稳定币。
- 发件人使用
transferTokensAPI 向用户发送稳定币。
- 发件人使用
- 通过审批转移稳定币。
- 发件人使用
holdTokensAPI 请求转移令牌。 - 如果需要,审批者使用
approveTransactionAPI 来批准传输,如审批策略所指定。 - 公证人使用
executeHoldTokensAPI 批准传输请求。或者,公证人可以使用releaseHoldAPI 拒绝传输。
- 发件人使用
- 验证令牌余额。
- 用户可以使用
getAccountBalanceAPI 获取他们持有的稳定币数量。
- 用户可以使用
- 烧毁代币。
- 用户可以使用
requestBurnAPI 提交请求以刻录其稳定币。 - 刻录审批人使用
approveBurnAPI 来审核和批准请求。或者,刻录审批人可以使用rejectBurnAPI 拒绝请求。
- 用户可以使用
- 审核事务处理历史记录。
- 审计人员和用户可以使用
getAccountTransactionHistory和getAccountTransactionHistoryWithFiltersAPI 获取用于审计和报告的事务处理历史记录。
- 审计人员和用户可以使用
账户策略验证
账户策略对于转移或持有稳定币的所有账户都是必需的。账户策略在以下 API 中进行验证:transferTokens、holdTokens、approveTransaction、executeHoldTokens。
每个帐户策略包括三个参数:KYC、AML 和 restrictionFlag。在传送任何令牌之前,将对发送者和接收者进行验证。
-
KYC(了解您的客户) - 仅当发送方和接收方账户的 KYC 值均为
true时,才允许转移。 -
AML(反洗钱) - 仅当发送方和接收方账户的 AML 值均为
true时,才允许转移。 -
restrictionFlag - 如果为发送者和接收者帐户将限制标志设置为
false,验证将通过。如果为发送方或接收方账户、holdTokens、approveTransaction和executeHoldTokensAPI 将限制标志设置为true,则仅当存在最低可用审批策略并且金额在策略限制范围内时,才允许转移。否则,传输将被阻止。对于transferTokens方法,仅当金额位于传输限制的下限和上限时才允许传输。
审批策略匹配
调用 holdTokens API 后触发审批策略匹配。审批策略定义事务处理阈值、所需的审批数和审批人详细信息,并设置多级别审批的顺序。审批策略对于暂挂操作是必需的。如果没有审批策略,用户将无法在应用限制时持有或转移令牌。
审批策略匹配确定公证人是否需要审批才能完成暂挂转移。如果需要审批,审批策略匹配将确定需要哪些审批人以及审批顺序。
如果没有为发送方和接收方设置限制标志,则将暂挂金额与所有配置的审批策略阈值进行比较,以查找匹配项。如果找到匹配项,则使用相应的审批人和序列。如果未找到匹配项,则不需要审批,事务处理将直接转至公证人。
如果为发送方或接收方设置了限制标志,则使用可用的最低审批策略。如果没有可用的策略,将阻止事务处理。
- 必需的批准人
- 审批序号
- 所需审批数
事务处理审批
在调用 approveTransaction API 后触发事务处理审批验证。验证将强制执行在调用 holdTokens API 期间匹配的审批策略中定义的所有审批规则。根据以下步骤按顺序为每个审批人运行验证。
- 验证审批人标识:检查当前用户是否存在于审批策略的必需审批人列表中。
- 验证序号顺序:检查当前审批人是否是当前序号位置的预期审批人。
- 检查重复审批:阻止同一审批人多次审批同一事务处理。
- 账户策略验证:再次运行账户策略验证,以确保自创建暂挂以来发送者和接收者账户状态未更改。
- 记录审批:记录具有时间戳的审批,增加审批计数,并检查是否已完成所有必需的审批。