Modèle de transactions confidentielles
La version améliorée de Blockchain App Builder inclut un attribut de modèle qui génère des méthodes supplémentaires pour le mode confidentiel.
Si vous incluez le paramètre confidential: true dans le fichier de spécification pour les jetons qui utilisent la norme étendue de structure de taxonomie de jeton, Blockchain App Builder génère un code chaîne à utiliser en mode confidentiel, y compris les versions modifiées suivantes de la norme générées automatiquement et des méthodes SDK (TypeScript uniquement).
Pour plus d'informations sur les transactions confidentielles et le scénario de devise numérique de la banque centrale de gros confidentielle, voir Devise numérique de la banque centrale de gros avec transactions confidentielles.
Le tableau suivant récapitule les méthodes qui sont générées lorsque vous soutenez un projet Token Taxonomy Framework en mode confidentiel.
| Catégorie de méthode | Méthode générée automatiquement | Méthode SDK | Description |
|---|---|---|---|
| Gestion des contrôles d'accès | isTokenAdmin |
isUserTokenAdmin |
Renvoie true si l'appelant est un administrateur |
addTokenAdmin |
addTokenAdmin |
Ajoute un administrateur | |
removeTokenAdmin |
removeTokenAdmin |
Supprime un administrateur | |
|
getAllTokenAdmins |
Renvoie tous les administrateurs | |
addOrgAdmin |
addOrgAdmin |
Ajoute un administrateur d'organisation | |
removeOrgAdmin |
removeOrgAdmin |
Supprime un administrateur d'organisation | |
|
getAllOrgAdmins |
Renvoie tous les administrateurs de l'organisation | |
addTokenAuditor |
addTokenAuditor |
Ajoute un auditeur | |
removeTokenAuditor |
removeTokenAuditor |
Supprime un auditeur | |
|
getAllTokenAuditors |
Renvoie tous les auditeurs | |
addOrgAuditor |
addOrgAuditor |
Ajoute un auditeur d'organisation | |
removeOrgAuditor |
removeOrgAuditor |
Supprime un auditeur d'organisation | |
|
getAllOrgAuditors |
Renvoie tous les auditeurs d'organisation | |
| Gestion des jetons | |
getAllTokens |
Renvoie toutes les ressources de jeton |
|
getDecimals |
Renvoie le nombre de décimales pour un jeton spécifié | |
|
history |
Renvoie l'historique d'un jeton | |
|
getTokensByName |
Renvoie toutes les ressources de jeton pour un nom de jeton spécifié | |
| Gestion de comptes | createAccount |
createAccount |
Crée un compte utilisateur |
associateTokenToAccount |
associateToken |
Associe un compte à un jeton | |
getAllAccounts |
getAllAccounts |
Renvoie les détails de tous les comptes utilisateur | |
getAllOrgAccounts |
getAllOrgAccounts |
Renvoie les détails de tous les comptes utilisateur d'une organisation | |
getAccountsByUser |
getAccountsByUser |
Renvoie tous les ID de compte d'un utilisateur | |
getUserByAccountId |
getUserByAccountId |
Renvoie les détails utilisateur pour un ID de compte | |
getAccount |
getAccountWithStatus |
Renvoie les détails d'un compte de jetons | |
getAccountDetailsByCustomAccountId |
getAccountDetailsByCustomAccountId |
Renvoie les détails du compte pour un ID de compte personnalisé | |
getAccountBalance |
getAccountBalance |
Renvoie le solde actuel d'un compte | |
getAccountStatus |
getAccountStatus |
Retourne le statut d'un compte | |
getAccountStatusHistory |
history |
Renvoie l'historique d'un compte de jeton | |
activateAccount |
activateAccount |
Active un compte de jeton | |
suspendAccount |
suspendAccount |
Suspend un compte de jeton | |
deleteAccount |
deleteAccount |
Supprime un compte de jeton | |
setMaxDailyAmount |
setMaxDailyAmount |
Définit la quantité maximale de jetons qu'un utilisateur peut transférer quotidiennement | |
setMaxDailyTransactionCount |
setMaxDailyTransactionCount |
Définit le nombre maximum de transactions qu'un utilisateur peut effectuer quotidiennement | |
getMaxDailyAmount |
getMaxDailyAmount |
Renvoie la quantité maximale de jetons qu'un utilisateur peut transférer quotidiennement | |
getMaxDailyTransactionCount |
getMaxDailyTransactionCount |
Renvoie le nombre maximum de transactions qu'un utilisateur peut effectuer quotidiennement | |
getAccountOnHoldBalance |
getAccountOnHoldBalance |
Renvoie le solde de retenue actuel pour un compte | |
| Gestion des rôles | addRole |
addRoleMember |
Ajoute un rôle à un utilisateur. |
removeRole |
removeRoleMember |
Supprime un rôle d'un utilisateur | |
getAccountsByRole |
getAccountsByRole |
Renvoie les ID de compte pour un rôle spécifié | |
getOrgAccountsByRole |
getOrgAccountsByRole |
Renvoie les ID de compte pour un rôle spécifié dans une organisation | |
getUsersByRole |
getUsersByRole |
Renvoie la liste des utilisateurs pour un rôle donné | |
getOrgUsersByRole |
getOrgUsersByRole |
Renvoie une liste d'utilisateurs pour un rôle spécifié dans une organisation | |
isInRole |
isInRole |
Indique si un utilisateur a un rôle spécifié | |
| Gestion des transactions | getAccountTransactionHistory |
getAccountTransactionHistory |
Renvoie l'historique des transactions pour un compte |
getAccountTransactionHistoryWithFilters |
getAccountTransactionHistoryWithFilters |
Renvoie l'historique filtré des transactions pour un compte | |
getAccountTransactionHistoryWithFiltersFromRichHistDB |
getAccountTrxHistoryWithFiltersFromRichHistDB |
Renvoie l'historique filtré des transactions à partir de la base de données d'historique enrichi pour un compte | |
getOrgAccountsTransactionHistoryWithFiltersFromRichHistDB |
getOrgAccountsTrxHistoryWithFiltersFromRichHistDB |
Renvoie l'historique filtré des transactions à partir de la base de données d'historique enrichi pour une organisation | |
getAllAccountsTransactionHistoryWithFiltersFromRichHistDB |
getAllAccountsTrxHistoryWithFiltersFromRichHistDB |
Renvoie l'historique filtré des transactions de la base de données d'historique enrichi pour tous les comptes | |
consolidateRunningBalanceInTransactions |
consolidateRunningBalanceInTransactions |
Met à jour les soldes des comptes en cours pour les transactions en attente | |
processSendersAndReceivers |
processSendersAndReceivers |
Met à jour les soldes des comptes lors des transferts interorganisations | |
deleteHistoricalTransactions |
deleteTransactions |
Supprime les anciennes transactions | |
getTransactionById |
getTransactionById |
Renvoie l'historique d'une immobilisation de transaction | |
| Comportement Mintable | requestMint |
|
Demandes d'émission de jetons |
approveMint |
|
Approuve une demande de menthe | |
rejectMint |
|
Rejette une demande de menthe | |
issueTokens |
issueTokens |
Jetons Mints | |
getTotalMintedTokens |
getTotalMintedTokens |
Renvoie le nombre total de jetons extraits | |
getNetTokens |
getNetTokens |
Renvoie la quantité nette des jetons disponibles | |
| Comportement transférable | transferTokens |
transferTokens |
Transfère des jetons |
| Comportement pouvant être maintenu | holdTokens |
hold |
Bloque un solde de jeton |
executeHoldTokens |
executeHold |
Termine un blocage de jeton | |
releaseHoldTokens |
releaseHold |
Libère un blocage de jeton | |
getOnHoldIds |
getOnHoldIds |
Renvoie tous les ID blocage d'un compte | |
getOnHoldDetailsWithOperationId |
getOnHoldDetailsWithOperationId |
Renvoie les détails de la transaction de blocage pour un ID opération | |
getOnHoldBalanceWithOperationId |
getOnHoldBalanceWithOperationId |
Renvoie le solde bloqué pour un ID opération | |
| Comportement brûlable | requestBurn |
|
Demandes de destruction des jetons |
approveBurn |
|
Approuve une demande de brûlure | |
rejectBurn |
|
Rejette une demande de brûlure | |
| Transferts interorganisations | executeHoldTokensSender |
executeHoldTokensSender |
Déduit les jetons du compte d'un expéditeur |
executeHoldTokensReceiver |
executeHoldTokensReceiver |
Crédite les jetons sur le compte d'un destinataire |
Méthodes TypeScript modifiées pour le code chaîne confidentiel
Si vous incluez le paramètre confidential: true dans le fichier de spécification pour les jetons qui utilisent la norme étendue Token Taxonomy Framework, Blockchain App Builder génère des versions modifiées des méthodes standard générées automatiquement ainsi que des méthodes supplémentaires.
-
isTokenAdmin - Cette méthode renvoie la valeur booléenne
truesi l'appelant de la fonction est unToken Admin, sinon elle renvoiefalse. Un élémentToken Admin,Token Auditor,Org AdminouOrg Auditorpeut appeler cette fonction sur n'importe quel autre utilisateur du réseau de chaîne de blocs. Les autres utilisateurs ne peuvent appeler cette méthode que sur leur propre compte. -
addTokenAdmin - Cette méthode ajoute un utilisateur en tant que
Token Admindu code chaîne. Cette méthode ne peut être appelée que par un élémentToken Admindu code chaîne. Etant donné que la valeuruser_idest stockée dans le grand livre public, n'utilisez pas d'informations d'identification personnelle pour la valeuruser_id. -
removeTokenAdmin - Cette méthode enlève un utilisateur en tant qu'élément
Token Admindu code chaîne. Cette méthode ne peut être appelée que par un élémentToken Admindu code chaîne. -
addOrgAdmin - Cette méthode ajoute un utilisateur en tant qu'utilisateur
Org Adminde l'organisation. Cette méthode peut uniquement être appelée par un élémentToken Admindu code chaîne ou par un élémentOrg Adminde l'organisation indiquée. Etant donné que la valeuruser_idest stockée dans le grand livre public, n'utilisez pas d'informations d'identification personnelle pour la valeuruser_id. -
removeOrgAdmin - Cette méthode supprime un utilisateur en tant qu'utilisateur
Org Adminde l'organisation. Cette méthode peut uniquement être appelée par un élémentToken Admindu code chaîne ou par un élémentOrg Adminde l'organisation indiquée. -
addTokenAuditor - Cette méthode ajoute un utilisateur en tant que
Token Auditordu code chaîne. Cette méthode ne peut être appelée que par un élémentToken Admindu code chaîne. Etant donné que la valeuruser_idest stockée dans le grand livre public, n'utilisez pas d'informations d'identification personnelle pour la valeuruser_id. -
removeTokenAuditor - Cette méthode enlève un utilisateur en tant qu'élément
Token Auditordu code chaîne. Cette méthode ne peut être appelée que par un élémentToken Admindu code chaîne. -
addOrgAuditor - Cette méthode ajoute un utilisateur en tant que
Org Auditordu code chaîne. Cette méthode ne peut être appelée que par un élémentToken AdminouOrg Admindu code chaîne. Etant donné que la valeuruser_idest stockée dans le grand livre public, n'utilisez pas d'informations d'identification personnelle pour la valeuruser_id. -
removeOrgAuditor - Cette méthode enlève un utilisateur en tant qu'élément
Org Auditordu code chaîne. Cette méthode ne peut être appelée que par un élémentToken AdminouOrg Admindu code chaîne. -
createAccount - Cette méthode crée un compte pour l'utilisateur et le jeton spécifiés. Un compte doit être créé pour tout utilisateur qui aura des jetons à tout moment. Les comptes assurent le suivi des soldes, des soldes bloqués et de l'historique des transactions. Un ID de compte est formé en concaténant le type d'immobilisation et l'ID de jeton, puis en créant un hachage SHA-256 sur une concaténation de l'ID d'organisation et de l'ID d'utilisateur. Cette méthode peut être appelée uniquement par un élément
Token Adminou par un élémentOrg Adminde l'organisation indiquée. -
associateTokenToAccount - Cette méthode associe un jeton fongible à un compte. Cette méthode peut uniquement être appelée par un élément
Token Admindu code chaîne ou par un élémentOrg Adminde l'organisation concernée. -
getAllAccounts - Cette méthode renvoie la liste de tous les comptes. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor. Cette méthode utilise des requêtes enrichies Berkeley DB SQL et ne peut être appelée qu'en cas de connexion au réseau Oracle Blockchain Platform distant. -
getAllOrgAccounts - Cette méthode renvoie la liste de tous les comptes de jetons appartenant à une organisation spécifiée. Cette méthode peut être appelée uniquement par un élément
Token AdminouToken Auditor, ou par un élémentOrg AdminouOrg Auditorde l'organisation indiquée. -
getAccountsByUser - Cette méthode renvoie la liste de tous les ID de compte pour un ID d'organisation et un ID utilisateur donnés. Cette méthode peut être appelée uniquement par
Token AdminouToken Auditor, parOrg AdminouOrg Auditorde l'organisation indiquée ou parAccount Ownerspécifié dans les paramètres. -
getUserByAccountId - Cette méthode renvoie les détails de l'utilisateur (
org_idetuser_id) pour un compte spécifié. Cette méthode peut être appelée par un élémentToken AdminouToken Auditor, ou par un élémentOrg AdminouOrg Auditorde l'organisation indiquée. -
getAccount - Cette méthode renvoie les détails d'un compte spécifié. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor,Org AdminouOrg Auditorde l'organisation indiquée ouAccountOwnerdu compte. -
getAccountDetailsByCustomAccountId - Cette méthode renvoie les détails d'un ID de compte personnalisé spécifié. Cette méthode peut être appelée uniquement par un élément
Token AdminouToken Auditor, ou par un élémentOrg AdminouOrg Auditorde l'organisation indiquée. -
getAccountBalance - Cette méthode renvoie le solde actuel d'un compte spécifié. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor,Org AdminouOrg Auditorde l'organisation indiquée ouAccountOwnerdu compte. -
getAccountStatus - Cette méthode obtient le statut actuel du compte de jeton. Cette méthode peut être appelée par l'élément
Token Admindu code chaîne, un élémentOrg Adminde l'organisation indiquée ou par le propriétaire du compte de jeton. -
getAccountStatusHistory - Cette méthode permet d'obtenir l'historique du statut du compte. Cette méthode peut être appelée par l'élément
Token Admindu code chaîne, un élémentOrg Adminde l'organisation indiquée ou par le propriétaire du compte de jeton. -
activateAccount - Cette méthode active un compte de jeton. Cette méthode peut uniquement être appelée par un élément
Token Admindu code chaîne ou par un élémentOrg Adminde l'organisation indiquée. Les comptes supprimés ne peuvent pas être activés. -
suspendAccount - Cette méthode suspend un compte de jeton. Cette méthode peut uniquement être appelée par un élément
Token Admindu code chaîne ou par un élémentOrg Adminde l'organisation indiquée. Une fois qu'un compte est suspendu, vous ne pouvez effectuer aucune opération de mise à jour du compte. Un compte supprimé ne peut pas être suspendu. -
deleteAccount - Cette méthode supprime un compte de jeton. Cette méthode peut uniquement être appelée par un élément
Token Admindu code chaîne ou par un élémentOrg Adminde l'organisation indiquée. Une fois qu'un compte est supprimé, vous ne pouvez plus effectuer d'opérations de mise à jour du compte. Le compte supprimé est dans un état final et ne peut être modifié en aucun autre état. Pour supprimer un compte, le solde du compte et le solde en attente doivent être égaux à zéro. -
setMaxDailyAmount - Cette méthode définit la valeur
max_daily_amountpour un compte spécifié. Cette méthode peut uniquement être appelée par un élémentToken Admindu code chaîne ou par un élémentOrg Adminde l'organisation indiquée. -
setMaxDailyTransactionCount - Cette méthode définit la valeur
max_daily_transactionspour un compte spécifié. Cette méthode peut uniquement être appelée par un élémentToken Admindu code chaîne ou par un élémentOrg Adminde l'organisation indiquée. -
getMaxDailyAmount - Cette méthode obtient la valeur
max_daily_amountpour un compte spécifié. Cette méthode peut uniquement être appelée par un élémentToken AdminouToken Auditordu code chaîne ou par un élémentOrg AdminouOrg Auditorde l'organisation indiquée. -
getMaxDailyTransactionCount - Cette méthode obtient la valeur
max_daily_transactionspour un compte spécifié. Cette méthode peut uniquement être appelée par un élémentToken AdminouToken Auditordu code chaîne ou par un élémentOrg AdminouOrg Auditorde l'organisation indiquée. -
getAccountOnHoldBalance - Cette méthode renvoie le solde de retenue actuel pour un compte spécifié. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor,Org AdminouOrg Auditorde l'organisation indiquée ouAccountOwnerdu compte. -
addRole - Cette méthode ajoute un rôle à un utilisateur et un jeton spécifiés. Cette méthode peut uniquement être appelée par un élément
Token Admindu code chaîne ou par un élémentOrg Adminde l'organisation indiquée qui détient également le rôle indiqué. -
removeRole - Cette méthode supprime un rôle d'un utilisateur et d'un jeton spécifiés. Cette méthode peut uniquement être appelée par un élément
Token Admindu code chaîne ou par un élémentOrg Adminde l'organisation indiquée qui détient également le rôle indiqué. -
getAccountsByRole - Cette méthode renvoie la liste de tous les ID de compte pour un rôle et un jeton spécifiés. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor. -
getOrgAccountsByRole - Cette méthode renvoie la liste de tous les ID de compte pour un rôle, un jeton et une organisation donnés. Cette méthode peut être appelée uniquement par un élément
Token AdminouToken Auditor, ou par un élémentOrg AdminouOrg Auditorde l'organisation indiquée. -
getUsersByRole - Cette méthode renvoie la liste de tous les utilisateurs pour un rôle et un jeton spécifiés. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor. -
getOrgUsersByRole - Cette méthode renvoie la liste de tous les utilisateurs pour un rôle, un jeton et une organisation donnés. Cette méthode peut être appelée uniquement par un élément
Token AdminouToken Auditor, ou par un élémentOrg AdminouOrg Auditorde l'organisation indiquée. -
isInRole - Cette méthode renvoie une valeur booléenne pour indiquer si un utilisateur a un rôle spécifié. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor,AccountOwnerdu compte ouOrg AdminouOrg Auditorde l'organisation indiquée. -
getAccountTransactionHistory - Cette méthode renvoie un tableau des détails de l'historique des transactions de compte pour un compte spécifié. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor,Org AdminouOrg Auditorde l'organisation indiquée ouAccountOwnerdu compte. -
getAccountTransactionHistoryWithFilters - Cette méthode renvoie un tableau filtré des détails de l'historique des transactions de compte pour un utilisateur et un jeton spécifiés. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor,Org AdminouOrg Auditorde l'organisation indiquée ouAccountOwnerdu compte. Cette méthode peut être appelée uniquement lorsqu'elle est connectée à un réseau Oracle Blockchain Platform distant. -
getAccountTransactionHistoryWithFiltersFromRichHistDB - Cette méthode extrait l'historique des transactions de la base de données d'historique enrichi. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor,Org AdminouOrg Auditorde l'organisation indiquée ouAccountOwnerdu compte. -
getOrgAccountsTransactionHistoryWithFiltersFromRichHistDB - Cette méthode extrait l'historique des transactions de la base de données d'historique enrichi pour l'organisation indiquée. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor,Org AdminouOrg Auditorde l'organisation indiquée ouAccountOwnerdu compte. -
getAllAccountsTransactionHistoryWithFiltersFromRichHistDB - Cette méthode extrait l'historique des transactions de la base de données d'historique enrichi pour toutes les organisations. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor. -
deleteHistoricalTransactions - Cette méthode supprime les anciennes transactions de la base de données d'état. Cette méthode ne peut être appelée que par
Token Admin. -
getTransactionById - Cette méthode renvoie l'historique d'une ressource
Transaction. Cette méthode ne peut être appelée que par un élémentToken AdminouToken Auditor, par un élémentOrg AdminouOrg Auditorde l'organisation indiquée ou par un participant à la transaction (expéditeur, destinataire ou notaire). -
consolidateRunningBalanceInTransactions - Cette méthode calcule les soldes des comptes en cours d'exécution et enregistre les valeurs mises à jour dans les paires clé/valeur de transaction. En général, les administrateurs système appellent cette méthode à l'aide d'un planificateur de proxy REST. Cette méthode ne peut être appelée que par
Token AdminouOrg Admin. -
processSendersAndReceivers - Cette méthode calcule et met à jour les soldes de compte de jetons qui sont répartis dans les paires clé/valeur d'émetteur et de récepteur qui ont été créées lors des transferts interorganisations, puis supprime les paires clé/valeur d'émetteur et de récepteur, qui ne sont plus utilisées. En général, les administrateurs système appellent cette méthode à l'aide d'un planificateur de proxy REST. Cette méthode ne peut être appelée que par
Token AdminouOrg Admin. -
requestMint - Cette méthode peut être appelée par un mineur pour envoyer une demande au notaire mineur pour créer une quantité spécifiée de jetons.
-
approveMint - Cette méthode peut être appelée par un notaire de mineur pour approuver une demande de frappe.
-
rejectMint - Cette méthode peut être appelée par un notaire de mineur pour rejeter une demande de frappe.
-
issueTokens - Cette méthode extrait les jetons, qui sont ensuite détenus par l'appelant de la méthode.
-
getTotalMintedTokens - Cette méthode renvoie le nombre total de jetons extraits pour un jeton spécifié. Cette méthode ne peut être appelée que par
Token Admin,Token Auditor,Org AdminouOrg Auditor. -
getNetTokens - Cette méthode renvoie le nombre total net de jetons disponibles dans le système pour un jeton spécifié. Le total net des jetons correspond à la quantité restante de jetons après leur gravure. Sous forme d'équation : jetons net = total des jetons minés - total des jetons brûlés. Si aucun jeton n'est brûlé, le nombre de jetons réseau est égal au nombre total de jetons extraits. Cette méthode ne peut être appelée que par
Token Admin,Token Auditor,Org AdminouOrg Auditor. -
transferTokens - Cette méthode transfère les jetons de l'appelant vers un compte spécifié.
-
holdTokens - Cette méthode crée un blocage pour le compte de l'appelant (propriétaire des jetons) avec le compte
to_account_id. Le compte notaire spécifié est chargé de terminer ou de lever le blocage. Lorsque la mise en suspens est créée, le solde de token spécifié du payeur est mis en suspens. Un solde bloqué ne peut pas être transféré tant que le blocage n'est pas terminé ou levé. -
executeHoldTokens - Cette méthode met fin à un blocage sur un jeton. Une quantité de jetons précédemment détenus par un propriétaire de jeton est transférée à un récepteur. Si la valeur
quantityest inférieure à la valeur de blocage réelle, le montant restant est à nouveau disponible pour le propriétaire d'origine des jetons. Cette méthode ne peut être appelée que par l'IDAccountOwneravec le rôlenotarypour l'ID d'opération indiqué. La mise en attente ne peut être effectuée que par le notaire. -
releaseHoldTokens - Cette méthode permet de bloquer les jetons. Le transfert n'est pas terminé et tous les jetons détenus sont à nouveau disponibles pour le propriétaire d'origine. Cette méthode peut être appelée par l'ID
AccountOwneravec le rôlenotarydans la limite de temps spécifiée ou par le payeur, le bénéficiaire ou le notaire après la limite de temps spécifiée. -
getOnHoldIds - Cette méthode renvoie la liste de tous les ID blocage pour un compte donné. Cette méthode peut être appelée par une chaîne (
Token Admin) ou une chaîne (Token Auditor) du code chaîne, une chaîne (Org Admin) ou une chaîne (Org Auditor) de l'organisation indiquée, ou par la chaîne (AccountOwner) du compte. -
getOnHoldDetailsWithOperationId - Cette méthode renvoie les détails de la transaction bloquée pour un ID d'opération et un jeton spécifiés. Cette méthode peut être appelée par une chaîne (
Token Admin) ou une chaîne (Token Auditor) du code chaîne, ou par un participant à la transaction (expéditeur, destinataire, notaire). -
getOnHoldBalanceWithOperationId - Cette méthode renvoie le solde de blocage pour un ID d'opération et un jeton spécifiés. Cette méthode peut être appelée par une chaîne (
Token Admin) ou une chaîne (Token Auditor) du code chaîne, ou par un participant à la transaction (expéditeur, destinataire, notaire). -
requestBurn - Cette méthode peut être appelée par un brûleur pour envoyer une demande au notaire du brûleur pour détruire une quantité spécifiée de jetons.
-
approveBurn - Cette méthode peut être appelée par un notaire brûleur pour approuver une demande de gravure.
-
rejectBurn - Cette méthode peut être appelée par un notaire brûleur pour rejeter une demande de gravure.
TypeScript Méthodes pour les transferts interorganisations
Les transferts interorganisations ont deux parties : d'abord le montant est débité de l'expéditeur, puis le montant est crédité au bénéficiaire. Les deux API suivantes sont appelées ensemble en tant que transaction atomique à l'aide de l'API de validation en deux phases du proxy REST Oracle Blockchain Platform. Les transferts confidentiels sont effectués de cette manière parce que les collectes de données privées des deux organisations sont distinctes et ne sont pas accessibles dans une seule transaction.
Les deux transactions sont envoyées à l'aide de l'API de validation en deux phases du proxy REST. Pour plus d'informations, reportez-vous à Appeler une transaction atomique.
https://test-xyz-abc.blockchain.ocp.oraclecloud.com:7443/restproxy/api/v2/atomicTransactions. Vous devez envoyer tous les en-têtes essentiels, y compris les suivants.- Content-Type: application/json
- Confidential-Transaction: trueDans le corps de la demande, incluez les méthodes executeHoldTokensSenderet executeHoldTokensReceiver comme indiqué dans la demande suivante.{
"transactions": [
{
"chaincode": "<chaincode>",
"args": [
"executeHoldTokensSender"
],
"timeout": 6000,
"sync": true,
"transientMap": {
"args": "[ \"bc-token-id value\",\"operation_id value\",\"quantity value\"]"
},
"endorsers" : <Sender's endorsers List>,
"channel":"<channel name>"
},
{
"chaincode": "<chaincode name>",
"args": [
"executeHoldTokensReceiver"
],
"timeout": 6000,
"sync": true,
"transientMap": {
"args": "[ \"bc-token-id value\",\"operation_id value\",\"quantity value\"]"
},
"endorsers" : <Recipient endorsers List>,
"channel":"<channelName>"
}
],
"isolationLevel": "readCommitted",
"prepareTimeout": 10000,
"copyInputsToTransientMap": true,
"sync": true,
"parallelPrepare": true
}{
"transactions": [
{
"chaincode": "WholesaleCBDCConfidential",
"args": [
"executeHoldTokensSender"
],
"timeout": 6000,
"sync": true,
"transientMap": {
"args": "[ \"bc-token-id value\",\"operation_id value\",\"quantity value\"]"
},
"endorsers" : ["org1-xyz-abc.blockchain.ocp.oraclecloud.com:20009", "org1-xyz-abc.blockchain.ocp.oraclecloud.com:20009"],
"channel":"default"
},
{
"chaincode": "WholesaleCBDCConfidential",
"args": [
"executeHoldTokensReceiver"
],
"timeout": 6000,
"sync": true,
"transientMap": {
"args": "[ \"bc-token-id value\",\"operation_id value\",\"quantity value\"]"
},
"endorsers" : ["org2-xyz-abc.blockchain.ocp.oraclecloud.com:20009", "org2-xyz-abc.blockchain.ocp.oraclecloud.com:20009"],
"channel":"default"
}
],
"isolationLevel": "readCommitted",
"prepareTimeout": 10000,
"copyInputsToTransientMap": true,
"sync": true,
"parallelPrepare": true
}-
executeHoldTokensSender - Cette méthode ne peut être appelée que par l'utilisateur ayant le rôle de notaire pour l'ID d'opération spécifié. Cette méthode est la première partie d'une approbation d'un transfert entre organisations. Le montant spécifié est déduit du compte de l'expéditeur.
-
executeHoldTokensReceiver - Cette méthode ne peut être appelée que par l'utilisateur ayant le rôle de notaire pour l'ID d'opération spécifié. Cette méthode est la deuxième partie d'une approbation d'un transfert entre organisations. Le montant spécifié est crédité sur le compte du bénéficiaire.
Méthodes SDK TypeScript modifiées pour le code chaîne confidentiel
Si vous incluez le paramètre confidential: true dans le fichier de spécification pour les jetons qui utilisent la norme étendue de structure de taxonomie de jeton, Blockchain App Builder génère des versions modifiées des méthodes standard du kit SDK ainsi que des méthodes supplémentaires.
-
isUserTokenAdmin - Cette méthode renvoie la valeur booléenne
truesi l'appelant de la fonction est unToken Admin. Sinon, la méthode renvoiefalse. -
addTokenAdmin - Cette méthode ajoute un utilisateur en tant que
Token Admindu code chaîne de jeton. Etant donné que la valeuruser_idest stockée dans le grand livre public, n'utilisez pas d'informations d'identification personnelle pour la valeuruser_id. -
removeTokenAdmin - Cette méthode enlève un utilisateur en tant qu'utilisateur
Token Admindu code chaîne de jeton. -
getAllTokenAdmins - Cette méthode renvoie la liste de tous les utilisateurs qui sont un
Token Admindu code chaîne. -
addOrgAdmin - Cette méthode ajoute un utilisateur en tant qu'utilisateur
Org Adminde l'organisation. Etant donné que la valeuruser_idest stockée dans le grand livre public, n'utilisez pas d'informations d'identification personnelle pour la valeuruser_id. -
removeOrgAdmin - Cette méthode supprime un utilisateur en tant qu'utilisateur
Org Adminde l'organisation. -
getAllOrgAdmins - Cette méthode renvoie la liste de tous les utilisateurs qui sont un
Org Admind'une organisation. -
addTokenAuditor - Cette méthode ajoute un utilisateur en tant que
Token Auditordu code chaîne. Etant donné que la valeuruser_idest stockée dans le grand livre public, n'utilisez pas d'informations d'identification personnelle pour la valeuruser_id. -
removeTokenAuditor - Cette méthode enlève un utilisateur en tant qu'élément
Token Auditordu code chaîne. -
getAllTokenAuditors - Cette méthode renvoie l'ensemble des éléments
Token Auditorsdu code chaîne. -
addOrgAuditor - Cette méthode ajoute un utilisateur en tant que
Org Auditordu code chaîne. -
removeOrgAuditor - Cette méthode enlève un utilisateur en tant qu'élément
Org Auditordu code chaîne. -
getAllOrgAuditors - Cette méthode renvoie l'ensemble des éléments
Org Auditorsdu code chaîne. -
getAllTokens - Cette méthode renvoie toutes les ressources de jeton enregistrées dans la base de données d'état. Cette méthode utilise des requêtes enrichies Berkeley DB SQL et ne peut être appelée qu'en cas de connexion au réseau Oracle Blockchain Platform distant.
-
getDecimals - Cette méthode renvoie le nombre de décimales disponibles pour un jeton fractionnaire. Si le comportement
divisiblen'est pas indiqué, la valeur par défaut est 0. -
history - Cette méthode renvoie l'historique du jeton spécifié.
-
getTokensByName - Cette méthode renvoie toutes les ressources de jeton portant le nom indiqué. Cette méthode utilise des requêtes enrichies Berkeley DB SQL et ne peut être appelée qu'en cas de connexion au réseau Oracle Blockchain Platform distant.
-
createAccount - Cette méthode crée un compte pour l'utilisateur et le jeton spécifiés. Chaque utilisateur qui a des jetons à un moment donné doit avoir un compte.
-
associateToken - Cette méthode associe un jeton fongible à un compte.
-
getAllAccounts - Cette méthode renvoie la liste de tous les comptes. Cette méthode utilise des requêtes enrichies Berkeley DB SQL et ne peut être appelée qu'en cas de connexion au réseau Oracle Blockchain Platform distant.
-
getAllOrgAccounts - Cette méthode renvoie la liste de tous les comptes de jetons appartenant à une organisation spécifiée.
-
getAccountsByUser - Cette méthode renvoie la liste de tous les ID de compte pour un utilisateur et une organisation donnés.
-
getUserByAccountId - Cette méthode renvoie les détails de l'utilisateur pour un compte spécifié.
-
getAccountWithStatus - Cette méthode renvoie les détails de compte pour un utilisateur et un jeton spécifiés.
-
getAccountDetailsByCustomAccountId - Cette méthode renvoie tous les détails du compte de jetons pour une organisation et un ID de compte spécifiés.
-
getAccountBalance - Cette méthode renvoie le solde du compte pour un compte spécifié.
-
getAccountStatus - Cette méthode obtient le statut actuel du compte de jeton.
-
history (Account Status) - Cette méthode permet d'obtenir l'historique du statut du compte.
-
activateAccount - Cette méthode active un compte de jeton. Les comptes supprimés ne peuvent pas être activés.
-
suspendAccount - Cette méthode suspend un compte de jeton. Une fois qu'un compte est suspendu, vous ne pouvez effectuer aucune opération de mise à jour du compte. Un compte supprimé ne peut pas être suspendu.
-
deleteAccount - Cette méthode supprime un compte de jeton. Une fois qu'un compte est supprimé, vous ne pouvez plus effectuer d'opérations de mise à jour du compte. Le compte supprimé est dans un état final et ne peut être modifié en aucun autre état. Pour supprimer un compte, le solde du compte et le solde en attente doivent être égaux à zéro.
-
setMaxDailyAmount - Cette méthode définit la valeur
max_daily_amountpour un compte spécifié. -
setMaxDailyTransactionCount - Cette méthode définit la valeur
max_daily_transactionspour un compte spécifié. -
getMaxDailyAmount - Cette méthode obtient la valeur
max_daily_amount(montant maximal pouvant être transféré quotidiennement) pour un compte spécifié. -
getMaxDailyTransactionCount - Cette méthode obtient la valeur
max_daily_transactions(nombre maximal de transactions autorisé par jour) pour un compte spécifié. -
getAccountOnHoldBalance - Cette méthode renvoie le solde de retenue pour un compte spécifié.
-
addRoleMember - Cette méthode ajoute un rôle à un compte spécifié.
-
removeRoleMember - Cette méthode supprime un rôle d'un compte spécifié.
-
getAccountsByRole - Cette méthode renvoie la liste de tous les comptes pour un rôle et un jeton spécifiés.
-
getOrgAccountsByRole - Cette méthode renvoie des informations sur tous les comptes qui ont un rôle spécifié dans une organisation spécifiée.
-
getUsersByRole - Cette méthode renvoie la liste de tous les utilisateurs pour un rôle et un jeton spécifiés.
-
getOrgUsersByRole - Cette méthode renvoie des informations sur tous les utilisateurs qui ont un rôle spécifié dans une organisation donnée.
-
isInRole - Cette méthode indique si un utilisateur a un rôle spécifié.
-
getAccountTransactionHistory - Cette méthode renvoie un tableau des détails de l'historique des transactions pour un compte spécifié.
-
getAccountTransactionHistoryWithFilters - Cette méthode renvoie un tableau des détails de l'historique des transactions pour un compte spécifié. Cette méthode ne peut être appelée que lorsqu'elle est connectée au réseau Oracle Blockchain Platform distant.
-
getAccountTrxHistoryWithFiltersFromRichHistDB - Cette méthode renvoie un tableau des détails de l'historique des transactions de la base de données d'historique enrichie.
-
getOrgAccountsTrxHistoryWithFiltersFromRichHistDB - Cette méthode renvoie un tableau des détails de l'historique des transactions pour une organisation donnée à partir de la base de données d'historique riche.
-
getAllAccountsTrxHistoryWithFiltersFromRichHistDB - Cette méthode renvoie un tableau des détails de l'historique des transactions pour toutes les organisations à partir de la base de données riche en historique.
-
consolidateRunningBalanceInTransactions - Cette méthode calcule les soldes des comptes en cours d'exécution et enregistre les valeurs mises à jour dans les paires clé/valeur de transaction. En général, les administrateurs système appellent cette méthode à l'aide d'un planificateur de proxy REST.
-
processSendersAndReceivers - Cette méthode calcule et met à jour les soldes de compte de jetons qui sont répartis dans les paires clé/valeur d'émetteur et de récepteur qui ont été créées lors des transferts interorganisations, puis supprime les paires clé/valeur d'émetteur et de récepteur, qui ne sont plus utilisées. En général, les administrateurs système appellent cette méthode à l'aide d'un planificateur de proxy REST.
-
deleteTransactions - Cette méthode supprime les anciennes transactions de la base de données d'état.
-
getTransactionById - Cette méthode renvoie l'historique d'une ressource
Transaction. -
issueTokens - Minters peut appeler cette méthode pour créer un nombre spécifié de jetons.
-
getTotalMintedTokens - Cette méthode renvoie le nombre total de jetons extraits.
-
getNetTokens - Cette méthode renvoie la quantité nette de jetons disponibles dans le système. Les jetons réseau sont la quantité de jetons restants après que les jetons sont brûlés. Sous forme d'équation : jetons net = total des jetons minés - total des jetons brûlés. Si aucun jeton n'est brûlé, le nombre de jetons réseau est égal au nombre total de jetons extraits.
-
transferTokens - Cette méthode transfère les jetons de l'appelant vers un compte spécifié. L'appelant de la méthode doit avoir un compte. La quantité doit être comprise dans les valeurs décimales spécifiées par le paramètre
decimaldu comportementdivisibledans le fichier de spécification. -
hold - Cette méthode est utilisée par le mineur pour envoyer une demande au notaire du mineur pour créer un nombre spécifié de jetons. Le compte notaire spécifié est chargé de terminer ou de lever le blocage.
-
executeHold - Les notaires peuvent appeler cette méthode pour approuver une opération de blocage, qui peut être de l'un des trois types suivants : menthe, brûlure ou transfert.
-
releaseHold - Les notaires peuvent appeler cette méthode pour rejeter une opération de blocage, qui peut être l'un des trois types suivants : menthe, brûlure ou transfert.
-
getOnHoldIds - Cette méthode renvoie la liste de tous les ID blocage pour un compte donné.
-
getOnHoldDetailsWithOperationId - Cette méthode renvoie les détails de la transaction bloquée pour un ID d'opération et un jeton spécifiés.
-
getOnHoldBalanceWithOperationId - Cette méthode renvoie le solde de blocage pour un ID d'opération et un jeton spécifiés. Cette méthode peut être appelée par n'importe qui.
TypeScript Méthodes SDK pour les transferts entre organisations
Les transferts interorganisations ont deux parties : d'abord le montant est débité de l'expéditeur, puis le montant est crédité au bénéficiaire. Les deux API suivantes sont appelées ensemble en tant que transaction atomique à l'aide de l'API de validation en deux phases du proxy REST Oracle Blockchain Platform. Les transferts confidentiels sont effectués de cette manière parce que les collectes de données privées des deux organisations sont distinctes et ne sont pas accessibles dans une seule transaction.
-
executeHoldTokensSender - Cette méthode ne peut être appelée que par l'utilisateur ayant le rôle de notaire pour l'ID d'opération spécifié. Cette méthode est la première partie d'une approbation d'un transfert entre organisations. Le montant spécifié est déduit du compte de l'expéditeur.
-
executeHoldTokensReceiver - Cette méthode ne peut être appelée que par l'utilisateur ayant le rôle de notaire pour l'ID d'opération spécifié. Cette méthode est la deuxième partie d'une approbation d'un transfert entre organisations. Le montant spécifié est crédité sur le compte du bénéficiaire.