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 Token Taxonomy Framework, Blockchain App Builder génère du code de chaîne pour une utilisation en mode confidentiel, notamment les versions modifiées suivantes de la norme générées automatiquement et les méthodes SDK (TypeScript uniquement).
Pour plus d'informations sur les transactions confidentielles et le scénario de devise numérique de banque centrale (CBDC) de gros confidentiel, voir Monnaie numérique de banque centrale de gros avec transactions confidentielles.
Le tableau suivant résume les méthodes générées lorsque vous échafaudez 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 du contrôle d'accès | isTokenAdmin |
isUserTokenAdmin |
Retourne Vrai si l'appelant est un administrateur |
addTokenAdmin |
addTokenAdmin |
Ajoute un administrateur | |
removeTokenAdmin |
removeTokenAdmin |
Supprime un administrateur | |
|
getAllTokenAdmins |
Retourne tous les administrateurs | |
addOrgAdmin |
addOrgAdmin |
Ajoute un administrateur d'organisation | |
removeOrgAdmin |
removeOrgAdmin |
Supprime un administrateur d'organisation | |
|
getAllOrgAdmins |
Retourne tous les administrateurs d'organisation | |
addTokenAuditor |
addTokenAuditor |
Ajoute un vérificateur | |
removeTokenAuditor |
removeTokenAuditor |
Supprime un vérificateur | |
|
getAllTokenAuditors |
Retourne tous les vérificateurs | |
addOrgAuditor |
addOrgAuditor |
Ajoute un vérificateur de l'organisation | |
removeOrgAuditor |
removeOrgAuditor |
Supprime un vérificateur d'organisation | |
|
getAllOrgAuditors |
Retourne tous les vérificateurs d'organisation | |
| Gestion des jetons | |
getAllTokens |
Retourne toutes les ressources de jeton |
|
getDecimals |
Retourne le nombre de décimales pour un jeton spécifié | |
|
history |
Retourne l'historique d'un jeton | |
|
getTokensByName |
Retourne toutes les ressources de jeton pour un nom de jeton spécifié | |
| Gestion des comptes | createAccount |
createAccount |
Crée un compte d'utilisateur |
associateTokenToAccount |
associateToken |
Associe un compte à un jeton | |
getAllAccounts |
getAllAccounts |
Retourne les détails de tous les comptes d'utilisateur | |
getAllOrgAccounts |
getAllOrgAccounts |
Retourne les détails de tous les comptes d'utilisateur d'une organisation | |
getAccountsByUser |
getAccountsByUser |
Retourne tous les ID compte pour un utilisateur | |
getUserByAccountId |
getUserByAccountId |
Retourne les détails de l'utilisateur pour un ID compte | |
getAccount |
getAccountWithStatus |
Retourne les détails d'un compte de jeton | |
getAccountDetailsByCustomAccountId |
getAccountDetailsByCustomAccountId |
Retourne les détails du compte pour un ID compte personnalisé | |
getAccountBalance |
getAccountBalance |
Retourne le solde courant d'un compte | |
getAccountStatus |
getAccountStatus |
Retourne le statut d'un compte | |
getAccountStatusHistory |
history |
Retourne 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 maximal de transactions qu'un utilisateur peut effectuer quotidiennement | |
getMaxDailyAmount |
getMaxDailyAmount |
Retourne la quantité maximale de jetons qu'un utilisateur peut transférer quotidiennement | |
getMaxDailyTransactionCount |
getMaxDailyTransactionCount |
Retourne le nombre maximal de transactions qu'un utilisateur peut effectuer quotidiennement | |
getAccountOnHoldBalance |
getAccountOnHoldBalance |
Retourne le solde bloqué courant 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 |
Retourne les ID compte pour un rôle spécifié | |
getOrgAccountsByRole |
getOrgAccountsByRole |
Retourne les ID compte pour un rôle spécifié dans une organisation | |
getUsersByRole |
getUsersByRole |
Retourne une liste d'utilisateurs pour un rôle spécifié | |
getOrgUsersByRole |
getOrgUsersByRole |
Retourne une liste d'utilisateurs pour un rôle spécifié dans une organisation | |
isInRole |
isInRole |
Retourne si un utilisateur a un rôle spécifié | |
| Gestion des transactions | getAccountTransactionHistory |
getAccountTransactionHistory |
Retourne l'historique des transactions pour un compte |
getAccountTransactionHistoryWithFilters |
getAccountTransactionHistoryWithFilters |
Retourne l'historique des transactions filtrées pour un compte | |
getAccountTransactionHistoryWithFiltersFromRichHistDB |
getAccountTrxHistoryWithFiltersFromRichHistDB |
Retourne l'historique des transactions filtré à partir de la base de données d'historique complet pour un compte | |
getOrgAccountsTransactionHistoryWithFiltersFromRichHistDB |
getOrgAccountsTrxHistoryWithFiltersFromRichHistDB |
Retourne l'historique des transactions filtré à partir de la base de données de l'historique complet pour une organisation | |
getAllAccountsTransactionHistoryWithFiltersFromRichHistDB |
getAllAccountsTrxHistoryWithFiltersFromRichHistDB |
Retourne l'historique des transactions filtré à partir de la base de données d'historique complet pour tous les comptes | |
consolidateRunningBalanceInTransactions |
consolidateRunningBalanceInTransactions |
Met à jour les soldes de compte en cours d'exécution pour les transactions en attente | |
processSendersAndReceivers |
processSendersAndReceivers |
Met à jour les soldes de compte lors des transferts interorganisations | |
deleteHistoricalTransactions |
deleteTransactions |
Supprime les anciennes transactions | |
getTransactionById |
getTransactionById |
Retourne l'historique d'une immobilisation de transaction | |
| Comportement mentable | requestMint |
|
Demande que des jetons soient émis |
approveMint |
|
Approuve une demande de mint | |
rejectMint |
|
Rejette une demande de mint | |
issueTokens |
issueTokens |
Jetons Mints | |
getTotalMintedTokens |
getTotalMintedTokens |
Retourne le nombre total de jetons frappés | |
getNetTokens |
getNetTokens |
Retourne la quantité nette de jetons disponibles | |
| Comportement transférable | transferTokens |
transferTokens |
Transferts de jetons |
| Comportement bloquable | holdTokens |
hold |
Bloque un solde de jeton |
executeHoldTokens |
executeHold |
Termine un blocage de jeton | |
releaseHoldTokens |
releaseHold |
Libère un blocage de jeton | |
getOnHoldIds |
getOnHoldIds |
Retourne tous les ID blocage pour un compte | |
getOnHoldDetailsWithOperationId |
getOnHoldDetailsWithOperationId |
Retourne les détails de transaction bloquée pour un ID opération | |
getOnHoldBalanceWithOperationId |
getOnHoldBalanceWithOperationId |
Retourne le solde bloqué pour un ID opération | |
| Comportement brûlable | requestBurn |
|
Demande que les jetons soient détruits |
approveBurn |
|
Approuve une demande de gravure | |
rejectBurn |
|
Rejette une demande de gravure | |
| Transferts interorganisations | executeHoldTokensSender |
executeHoldTokensSender |
Déduit les jetons du compte d'un expéditeur |
executeHoldTokensReceiver |
executeHoldTokensReceiver |
Crédits jetons sur le compte d'un destinataire |
Méthodes TypeScript modifiées pour le code de 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 générées automatiquement standard ainsi que des méthodes supplémentaires.
-
isTokenAdmin - Cette méthode retourne la valeur booléenne
truesi l'appelant de la fonction estToken Admin, sinon elle retournefalse. UnToken Admin,Token Auditor, unOrg Adminou unOrg 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 leurs propres comptes. -
addTokenAdmin - Cette méthode ajoute un utilisateur en tant qu'
Token Admindu code de chaîne. Cette méthode ne peut être appelée que par unToken Admindu code de chaîne. Comme la valeuruser_idest stockée dans le livre public, n'utilisez pas d'informations d'identification personnelle pour la valeuruser_id. -
removeTokenAdmin - Cette méthode supprime un utilisateur en tant qu'
Token Admindu code de chaîne. Cette méthode ne peut être appelée que par unToken Admindu code de chaîne. -
addOrgAdmin - Cette méthode ajoute un utilisateur en tant que
Org Adminde l'organisation. Cette méthode ne peut être appelée que par unToken Admindu code de chaîne ou unOrg Adminde l'organisation spécifiée. Comme la valeuruser_idest stockée dans le livre public, n'utilisez pas d'informations d'identification personnelle pour la valeuruser_id. -
removeOrgAdmin - Cette méthode supprime un utilisateur en tant que
Org Adminde l'organisation. Cette méthode ne peut être appelée que par unToken Admindu code de chaîne ou par unOrg Adminde l'organisation spécifiée. -
addTokenAuditor - Cette méthode ajoute un utilisateur en tant qu'
Token Auditordu code de chaîne. Cette méthode ne peut être appelée que par unToken Admindu code de chaîne. Comme la valeuruser_idest stockée dans le livre public, n'utilisez pas d'informations d'identification personnelle pour la valeuruser_id. -
removeTokenAuditor - Cette méthode supprime un utilisateur en tant qu'
Token Auditordu code de chaîne. Cette méthode ne peut être appelée que par unToken Admindu code de chaîne. -
addOrgAuditor - Cette méthode ajoute un utilisateur en tant qu'
Org Auditordu code de chaîne. Cette méthode ne peut être appelée que parToken AdminouOrg Admindu code de chaîne. Comme la valeuruser_idest stockée dans le livre public, n'utilisez pas d'informations d'identification personnelle pour la valeuruser_id. -
removeOrgAuditor - Cette méthode supprime un utilisateur en tant qu'
Org Auditordu code de chaîne. Cette méthode ne peut être appelée que parToken AdminouOrg Admindu code de chaîne. -
createAccount - Cette méthode crée un compte pour un utilisateur et un 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 compte est formé en concaténant le type d'immobilisation et l'ID jeton, puis en créant un hachage SHA-256 sur une concaténation de l'ID organisation et de l'ID utilisateur. Cette méthode ne peut être appelée que par
Token Adminou parOrg Adminde l'organisation spécifiée. -
associateTokenToAccount - Cette méthode associe un jeton fongible à un compte. Cette méthode ne peut être appelée que par un
Token Admindu code de chaîne ou par unOrg Adminde l'organisation concernée. -
getAllAccounts - Cette méthode retourne une liste de tous les comptes. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor. Cette méthode utilise des interrogations Berkeley DB SQL riches et ne peut être appelée qu'en cas de connexion au réseau distant Oracle Blockchain Platform. -
getAllOrgAccounts - Cette méthode retourne une liste de tous les comptes de jeton appartenant à une organisation spécifiée. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor, ou parOrg AdminouOrg Auditorde l'organisation spécifiée. -
getAccountsByUser - Cette méthode retourne une liste de tous les ID compte pour un ID organisation et un ID utilisateur spécifiés. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor, parOrg AdminouOrg Auditorde l'organisation spécifiée, ou parAccount Ownerspécifié dans les paramètres. -
getUserByAccountId - Cette méthode retourne les détails de l'utilisateur (
org_idetuser_id) pour un compte spécifié. Cette méthode peut être appelée parToken AdminouToken Auditor, ou parOrg AdminouOrg Auditorde l'organisation spécifiée. -
getAccount - Cette méthode retourne 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 spécifiée ouAccountOwnerdu compte. -
getAccountDetailsByCustomAccountId - Cette méthode retourne les détails pour un ID compte personnalisé spécifié. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor, ou parOrg AdminouOrg Auditorde l'organisation spécifiée. -
getAccountBalance - Cette méthode retourne le solde courant pour un compte spécifié. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor,Org AdminouOrg Auditorde l'organisation spécifiée ouAccountOwnerdu compte. -
getAccountStatus - Cette méthode obtient le statut courant du compte de jeton. Cette méthode peut être appelée par
Token Admindu code de chaîne,Org Adminde l'organisation spécifiée ou par le responsable 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
Token Admindu code de chaîne,Org Adminde l'organisation spécifiée ou par le responsable du compte de jeton. -
activateAccount - Cette méthode active un compte de jeton. Cette méthode ne peut être appelée que par un
Token Admindu code de chaîne ou unOrg Adminde l'organisation spécifiée. Les comptes supprimés ne peuvent pas être activés. -
suspendAccount - Cette méthode suspend un compte de jeton. Cette méthode ne peut être appelée que par un
Token Admindu code de chaîne ou unOrg Adminde l'organisation spécifiée. Une fois qu'un compte est suspendu, vous ne pouvez pas effectuer d'opérations 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 ne peut être appelée que par un
Token Admindu code de chaîne ou unOrg Adminde l'organisation spécifiée. Après la suppression d'un compte, vous ne pouvez pas effectuer d'opérations de mise à jour du compte. Le compte supprimé est à l'état final et ne peut pas passer à un autre état. Pour supprimer un compte, le solde du compte et le solde bloqué doivent être nuls. -
setMaxDailyAmount - Cette méthode définit la valeur
max_daily_amountpour un compte spécifié. Cette méthode ne peut être appelée que par unToken Admindu code de chaîne ou unOrg Adminde l'organisation spécifiée. -
setMaxDailyTransactionCount - Cette méthode définit la valeur
max_daily_transactionspour un compte spécifié. Cette méthode ne peut être appelée que par unToken Admindu code de chaîne ou unOrg Adminde l'organisation spécifiée. -
getMaxDailyAmount - Cette méthode obtient la valeur
max_daily_amountpour un compte spécifié. Cette méthode ne peut être appelée que parToken AdminouToken Auditordu code de chaîne ou parOrg AdminouOrg Auditorde l'organisation spécifiée. -
getMaxDailyTransactionCount - Cette méthode obtient la valeur
max_daily_transactionspour un compte spécifié. Cette méthode ne peut être appelée que parToken AdminouToken Auditordu code de chaîne ou parOrg AdminouOrg Auditorde l'organisation spécifiée. -
getAccountOnHoldBalance - Cette méthode retourne le solde bloqué courant pour un compte spécifié. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor,Org AdminouOrg Auditorde l'organisation spécifiée ouAccountOwnerdu compte. -
addRole - Cette méthode ajoute un rôle à un utilisateur et à un jeton spécifiés. Cette méthode ne peut être appelée que par une valeur
Token Admindu code de chaîne ou par une valeurOrg Adminde l'organisation spécifiée qui détient également le rôle spécifié. -
removeRole - Cette méthode supprime un rôle d'un utilisateur et d'un jeton spécifiés. Cette méthode ne peut être appelée que par une valeur
Token Admindu code de chaîne ou par une valeurOrg Adminde l'organisation spécifiée qui détient également le rôle spécifié. -
getAccountsByRole - Cette méthode retourne une liste de tous les ID 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 retourne une liste de tous les ID compte pour un rôle, un jeton et une organisation spécifiés. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor, ou parOrg AdminouOrg Auditorde l'organisation spécifiée. -
getUsersByRole - Cette méthode retourne une 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 retourne une liste de tous les utilisateurs pour un rôle, un jeton et une organisation spécifiés. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor, ou parOrg AdminouOrg Auditorde l'organisation spécifiée. -
isInRole - Cette méthode retourne 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 spécifiée. -
getAccountTransactionHistory - Cette méthode retourne 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 spécifiée ouAccountOwnerdu compte. -
getAccountTransactionHistoryWithFilters - Cette méthode retourne 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 spécifiée ouAccountOwnerdu compte. Cette méthode ne peut être appelée que si 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 spécifiée ouAccountOwnerdu compte. -
getOrgAccountsTransactionHistoryWithFiltersFromRichHistDB - Cette méthode extrait l'historique des transactions de la base de données d'historique complet pour l'organisation spécifiée. Cette méthode ne peut être appelée que par
Token AdminouToken Auditor,Org AdminouOrg Auditorde l'organisation spécifiée ouAccountOwnerdu compte. -
getAllAccountsTransactionHistoryWithFiltersFromRichHistDB - Cette méthode extrait l'historique des transactions de la base de données d'historique complet 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 retourne l'historique d'une ressource
Transaction. Cette méthode ne peut être appelée que parToken AdminouToken Auditor, parOrg AdminouOrg Auditorde l'organisation spécifiée, ou par un participant à la transaction (expéditeur, destinataire ou notaire). -
consolidateRunningBalanceInTransactions - Cette méthode calcule les soldes de compte courant et enregistre les valeurs mises à jour dans les paires clé/valeur de transaction. En général, les administrateurs de système appellent cette méthode à l'aide d'un programmateur de mandataire 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 jeton qui sont répartis dans les paires clé/valeur de l'expéditeur et du destinataire créées lors des transferts interorganisations, puis supprime les paires clé/valeur de l'expéditeur et du destinataire, qui ne sont plus utilisées. En général, les administrateurs de système appellent cette méthode à l'aide d'un programmateur de mandataire REST. Cette méthode ne peut être appelée que par
Token AdminouOrg Admin. -
requestMint - Cette méthode peut être appelée par un minter pour envoyer une demande au notaire minter de créer une quantité spécifiée de jetons.
-
approveMint - Cette méthode peut être appelée par un notaire pour approuver une demande de frappe.
-
rejectMint - Cette méthode peut être appelée par un notaire pour rejeter une demande de frappe.
-
issueTokens - Cette méthode extrait des jetons, qui sont ensuite détenus par l'appelant de la méthode.
-
getTotalMintedTokens - Cette méthode retourne le nombre total de jetons frappés 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 retourne le nombre net total de jetons disponibles dans le système pour un jeton spécifié. Le total net des jetons correspond à la quantité de jetons restants après la gravure des jetons. Sous forme d'équation : net tokens = total des jetons frappés - total des jetons brûlés. Si aucun jeton n'est brûlé, le nombre de jetons nets est égal au nombre total de jetons frappés. 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 au nom de l'appelant (le responsable des jetons) avec le compte
to_account_id. Le compte de notaire spécifié est responsable de l'achèvement ou du déblocage du blocage. Lorsque le blocage est créé, le solde de jeton spécifié par le payeur est bloqué. Un solde bloqué ne peut pas être transféré tant que le blocage n'est pas terminé ou annulé. -
executeHoldTokens - Cette méthode effectue 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 destinataire. Si la valeur
quantityest inférieure à la valeur de blocage réelle, le montant restant est de nouveau disponible pour le responsable initial des jetons. Cette méthode ne peut être appelée que par l'IDAccountOwneravec le rôlenotarypour l'ID opération spécifié. Le blocage ne peut être effectué que par le notaire. -
releaseHoldTokens - Cette méthode libère un blocage sur les jetons. Le transfert n'est pas terminé et tous les jetons détenus sont à nouveau disponibles pour le propriétaire initial. 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 retourne une liste de tous les ID de blocage pour un compte spécifié. Cette méthode peut être appelée par
Token AdminouToken Auditordu code de chaîne, unOrg Adminou unOrg Auditorde l'organisation spécifiée ou leAccountOwnerdu compte. -
getOnHoldDetailsWithOperationId - Cette méthode retourne les détails de transaction bloquée pour un ID opération et un jeton spécifiés. Cette méthode peut être appelée par
Token AdminouToken Auditordu code de chaîne, ou par un participant à la transaction (expéditeur, destinataire, notaire). -
getOnHoldBalanceWithOperationId - Cette méthode retourne le solde bloqué pour un ID opération et un jeton spécifiés. Cette méthode peut être appelée par
Token AdminouToken Auditordu code de 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 de détruire une quantité spécifiée de jetons.
-
approveBurn - Cette méthode peut être appelée par un notaire du 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 destinataire. Les deux API suivantes sont appelées ensemble en tant que transaction atomique à l'aide de l'API de validation en deux phases du mandataire REST d'Oracle Blockchain Platform. Les transferts confidentiels sont effectués de cette manière car les collectes de données privées des deux organisations sont distinctes et ne peuvent pas être consultées dans une seule transaction.
Les deux transactions sont envoyées à l'aide de l'API de validation en deux phases du mandataire REST. Pour plus d'informations, voir 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 executeHoldTokensSender et 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 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 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 destinataire.
Méthodes de la trousse SDK TypeScript modifiées pour le code de 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 SDK standard ainsi que des méthodes supplémentaires.
-
isUserTokenAdmin - Cette méthode retourne la valeur booléenne
truesi l'appelant de la fonction estToken Admin. Sinon, la méthode retournefalse. -
addTokenAdmin - Cette méthode ajoute un utilisateur en tant qu'
Token Admindu code de chaîne de jeton. Comme la valeuruser_idest stockée dans le livre public, n'utilisez pas d'informations d'identification personnelle pour la valeuruser_id. -
removeTokenAdmin - Cette méthode supprime un utilisateur en tant qu'
Token Admindu code de chaîne de jeton. -
getAllTokenAdmins - Cette méthode retourne la liste de tous les utilisateurs qui sont des
Token Admindu code de chaîne. -
addOrgAdmin - Cette méthode ajoute un utilisateur en tant que
Org Adminde l'organisation. Comme la valeuruser_idest stockée dans le livre public, n'utilisez pas d'informations d'identification personnelle pour la valeuruser_id. -
removeOrgAdmin - Cette méthode supprime un utilisateur en tant que
Org Adminde l'organisation. -
getAllOrgAdmins - Cette méthode retourne la liste de tous les utilisateurs qui sont des
Org Admind'une organisation. -
addTokenAuditor - Cette méthode ajoute un utilisateur en tant qu'
Token Auditordu code de chaîne. Comme la valeuruser_idest stockée dans le livre public, n'utilisez pas d'informations d'identification personnelle pour la valeuruser_id. -
removeTokenAuditor - Cette méthode supprime un utilisateur en tant qu'
Token Auditordu code de chaîne. -
getAllTokenAuditors - Cette méthode retourne toutes les
Token Auditorsdu code de chaîne. -
addOrgAuditor - Cette méthode ajoute un utilisateur en tant qu'
Org Auditordu code de chaîne. -
removeOrgAuditor - Cette méthode supprime un utilisateur en tant qu'
Org Auditordu code de chaîne. -
getAllOrgAuditors - Cette méthode retourne toutes les
Org Auditorsdu code de chaîne. -
getAllTokens - Cette méthode retourne toutes les ressources de jeton enregistrées dans la base de données d'état. Cette méthode utilise des interrogations Berkeley DB SQL riches et ne peut être appelée qu'en cas de connexion au réseau distant Oracle Blockchain Platform.
-
getDecimals - Cette méthode retourne le nombre de décimales disponibles pour un jeton fractionnaire. Si le comportement
divisiblen'est pas spécifié, la valeur par défaut est 0. -
history - Cette méthode retourne l'historique du jeton spécifié.
-
getTokensByName - Cette méthode retourne toutes les ressources de jeton portant le nom spécifié. Cette méthode utilise des interrogations Berkeley DB SQL riches et ne peut être appelée qu'en cas de connexion au réseau distant Oracle Blockchain Platform.
-
createAccount - Cette méthode crée un compte pour un utilisateur et un jeton spécifiés. Chaque utilisateur qui a des jetons à tout moment doit avoir un compte.
-
associateToken - Cette méthode associe un jeton fongible à un compte.
-
getAllAccounts - Cette méthode retourne une liste de tous les comptes. Cette méthode utilise des interrogations Berkeley DB SQL riches et ne peut être appelée qu'en cas de connexion au réseau distant Oracle Blockchain Platform.
-
getAllOrgAccounts - Cette méthode retourne une liste de tous les comptes de jeton appartenant à une organisation spécifiée.
-
getAccountsByUser - Cette méthode retourne une liste de tous les ID compte pour un utilisateur et une organisation spécifiés.
-
getUserByAccountId - Cette méthode retourne les détails de l'utilisateur pour un compte spécifié.
-
getAccountWithStatus - Cette méthode retourne les détails du compte pour un utilisateur et un jeton spécifiés.
-
getAccountDetailsByCustomAccountId - Cette méthode retourne tous les détails du compte de jeton pour une organisation et un ID compte spécifiés.
-
getAccountBalance - Cette méthode retourne le solde d'un compte spécifié.
-
getAccountStatus - Cette méthode obtient le statut courant 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 pas effectuer d'opérations de mise à jour du compte. Un compte supprimé ne peut pas être suspendu.
-
deleteAccount - Cette méthode supprime un compte de jeton. Après la suppression d'un compte, vous ne pouvez pas effectuer d'opérations de mise à jour du compte. Le compte supprimé est à l'état final et ne peut pas passer à un autre état. Pour supprimer un compte, le solde du compte et le solde bloqué doivent être nuls.
-
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(le 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ées par jour) pour un compte spécifié. -
getAccountOnHoldBalance - Cette méthode retourne le solde bloqué 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 retourne une liste de tous les comptes pour un rôle et un jeton spécifiés.
-
getOrgAccountsByRole - Cette méthode retourne des informations sur tous les comptes ayant un rôle spécifié dans une organisation spécifiée.
-
getUsersByRole - Cette méthode retourne une liste de tous les utilisateurs pour un rôle et un jeton spécifiés.
-
getOrgUsersByRole - Cette méthode retourne des informations sur tous les utilisateurs ayant un rôle spécifié dans une organisation spécifiée.
-
isInRole - Cette méthode indique si un utilisateur a un rôle spécifié.
-
getAccountTransactionHistory - Cette méthode retourne un tableau des détails de l'historique des transactions pour un compte spécifié.
-
getAccountTransactionHistoryWithFilters - Cette méthode retourne un tableau des détails de l'historique des transactions pour un compte spécifié. Cette méthode ne peut être appelée que si elle est connectée au réseau Oracle Blockchain Platform distant.
-
getAccountTrxHistoryWithFiltersFromRichHistDB - Cette méthode retourne un tableau des détails de l'historique des transactions à partir de la base de données d'historique enrichi.
-
getOrgAccountsTrxHistoryWithFiltersFromRichHistDB - Cette méthode retourne un tableau des détails de l'historique des transactions pour une organisation spécifiée à partir de la base de données de l'historique complet.
-
getAllAccountsTrxHistoryWithFiltersFromRichHistDB - Cette méthode retourne un tableau des détails de l'historique des transactions pour toutes les organisations à partir de la base de données de l'historique complet.
-
consolidateRunningBalanceInTransactions - Cette méthode calcule les soldes de compte courant et enregistre les valeurs mises à jour dans les paires clé/valeur de transaction. En général, les administrateurs de système appellent cette méthode à l'aide d'un programmateur de mandataire REST.
-
processSendersAndReceivers - Cette méthode calcule et met à jour les soldes de compte de jeton qui sont répartis dans les paires clé/valeur de l'expéditeur et du destinataire créées lors des transferts interorganisations, puis supprime les paires clé/valeur de l'expéditeur et du destinataire, qui ne sont plus utilisées. En général, les administrateurs de système appellent cette méthode à l'aide d'un programmateur de mandataire REST.
-
deleteTransactions - Cette méthode supprime les anciennes transactions de la base de données d'état.
-
getTransactionById - Cette méthode retourne l'historique d'une ressource
Transaction. -
issueTokens - Minters peut appeler cette méthode pour créer une quantité spécifiée de jetons.
-
getTotalMintedTokens - Cette méthode retourne le nombre total de jetons frappés.
-
getNetTokens - Cette méthode renvoie la quantité nette de jetons disponibles dans le système. Les jetons nets sont la quantité de jetons restants après que les jetons sont brûlés. Sous forme d'équation : net tokens = total des jetons frappés - total des jetons brûlés. Si aucun jeton n'est brûlé, le nombre de jetons nets est égal au nombre total de jetons frappés.
-
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 trotteur pour envoyer une demande au notaire du trotteur afin de créer une quantité spécifiée de jetons. Le compte de notaire spécifié est responsable de l'achèvement ou du déblocage du blocage.
-
executeHold - Les notaires peuvent appeler cette méthode pour approuver une opération de blocage, qui peut être 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 retourne une liste de tous les ID de blocage pour un compte spécifié.
-
getOnHoldDetailsWithOperationId - Cette méthode retourne les détails de transaction bloquée pour un ID opération et un jeton spécifiés.
-
getOnHoldBalanceWithOperationId - Cette méthode retourne le solde bloqué pour un ID opération et un jeton spécifiés. Cette méthode peut être appelée par n'importe qui.
TypeScript Méthodes de trousse SDK 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 destinataire. Les deux API suivantes sont appelées ensemble en tant que transaction atomique à l'aide de l'API de validation en deux phases du mandataire REST d'Oracle Blockchain Platform. Les transferts confidentiels sont effectués de cette manière car les collectes de données privées des deux organisations sont distinctes et ne peuvent pas être consultées 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 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 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 destinataire.