Flux de travail d'imputation de jeton de dépôt

Un jeton de dépôt est un jeton fongible qui représente un dépôt bancaire.

Le scénario de jeton de dépôt prend en charge l'émission et la distribution de jetons avec un minimum de frais généraux de gouvernance. Les jetons sont frappés par le créateur, puis émis aux utilisateurs par l'émetteur. Le créateur utilise un transfert basé sur un blocage pour envoyer des jetons à l'émetteur, ce qui nécessite l'approbation de l'approbateur. L'émetteur peut distribuer des jetons directement aux utilisateurs sans qu'aucune autre approbation ne soit requise. Les utilisateurs n'ont pas besoin d'approbations pour graver leurs propres jetons.

  • Les rôles d'intervenant et de notaire sont requis.
  • Le rôle de brûleur n'est pas requis. Les utilisateurs peuvent graver leurs propres jetons à l'aide de l'API burnTokens.
  • L'émetteur utilise la méthode transferTokens pour transférer directement des jetons à un utilisateur.
  • Le seul transfert basé sur le blocage est entre le créateur et l'émetteur.
Le tableau suivant résume les acteurs de ce scénario.
acteur Rôle Description
Administrateur Administrateur de jetons Initialise le système, affecte les rôles de serveur et de notaire.
Créateur Minter Demande la frappe et lance le transfert basé sur le blocage à l'émetteur.
Approbateur Notaire Approuve les demandes de mint et termine les transferts en attente.
Émetteur aucune Reçoit les jetons du créateur et les distribue directement aux utilisateurs.
Utilisateur aucune Reçoit des jetons directement de l'émetteur. Les utilisateurs peuvent graver leurs jetons sans approbation requise.
L'administrateur effectue les étapes suivantes pour initialiser le système.
  1. Initialisez le système de jeton de dépôt à l'aide de l'API initializeDepositToken.
  2. Enregistrez les organisations à l'aide de l'API registerOrg.
  3. Créez des comptes à l'aide de l'API createAccount.
  4. Associez le jeton aux comptes à l'aide de l'API associateTokenToAccount.
  5. Affectez le rôle de créateur et le rôle de notaire à l'approbateur à l'aide de l'API addRole.
Une fois le système initialisé, un flux de traitement typique suit ces étapes de base.
  1. Jetons de dépôt de menthe.
    1. Le créateur du jeton utilise l'API requestMint pour soumettre une demande d'extraction de jetons de dépôt.
    2. L'approbateur utilise l'API approveMint pour vérifier et approuver la demande d'extraction des jetons de dépôt. Les jetons de dépôt sont crédités sur le compte du créateur. L'approbateur peut également utiliser l'API rejectMint pour refuser la demande.
  2. Transférer des jetons de dépôt à l'émetteur.
    1. Le créateur utilise l'API holdTokens pour demander le transfert des jetons à l'émetteur.
    2. L'approbateur utilise l'API executeHoldTokens pour valider et approuver la demande de transfert. Les jetons de dépôt sont transférés sur le compte de l'émetteur. L'approbateur peut également utiliser l'API releaseHold pour rejeter le transfert.
  3. Émettre des jetons aux utilisateurs.
    • L'émetteur utilise l'API transferTokens pour un utilisateur. Les jetons de dépôt sont crédités sur le compte de l'utilisateur.
  4. Brûlez des jetons.
    • L'utilisateur peut utiliser l'API burnTokens pour échanger ses jetons de dépôt.
  5. Vérifier le solde du jeton.
    • Les utilisateurs peuvent utiliser l'API getAccountBalance pour obtenir le nombre total de jetons de dépôt qu'ils détiennent.