Stablecoin 應用程式工作流程
穩定幣是一種有趣的代幣,代表具有內建合規性執行的數位貨幣。
穩定案例會強制瞭解您的客戶 (KYC) 和反洗錢 (AML) 政策、移轉限制及多方核准。系統支援直接調動與保留型調動,在調動發生前需要核准。
- 需有次要、燃燒器及公證角色。
- 帳戶政策會強制執行 KYC/AML 與限制旗標。
- 核准原則會定義保留型移轉的臨界值與循序核准者需求。
- 移轉限制是選擇性的,可以隨時設定。
- 核准原則比對可用來判斷使用
holdTokensAPI 時是否需要核准。 - 交易歷史記錄 API 支援稽核和監控。
| 動作項目 | 角色 | 描述 |
|---|---|---|
| Administrator | 權杖管理 | 初始化系統、指派角色、建立帳戶及核准政策。 |
| Minter | Minter | 要求微調權杖。 |
| 薄荷核准者 | 公證人 | 核准或拒絕 Mint 要求。 |
| 燒錄核准者 | 公證人 | 核准或拒絕燒錄要求。 |
| 傳送者 | 無 | 起始直接或保留型移轉。 |
| 核准者 | 無 | 以已定義的順序核准異動。核准者是在核准原則中指定為核准者的一般帳戶持有人 (而非指定角色)。 |
| 公證人 | 公證人 | 完成或核發核准後以保留為基準的移轉。 |
| 接收者 | 無 | 接收移轉的權杖。 |
| 稽核員 | 權杖稽核者 | 查詢交易歷史記錄以符合規範和報告目的。 |
- 使用
initializeStablecoinTokenAPI 起始 stablecoin。 - 使用
registerOrgAPI 註冊組織。 - 使用
createAccount和associateTokenToAccountAPI 建立帳戶。 - 使用
addRoleAPI 將 minter、burner、公證角色指定給適當的帳號。 - 使用
createStablecoinAccountPolicyCheckAPI 建立帳戶原則。 - 使用
createApprovalPolicyCheckAPI 建立核准原則。
- 薄荷穩定幣。
- 礦工使用
requestMintAPI 送出薄荷穩定幣的要求。 - mint 核准者使用
approveMintAPI 來複查並核准要求以提示穩定幣。此外,提示核准者也可以使用rejectMintAPI 來拒絕要求。
- 礦工使用
- 不需核准即可轉移穩定幣。
- 寄件者使用
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 時相符之核准原則中定義的核准規則。驗證會依下列步驟,依序為每位核准者執行。
- 驗證核准者識別:檢查目前使用者是否存在於核准原則的必要核准者清單中。
- 驗證順序:檢查目前核准者是否為目前順序位置的預期核准者。
- 檢查重複核准:防止相同的核准者多次核准相同的異動。
- 帳戶政策驗證:再次執行帳戶政策驗證,以確保傳送方與接收方帳戶狀態在建立保留後未變更。
- 記錄核准:記錄含時間戳記的核准,增加核准計數,並檢查是否完成所有必要的核准。