Projet TypeScript échafaudé pour le cadre de taxonomie de jeton
Blockchain App Builder extrait l'entrée de votre fichier de spécification de jeton et génère un projet de code chaîne échafaudé entièrement fonctionnel.
Le projet génère automatiquement des classes et des fonctions de cycle de vie de jeton, y compris les méthodes CRUD et non-CRUD. La validation des arguments, la sérialisation/désérialisation et la capacité de persistance transparente sont toutes prises en charge automatiquement.
Pour plus d'informations sur le projet échafaudé et les méthodes qui ne sont pas directement liées aux jetons, reportez-vous à Projet de code chaîne TypeScript échafaudé.
Modèle
Chaque classe de modèle avec jeton étend la classe Token
, qui à son tour étend la classe OchainModel
. La classe Token
est importée à partir de ../lib/token
. La fonctionnalité de persistance transparente, ou ORM simplifié, est capturée dans la classe OchainModel
.
import * as yup from 'yup';
import { Id, Mandatory, Validate, ReadOnly } from '../lib/decorators';
import { Token } from '../lib/token';
@Id('token_id')
export class Digicur extends Token<Digicur> {
public readonly assetType = 'otoken';
@Mandatory()
@Validate(yup.string().required().matches(/^[A-Za-z0-9][A-Za-z0-9_-]*$/).max(16))
public token_id: string;
@ReadOnly('digicur')
public token_name: string;
@Validate(yup.string().trim().max(256))
public token_desc: string;
@ReadOnly('fungible')
public token_type: string;
@ReadOnly(["divisible","mintable","transferable","burnable","holdable","roles"])
public behaviors: string[];
@ReadOnly({minter_role_name: "minter", burner_role_name: "burner", notary_role_name: "notary"})
public roles: object;
@ReadOnly({max_mint_quantity: 20000})
public mintable: object;
@ReadOnly({decimal: 1})
public divisible: object;
@Validate(yup.number())
public token_to_currency_ratio: number;
@Validate(yup.string())
public currency_representation: string;
}
Contrôleur
La classe de contrôleur principale étend la classe OchainController
. Il n'existe qu'un seul contrôleur principal.
export class DigiCurrCCController extends OchainController{
Vous pouvez créer autant de classes, de fonctions ou de fichiers que vous le souhaitez, mais seules les méthodes définies dans la classe de contrôleur principale peuvent être appelées. Les autres méthodes sont masquées.
Vous pouvez utiliser les méthodes SDK de jeton pour écrire des méthodes personnalisées pour votre application métier.
Méthodes de jeton générées automatiquement
Blockchain App Builder génère automatiquement des méthodes pour prendre en charge les jetons et les cycles de vie des jetons. Vous pouvez utiliser ces méthodes pour initialiser des jetons, gérer des rôles et des comptes et effectuer d'autres tâches de cycle de vie de jeton sans codage supplémentaire. Les méthodes de contrôleur doivent avoir un décorateur @Validator(...params)
pour pouvoir être appelées.
- Gestion des contrôles d'accès
- Gestion de la configuration des jetons
- Gestion de comptes
- Gestion des rôles
- Gestion de l'historique des transactions
- Gestion du comportement des jetons
Méthodes de gestion du contrôle d'accès
-
addTokenAdmin
- Cette méthode ajoute un utilisateur en tant que
Token Admin
du code chaîne. Cette méthode ne peut être appelée que par un élémentToken Admin
du code chaîne. -
removeTokenAdmin
- Cette méthode enlève un utilisateur en tant qu'élément
Token Admin
du code chaîne. Cette méthode ne peut être appelée que par un élémentToken Admin
du code chaîne. -
isTokenAdmin
- Cette méthode renvoie la valeur booléenne
true
si l'appelant de la fonction est unToken Admin
, sinon elle renvoiefalse
. Un élémentToken Admin
ouOrg Admin
peut appeler cette fonction sur n'importe quel autre utilisateur du réseau blockchain. Les autres utilisateurs ne peuvent appeler cette méthode que sur leur propre compte. -
getAllTokenAdmins
- Cette méthode renvoie la liste de tous les utilisateurs qui sont un
Token Admin
du code chaîne. Cette méthode ne peut être appelée que parToken Admin
ou n'importe quelle valeurOrg Admin
du code chaîne. -
addOrgAdmin
- Cette méthode ajoute un utilisateur en tant qu'utilisateur
Org Admin
de l'organisation. Cette méthode peut uniquement être appelée par un élémentToken Admin
du code chaîne ou par un élémentOrg Admin
de l'organisation indiquée. -
removeOrgAdmin
- Cette méthode supprime un utilisateur en tant qu'utilisateur
Org Admin
de l'organisation. Cette méthode peut uniquement être appelée par un élémentToken Admin
du code chaîne ou par un élémentOrg Admin
de l'organisation indiquée. -
getOrgAdmins
- Cette méthode renvoie la liste de tous les utilisateurs qui sont un
Org Admin
d'une organisation. Cette méthode ne peut être appelée que par un élémentToken Admin
du code chaîne ou par un élémentOrg Admin
de n'importe quelle organisation.
-
addTokenAdmin
- Cette méthode ajoute un utilisateur en tant que
Token Admin
du code chaîne. Cette méthode ne peut être appelée que par un élémentToken Admin
du code chaîne. -
removeTokenAdmin
- Cette méthode enlève un utilisateur en tant qu'élément
Token Admin
du code chaîne. Cette méthode ne peut être appelée que par un élémentToken Admin
du code chaîne. -
isTokenAdmin
- Cette méthode renvoie la valeur booléenne
true
si l'appelant de la fonction est unToken Admin
, sinon elle renvoiefalse
. Un élémentToken Admin
,Token Auditor
,Org Admin
ouOrg Auditor
peut 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. -
getAllTokenAdmins
- Cette méthode renvoie la liste de tous les utilisateurs qui sont un
Token Admin
du code chaîne. Cette méthode ne peut être appelée que par l'élémentToken Admin
ouToken Auditor
du code chaîne. -
addOrgAdmin
- Cette méthode ajoute un utilisateur en tant qu'utilisateur
Org Admin
de l'organisation. Cette méthode peut uniquement être appelée par un élémentToken Admin
du code chaîne ou par un élémentOrg Admin
de l'organisation indiquée. -
removeOrgAdmin
- Cette méthode supprime un utilisateur en tant qu'utilisateur
Org Admin
de l'organisation. Cette méthode peut uniquement être appelée par un élémentToken Admin
du code chaîne ou par un élémentOrg Admin
de l'organisation indiquée. -
getOrgAdmins
- Cette méthode renvoie la liste de tous les utilisateurs qui sont un
Org Admin
d'une organisation. Cette méthode ne peut être appelée que par un élémentToken Admin
,Token Auditor
,Org Admin
ouOrg Auditor
. -
addTokenAuditor
- Cette méthode ajoute un utilisateur en tant que
Token Auditor
du code chaîne. Cette méthode ne peut être appelée que par un élémentToken Admin
du code chaîne. -
removeTokenAuditor
- Cette méthode enlève un utilisateur en tant qu'élément
Token Auditor
du code chaîne. Cette méthode ne peut être appelée que par un élémentToken Admin
du code chaîne. -
getTokenAuditors
- Cette méthode renvoie l'ensemble des éléments
Token Auditors
du code chaîne. Cette méthode ne peut être appelée que par un élémentToken Admin
ouToken Auditor
du code chaîne. -
addOrgAuditor
- Cette méthode ajoute un utilisateur en tant que
Org Auditor
du code chaîne. Cette méthode ne peut être appelée que par un élémentToken Admin
ouOrg Admin
du code chaîne. -
removeOrgAuditor
- Cette méthode enlève un utilisateur en tant qu'élément
Org Auditor
du code chaîne. Cette méthode ne peut être appelée que par un élémentToken Admin
ouOrg Admin
du code chaîne. -
getOrgAuditors
- Cette méthode renvoie l'ensemble des éléments
Org Auditors
du code chaîne. Cette méthode ne peut être appelée que parToken Admin
,Token Auditor
,Org Admin
ouOrg Auditor
.
Méthodes de gestion de la configuration des jetons
-
init
- Cette méthode est appelée lorsque le code chaîne est déployé ou mis à niveau. Chaque élément
Token Admin
est identifié par les informationsuser_id
etorg_id
dans le paramètre obligatoireadminList
.user_id
est le nom utilisateur ou l'ID courriel du propriétaire de l'instance ou de l'utilisateur qui est connecté à l'instance.org_id
est l'ID du fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation réseau actuelle. -
initialize<Token Name>Token
- Cette méthode crée un jeton et initialise les propriétés du jeton. La ressource et ses propriétés sont enregistrées dans la base de données d'état. Cette méthode ne peut être appelée que par un élément
Token Admin
du code chaîne. -
update<Token Name>Token
- Cette méthode met à jour les propriétés de jeton. Une fois la ressource de jeton créée, seules la propriété
token_desc
et les propriétés personnalisées peuvent être mises à jour. Cette méthode ne peut être appelée que par un élémentToken Admin
du code chaîne. -
getTokenDecimals
- Cette méthode renvoie le nombre de décimales configurées pour un jeton fractionnaire. Si le comportement
divisible
n'a pas été indiqué pour le jeton, la valeur par défaut est 0. Cette méthode ne peut être appelée que par un élémentToken Admin
ouOrg Admin
du code chaîne. -
getTokenById
- Cette méthode renvoie un objet de jeton s'il est présent dans la base de données d'état. Cette méthode ne peut être appelée que par un élément
Token Admin
ouOrg Admin
du code chaîne. -
getTokenHistory
- Cette méthode renvoie l'historique des jetons pour un ID de jeton spécifié. Tout utilisateur peut appeler cette méthode.
-
getAllTokens
- Cette méthode renvoie tous les jetons stockés dans la base de données d'état. Cette méthode ne peut être appelée que par un élément
Token Admin
ouOrg Admin
du code chaîne. 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. -
getTokensByName
- Cette méthode renvoie tous les objets de jeton portant le nom indiqué. Cette méthode ne peut être appelée que par un élément
Token Admin
ouOrg Admin
du code chaîne. 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.
-
init
- Cette méthode est appelée lorsque le code chaîne est déployé ou mis à niveau. Chaque élément
Token Admin
est identifié par les informationsuser_id
etorg_id
dans le paramètre obligatoireadminList
.user_id
est le nom utilisateur ou l'ID courriel du propriétaire de l'instance ou de l'utilisateur qui est connecté à l'instance.org_id
est l'ID du fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation réseau actuelle. -
initialize<Token Name>Token
- Cette méthode crée un jeton et initialise les propriétés du jeton. La ressource et ses propriétés sont enregistrées dans la base de données d'état. Cette méthode ne peut être appelée que par un élément
Token Admin
du code chaîne. -
update<Token Name>Token
- Cette méthode met à jour les propriétés de jeton. Une fois la ressource de jeton créée, seules la propriété
token_desc
et les propriétés personnalisées peuvent être mises à jour. Cette méthode ne peut être appelée que par un élémentToken Admin
du code chaîne. -
getTokenDecimals
- Cette méthode renvoie le nombre de décimales configurées pour un jeton fractionnaire. Si le comportement
divisible
n'a pas été indiqué pour le jeton, la valeur par défaut est 0. Cette méthode ne peut être appelée que parToken Admin
,Token Auditor
,Org Admin
ouOrg Auditor
. -
getTokenById
- Cette méthode renvoie un objet de jeton s'il est présent dans la base de données d'état. Cette méthode ne peut être appelée que par
Token Admin
,Token Auditor
,Org Admin
ouOrg Auditor
. -
getTokenHistory
- Cette méthode renvoie l'historique des jetons pour un ID de jeton spécifié. Cette méthode ne peut être appelée que par
Token Admin
,Token Auditor
,Org Admin
ouOrg Auditor
. -
getAllTokens
- Cette méthode renvoie tous les jetons stockés dans la base de données d'état. Cette méthode ne peut être appelée que par
Token Admin
,Token Auditor
,Org Admin
ouOrg 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. -
getTokensByName
- Cette méthode renvoie tous les objets de jeton portant le nom indiqué. Cette méthode ne peut être appelée que par
Token Admin
,Token Auditor
,Org Admin
ouOrg 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.
Méthodes de gestion des comptes
-
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 un ensemble alphanumérique de caractères, précédé de
oaccount~<token asset name>~
et suivi d'un hachage du nom utilisateur ou de l'ID courriel (user_id
) du propriétaire de l'instance ou de l'utilisateur qui est connecté à l'instance, l'ID de fournisseur de services d'adhésion (org_id
) de l'utilisateur dans l'organisation réseau actuelle. Cette méthode peut uniquement être appelée par un élémentToken Admin
du code chaîne ou par un élémentOrg Admin
de 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 Admin
du code chaîne ou par un élémentOrg Admin
de l'organisation concernée. -
getAccount
- Cette méthode renvoie les détails de compte pour un utilisateur et un jeton spécifiés. Cette méthode ne peut être appelée que par un élément
Token Admin
du code chaîne, un élémentOrg Admin
de l'organisation indiquée ou l'élémentAccountOwner
du compte. -
getAccountHistory
- Cette méthode renvoie les détails de l'historique du compte pour un utilisateur et un jeton spécifiés. Cette méthode ne peut être appelée que par une chaîne (
Token Admin
) du code chaîne ou par la chaîne (AccountOwner
) du compte. -
getAccountOnHoldBalance
- Cette méthode renvoie le solde de blocage actuel pour un compte et un jeton spécifiés. Cette méthode ne peut être appelée que par un élément
Token Admin
du code chaîne, un élémentOrg Admin
de l'organisation indiquée ou l'élémentAccountOwner
du compte. -
getAllAccounts
- Cette méthode renvoie la liste de tous les comptes. Cette méthode ne peut être appelée que par un élément
Token Admin
du code chaîne. 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. -
getUserByAccountId
- Cette méthode renvoie les détails de l'utilisateur (
org_id
etuser_id
) pour un compte spécifié. Cette méthode peut être appelée par tout utilisateur du code chaîne. -
getAccountBalance
- Cette méthode renvoie le solde actuel pour un compte et un jeton spécifiés. Cette méthode ne peut être appelée que par un élément
Token Admin
du code chaîne, un élémentOrg Admin
de l'organisation indiquée ou l'élémentAccountOwner
du compte. -
getAllOrgAccounts
- Cette méthode renvoie la liste de tous les comptes de jetons appartenant à une organisation spécifiée. Cette méthode peut uniquement être appelée par un élément
Token Admin
du code chaîne ou par un élémentOrg Admin
de l'organisation indiquée.
-
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 un ensemble alphanumérique de caractères, précédé de
oaccount~<token asset name>~
et suivi d'un hachage du nom utilisateur ou de l'ID courriel (user_id
) du propriétaire de l'instance ou de l'utilisateur qui est connecté à l'instance, l'ID de fournisseur de services d'adhésion (org_id
) de l'utilisateur dans l'organisation réseau actuelle. Cette méthode peut uniquement être appelée par un élémentToken Admin
du code chaîne ou par un élémentOrg Admin
de 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 Admin
du code chaîne ou par un élémentOrg Admin
de l'organisation concernée. -
getAccount
- Cette méthode renvoie les détails de compte pour un utilisateur et un jeton spécifiés. Cette méthode ne peut être appelée que par
Token Admin
ouToken Auditor
,Org Admin
ouOrg Auditor
de l'organisation indiquée ouAccountOwner
du compte. -
getAccountHistory
- Cette méthode renvoie les détails de l'historique du compte pour un utilisateur et un jeton spécifiés. Cette méthode ne peut être appelée que par une chaîne (
Token Admin
) du code chaîne ou par la chaîne (AccountOwner
) du compte. -
getAccountOnHoldBalance
- Cette méthode renvoie le solde de blocage actuel pour un compte et un jeton spécifiés. Cette méthode ne peut être appelée que par
Token Admin
ouToken Auditor
,Org Admin
ouOrg Auditor
de l'organisation indiquée ouAccountOwner
du compte. -
getAllAccounts
- Cette méthode renvoie la liste de tous les comptes. Cette méthode ne peut être appelée que par
Token Admin
ouToken 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. -
getUserByAccountId
- Cette méthode renvoie les détails de l'utilisateur (
org_id
etuser_id
) pour un compte spécifié. Cette méthode peut être appelée par un élémentToken Admin
ouToken Auditor
, ou par un élémentOrg Admin
ouOrg Auditor
de l'organisation indiquée. -
getAccountBalance
- Cette méthode renvoie le solde actuel pour un compte et un jeton spécifiés. Cette méthode ne peut être appelée que par
Token Admin
ouToken Auditor
,Org Admin
ouOrg Auditor
de l'organisation indiquée ouAccountOwner
du compte. -
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 Admin
ouToken Auditor
, ou par un élémentOrg Admin
ouOrg Auditor
de l'organisation indiquée.
Méthodes de gestion des rôles
-
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 Admin
du code chaîne ou par un élémentOrg Admin
de 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 Admin
du code chaîne ou par un élémentOrg Admin
de 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 un élément
Token Admin
du code chaîne. -
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 ne peut être appelée que par le code chaîne
Token Admin
, par le code chaîneOrg Admin
de l'organisation indiquée ou par le code chaîneAccount Owner
indiqué dans les paramètres. -
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 un élément
Token Admin
du code chaîne. -
isInRole
- Cette méthode renvoie une valeur booléenne pour indiquer si un utilisateur et un jeton ont un rôle spécifié. Cette méthode peut uniquement être appelée par une chaîne (
Token Admin
) du code chaîne, par la chaîne (AccountOwner
) du compte ou par une chaîne (Org Admin
) de l'organisation indiquée. -
getOrgAccountsByRole
- Cette méthode renvoie des informations sur tous les comptes qui ont un rôle spécifié dans une organisation spécifiée. Cette méthode peut uniquement être appelée par un élément
Token Admin
du code chaîne ou par un élémentOrg Admin
de l'organisation indiquée. -
getOrgUsersByRole
- Cette méthode renvoie des informations sur tous les utilisateurs qui ont un rôle spécifié dans une organisation donnée. Cette méthode peut uniquement être appelée par un élément
Token Admin
du code chaîne ou par un élémentOrg Admin
de l'organisation indiquée.
-
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 Admin
du code chaîne ou par un élémentOrg Admin
de 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 Admin
du code chaîne ou par un élémentOrg Admin
de 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 Admin
ouToken Auditor
. -
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 Admin
ouToken Auditor
, parOrg Admin
ouOrg Auditor
de l'organisation indiquée ou parAccount Owner
spécifié dans les paramètres. -
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 Admin
ouToken Auditor
. -
isInRole
- Cette méthode renvoie une valeur booléenne pour indiquer si un utilisateur et un jeton ont un rôle spécifié. Cette méthode ne peut être appelée que par
Token Admin
ouToken Auditor
,AccountOwner
du compte ouOrg Admin
ouOrg Auditor
de l'organisation indiquée. -
getOrgAccountsByRole
- Cette méthode renvoie des informations sur tous les comptes qui ont un rôle spécifié dans une organisation spécifiée. Cette méthode ne peut être appelée que par
Token Admin
,Token Auditor
,Org Admin
ouOrg Auditor
. -
getOrgUsersByRole
- Cette méthode renvoie des informations sur tous les utilisateurs qui ont un rôle spécifié dans une organisation donnée. Cette méthode peut être appelée uniquement par un élément
Token Admin
ouToken Auditor
, par un élémentOrg Admin
ouOrg Auditor
de l'organisation indiquée.
Méthodes de gestion de l'historique des transactions
-
getAccountTransactionHistory
- Cette méthode renvoie un tableau des détails de l'historique des transactions de compte pour un utilisateur et un jeton spécifiés. Cette méthode peut uniquement être appelée par l'élément
Token Admin
du code chaîne, par un élémentOrg Admin
de l'organisation indiquée ou par l'élémentAccountOwner
du compte. -
getAccountTransactionHistoryWithFilters
- Cette méthode renvoie un tableau des détails de l'historique des transactions de compte pour un utilisateur et un jeton spécifiés. Cette méthode peut uniquement être appelée par l'élément
Token Admin
du code chaîne, par un élémentOrg Admin
de l'organisation indiquée ou par l'élémentAccountOwner
du compte. Cette méthode ne peut être appelée que lorsqu'elle est connectée au réseau Oracle Blockchain Platform distant. -
getSubTransactionsById
- Cette méthode renvoie un tableau 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 l'élément
Token Admin
du code chaîne ou par l'élémentAccountOwner
du compte. -
getSubTransactionsByIdWithFilters
- Cette méthode renvoie un tableau des détails de l'historique des sous-transactions de compte pour une transaction spécifiée.
-
getTransactionById
- Cette méthode renvoie l'historique d'une ressource
Transaction
. -
deleteHistoricalTransactions
- Cette méthode supprime les anciennes transactions de la base de données d'état.
-
getAccountTransactionHistoryWithFiltersFromRichHistDB
- Vous pouvez synchroniser les données avec la base de données d'historique enrichie, puis extraire les données à l'aide d'appels d'API de code chaîne. Cette méthode extrait l'historique des transactions de la base de données d'historique enrichi. Pour pouvoir utiliser cette méthode, vous devez exécuter Oracle Autonomous Database avec Oracle REST Data Services (ORDS) et OAuth activé, comme décrit dans Oracle Database View Definitions for Wholesale CBDC dans Oracle Blockchain Platform Digital Assets Edition.
-
getAccountTransactionHistory
- Cette méthode renvoie un tableau 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 Admin
ouToken Auditor
,Org Admin
ouOrg Auditor
de l'organisation indiquée ouAccountOwner
du 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 Admin
ouToken Auditor
,Org Admin
ouOrg Auditor
de l'organisation indiquée ouAccountOwner
du compte. -
getSubTransactionsById
- Cette méthode renvoie un tableau 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 Admin
,Token Auditor
ouAccountOwner
qui a appelé la transaction. -
getSubTransactionsByIdWithFilters
- Cette méthode renvoie un tableau des détails de l'historique des sous-transactions de compte pour une transaction spécifiée.
-
getTransactionById
- Cette méthode renvoie l'historique d'une ressource
Transaction
. Cette méthode ne peut être appelée que par un élémentToken Admin
ouToken Auditor
, par un élémentOrg Admin
ouOrg Auditor
de l'organisation indiquée ou par un participant à la transaction (expéditeur, destinataire ou notaire). -
deleteHistoricalTransactions
- Cette méthode supprime les anciennes transactions de la base de données d'état.
Méthodes de gestion du comportement des jetons - Comportement Mintable
-
issueTokens
- Cette méthode extrait les jetons, qui sont ensuite détenus par l'appelant de la méthode. L'appelant doit avoir un compte et le rôle de mineur. Le nombre de jetons pouvant être extraits est limité par la propriété
max_mint_quantity
du comportementmintable
dans le fichier de spécification. Si la propriétémax_mint_quantity
n'est pas spécifiée, un nombre illimité de jetons peut être extrait. La quantité doit être comprise dans les valeurs décimales spécifiées par le paramètredecimal
du comportementdivisible
dans le fichier de spécification. Cette méthode ne peut être appelée que par l'élémentAccountOwner
du compte avec le rôle minter. -
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 un élément
Token Admin
ouOrg Admin
du code chaîne. -
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 un élément
Token Admin
ouOrg Admin
du code chaîne.
-
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 Admin
ouOrg 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 Admin
ouOrg Auditor
.
Méthodes de gestion du comportement des jetons - Comportement transférable
-
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
decimal
du comportementdivisible
dans le fichier de spécification. Cette méthode ne peut être appelée que par leAccountOwner
du compte. -
bulkTransferTokens
- Cette méthode transfère les jetons en masse du compte de l'appelant vers les comptes indiqués dans l'objet
flow
. Les quantités doivent être comprises dans les valeurs décimales spécifiées par le paramètredecimal
du comportementdivisible
dans l'appelant de spécification file.The de cette méthode doivent avoir un compte déjà créé. Cette méthode ne peut être appelée que par leAccountOwner
du compte.
-
transferTokens
- Cette méthode transfère les jetons de l'appelant vers un compte spécifié.
-
bulkTransferTokens
- Cette méthode transfère les jetons en masse du compte de l'appelant vers les comptes indiqués dans l'objet
flow
. Les quantités doivent être comprises dans les valeurs décimales spécifiées par le paramètredecimal
du comportementdivisible
dans l'appelant de spécification file.The de cette méthode doivent avoir un compte déjà créé. Cette méthode ne peut être appelée que par leAccountOwner
du compte.
Méthodes de gestion du comportement des jetons - Comportement pouvant être conservé
-
holdTokens
- Cette méthode crée un blocage pour le compte du propriétaire des jetons avec le compte
to_account_id
. Un compte notaire est spécifié, qui 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é. Un compte doit déjà être créé pour l'appelant de cette méthode. Cette méthode ne peut être appelée que par leAccountOwner
du compte. -
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
quantity
est 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'IDAccountOwner
avec le rôlenotary
pour 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
AccountOwner
avec le rôlenotary
dans 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 un élément
Token Admin
du code chaîne, un élémentOrg Admin
de l'organisation indiquée ou l'élémentAccountOwner
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 n'importe qui.
-
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.
-
holdTokens
- Cette méthode crée un blocage pour le compte du propriétaire des jetons avec le compte
to_account_id
. -
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
quantity
est 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'IDAccountOwner
avec le rôlenotary
pour 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
AccountOwner
avec le rôlenotary
dans 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).
Méthodes de gestion du comportement des jetons - Comportement gravable
-
burnTokens
- Cette méthode désactive, ou brûle, les jetons du compte de l'appelant de transaction. L'appelant de cette méthode doit avoir un compte et le rôle de brûleur. La quantité doit être comprise dans les valeurs décimales spécifiées par le paramètre
decimal
du comportementdivisible
dans le fichier de spécification. Cette méthode peut être appelée par leAccountOwner
du compte avec le rôle de brûleur.
-
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, qui doit être inférieure ou égale à leur solde disponible. Lorsqu'une demande de gravure démarre, le montant spécifié est immédiatement déduit du solde disponible et ajouté au champ
onhold_burn_balance
. Si la demande est approuvée, les jetons sont brûlés. Si la demande est rejetée, les jetons sont renvoyés du champonhold_burn_balance
vers le solde disponible. -
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.
-
getAccountOnHoldBurnBalance
- Cette méthode renvoie le solde de consommation en attente pour un utilisateur donné. Cette méthode ne peut être appelée que par
Token Admin
,Token Auditor
,Org Admin
,Org Auditor
ou par le propriétaire du compte. -
burnTokens
- Cette méthode désactive, ou brûle, les jetons du compte de l'appelant de transaction.
Méthodes personnalisées
Vous pouvez utiliser les méthodes SDK de jeton pour écrire des méthodes personnalisées pour votre application métier.
Pour éviter les doubles dépenses, ne combinez pas plusieurs fonctions asynchrones qui fonctionnent sur les mêmes paires clé-valeur dans la base de données d'état. Utilisez plutôt la méthode bulkTransferTokens
pour effectuer plusieurs transferts dans une seule méthode.
L'exemple suivant montre comment utiliser des méthodes SDK de jeton dans des méthodes personnalisées. Lorsque la méthode buyTicket
est appelée, elle transfère 20 jetons du compte de l'appelant vers le compte du vendeur et renvoie le message de transaction du transfert.
@Validator(yup.string(), yup.string(), yup.string(), yup.string(), yup.string())
public async buyTicket(token_id: string, seller_org_id: string, seller_user_id: string) {
const token = await this.getTokenObject(token_id);
/**
* The following method this.Ctx.Account.generateAccountId(token_id, seller_org_id, seller_user_id) generates account id of the seller.
*/
const seller_account_id = await this.Ctx.Account.generateAccountId(token_id, seller_org_id, seller_user_id);
/**
* The following method this.Ctx.Token.transfer(seller_account_id, 20, token) transfers the quantity 20 from caller's
* account & to seller's account.
*/
const transaction = await this.Ctx.Token.transfer(seller_account_id, 20, token);
return transaction;
}
Si vous utilisez plusieurs méthodes SDK de jeton dans une méthode personnalisée, n'utilisez pas de méthodes qui affecteront les mêmes paires clé-valeur dans la base de données d'état. L'exemple suivant montre la méthode incorrecte pour effectuer plusieurs transferts :
@Validator(yup.string(), yup.string(), yup.string(), yup.string(), yup.string())
public async sendTokens(token_id: string, user1_org_id: string, user1_user_id: string, user2_org_id: string, user2_user_id: string) {
const token = await this.getTokenObject(token_id);
const user1_account_id = await Account.generateAccountId(token_id, user1_org_id, user1_user_id);
const user2_account_id = await Account.generateAccountId(token_id, user2_org_id, user2_user_id);
await token.transfer(user1_account_id, 20);
await token.transfer(user2_account_id, 30);
}
Utilisez plutôt la méthode bulkTransferTokens
pour effectuer un transfert vers plusieurs comptes à partir du compte de l'appelant, comme indiqué dans le fragment de code suivant.
bulkTransferTokens(token_id: string, flow: object[])
Remarques :
Si vous utilisez plusieurs méthodes SDK de jeton dans une méthode personnalisée qui peut affecter les mêmes paires clé-valeur dans la base de données d'état, activez l'optimisation MVCC pour les codes chaîne de jeton. Pour plus d'informations, voir Optimisation MVCC.Méthodes SDK de jeton
- Gestion des contrôles d'accès
- Gestion de la configuration des jetons
- Gestion de comptes
- Gestion des rôles
- Gestion de l'historique des transactions
- Gestion du comportement des jetons
Méthodes de gestion du contrôle d'accès
Token Admin
, Org Admin
ou AccountOwner
du jeton. Vous pouvez utiliser cette fonctionnalité pour vous assurer que les opérations sont effectuées uniquement par les utilisateurs prévus. Tout accès non autorisé entraîne une erreur. Pour utiliser la fonction de contrôle d'accès, importez la classe Authorization
à partir du module ../lib/auth
.import { Authorization } from '../lib/auth';
-
addAdmin
- Cette méthode ajoute un utilisateur en tant que
Token Admin
du code chaîne de jeton. -
removeAdmin
- Cette méthode enlève un utilisateur en tant qu'utilisateur
Token Admin
du code chaîne de jeton. -
isUserTokenAdmin
- Cette méthode renvoie la valeur booléenne
true
si l'appelant de la fonction est unToken Admin
. Sinon, la méthode renvoiefalse
. -
getAllAdmins
- Cette méthode renvoie la liste de tous les utilisateurs qui sont un
Token Admin
du code chaîne de jeton. -
checkAuthorization
- Utilisez cette méthode pour ajouter une vérification de contrôle d'accès à une opération. Certaines méthodes de jeton peuvent être exécutées uniquement par un élément
Token Admin
ouAccountOwner
du jeton ou par l'élémentMultipleAccountOwner
pour les utilisateurs ayant plusieurs comptes. Le mapping de contrôle d'accès est décrit dans le fichier../lib/constant.ts
. Vous pouvez modifier le contrôle d'accès en modifiant le fichier../lib/constant.ts
. Pour utiliser votre propre contrôle d'accès ou pour désactiver le contrôle d'accès, supprimez le code de contrôle d'accès des méthodes de contrôleur et des méthodes personnalisées générées automatiquement.export const TOKENACCESS = { ADMIN: { isUserTokenAdmin: ["Admin", "OrgAdmin"], addTokenAdmin: ["Admin"], removeTokenAdmin: ["Admin"], getAllAdmins: ["Admin", "OrgAdmin"], addOrgAdmin: ["Admin", "OrgAdminForOrgId"], removeOrgAdmin: ["Admin", "OrgAdminForOrgId"], getOrgAdmins: ["Admin", "OrgAdmin"], }, TOKEN: { save: ["Admin"], getAllTokens: ["Admin", "OrgAdmin"], get: ["Admin", "OrgAdmin"], update: ["Admin"], getDecimals: ["Admin", "OrgAdmin"], getTokensByName: ["Admin", "OrgAdmin"], addRoleMember: ["Admin", "OrgAdminRoleCheck"], removeRoleMember: ["Admin", "OrgAdminRoleCheck"], isInRole: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getTotalMintedTokens: ["Admin", "OrgAdmin"], getNetTokens: ["Admin", "OrgAdmin"], getTokenHistory: ["Admin", "OrgAdmin"], }, ROLE: { getAccountsByRole: ["Admin"], getOrgAccountsByRole: ["Admin", "OrgAdminForOrgId"], getUsersByRole: ["Admin"], getOrgUsersByRole: ["Admin", "OrgAdminForOrgId"], }, TRANSACTION: { deleteTransactions: ["Admin"], },ACCOUNT: { createAccount: ["Admin", "OrgAdminForOrgId"], associateToken: ["Admin", "OrgAdminForAccountId"], getAllAccounts: ["Admin"], getAllOrgAccounts: ["Admin", "OrgAdminForOrgId"], getAccountsByUser: ["Admin", "OrgAdminForOrgId", "MultipleAccountOwner"], getAccount: ["Admin", "OrgAdminForAccountId", "AccountOwner"], history: ["Admin", "AccountOwner"], getAccountTransactionHistory: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getAccountTransactionHistoryWithFilters: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getSubTransactionsById: ["Admin", "TransactionInvoker"], getSubTransactionsByIdWithFilters: ["Admin", "TransactionInvoker"], getAccountBalance: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getAccountOnHoldBalance: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getOnHoldIds: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getConversionHistory: ["Admin", "OrgAdminForAccountId", "AccountOwner"], }, ACCOUNT_STATUS: { get: ["Admin", "OrgAdminForAccountId", "AccountOwner"], history: ["Admin", "OrgAdminForAccountId", "AccountOwner"], activateAccount: ["Admin", "OrgAdminForOrgId"], suspendAccount: ["Admin", "OrgAdminForOrgId"], deleteAccount: ["Admin", "OrgAdminForOrgId"], }, TOKEN_CONVERSION: { initializeExchangePoolUser: ["Admin"], addConversionRate: ["Admin"], updateConversionRate: ["Admin"], getConversionRate: ["Admin", "OrgAdmin", "AnyAccountOwner"], getConversionRateHistory: ["Admin", "OrgAdmin", "AnyAccountOwner"], tokenConversion: ["Admin", "AnyAccountOwner"], getExchangePoolUser: ["Admin"], }, }
-
addOrgAdmin
- Cette méthode ajoute un utilisateur en tant qu'utilisateur
Org Admin
de l'organisation. -
removeOrgAdmin
- Cette méthode supprime un utilisateur en tant qu'utilisateur
Org Admin
de l'organisation. -
getOrgAdmins
- Cette méthode renvoie la liste de tous les utilisateurs qui sont un
Org Admin
d'une organisation.
-
addAdmin
- Cette méthode ajoute un utilisateur en tant que
Token Admin
du code chaîne de jeton. -
removeAdmin
- Cette méthode enlève un utilisateur en tant qu'utilisateur
Token Admin
du code chaîne de jeton. -
isUserTokenAdmin
- Cette méthode renvoie la valeur booléenne
true
si l'appelant de la fonction est unToken Admin
. Sinon, la méthode renvoiefalse
. -
getAllAdmins
- Cette méthode renvoie la liste de tous les utilisateurs qui sont un
Token Admin
du code chaîne de jeton. -
checkAuthorization
- Utilisez cette méthode pour ajouter une vérification de contrôle d'accès à une opération. Certaines méthodes de jeton peuvent être exécutées uniquement par un élément
Token Admin
ouAccountOwner
du jeton ou par l'élémentMultipleAccountOwner
pour les utilisateurs ayant plusieurs comptes. Le mapping de contrôle d'accès est décrit dans le fichier../lib/constant.ts
. Vous pouvez modifier le contrôle d'accès en modifiant le fichier../lib/constant.ts
. Pour utiliser votre propre contrôle d'accès ou pour désactiver le contrôle d'accès, supprimez le code de contrôle d'accès des méthodes de contrôleur et des méthodes personnalisées générées automatiquement.export const TOKENACCESS = { ADMIN: { isUserTokenAdmin: ["Admin", "OrgAdmin"], addTokenAdmin: ["Admin"], removeTokenAdmin: ["Admin"], getAllAdmins: ["Admin", "OrgAdmin"], addOrgAdmin: ["Admin", "OrgAdminForOrgId"], removeOrgAdmin: ["Admin", "OrgAdminForOrgId"], getOrgAdmins: ["Admin", "OrgAdmin"], }, TOKEN: { save: ["Admin"], getAllTokens: ["Admin", "OrgAdmin"], get: ["Admin", "OrgAdmin"], update: ["Admin"], getDecimals: ["Admin", "OrgAdmin"], getTokensByName: ["Admin", "OrgAdmin"], addRoleMember: ["Admin", "OrgAdminRoleCheck"], removeRoleMember: ["Admin", "OrgAdminRoleCheck"], isInRole: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getTotalMintedTokens: ["Admin", "OrgAdmin"], getNetTokens: ["Admin", "OrgAdmin"], getTokenHistory: ["Admin", "OrgAdmin"], }, ROLE: { getAccountsByRole: ["Admin"], getOrgAccountsByRole: ["Admin", "OrgAdminForOrgId"], getUsersByRole: ["Admin"], getOrgUsersByRole: ["Admin", "OrgAdminForOrgId"], }, TRANSACTION: { deleteTransactions: ["Admin"], },ACCOUNT: { createAccount: ["Admin", "OrgAdminForOrgId"], associateToken: ["Admin", "OrgAdminForAccountId"], getAllAccounts: ["Admin"], getAllOrgAccounts: ["Admin", "OrgAdminForOrgId"], getAccountsByUser: ["Admin", "OrgAdminForOrgId", "MultipleAccountOwner"], getAccount: ["Admin", "OrgAdminForAccountId", "AccountOwner"], history: ["Admin", "AccountOwner"], getAccountTransactionHistory: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getAccountTransactionHistoryWithFilters: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getSubTransactionsById: ["Admin", "TransactionInvoker"], getSubTransactionsByIdWithFilters: ["Admin", "TransactionInvoker"], getAccountBalance: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getAccountOnHoldBalance: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getOnHoldIds: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getConversionHistory: ["Admin", "OrgAdminForAccountId", "AccountOwner"], }, ACCOUNT_STATUS: { get: ["Admin", "OrgAdminForAccountId", "AccountOwner"], history: ["Admin", "OrgAdminForAccountId", "AccountOwner"], activateAccount: ["Admin", "OrgAdminForOrgId"], suspendAccount: ["Admin", "OrgAdminForOrgId"], deleteAccount: ["Admin", "OrgAdminForOrgId"], }, TOKEN_CONVERSION: { initializeExchangePoolUser: ["Admin"], addConversionRate: ["Admin"], updateConversionRate: ["Admin"], getConversionRate: ["Admin", "OrgAdmin", "AnyAccountOwner"], getConversionRateHistory: ["Admin", "OrgAdmin", "AnyAccountOwner"], tokenConversion: ["Admin", "AnyAccountOwner"], getExchangePoolUser: ["Admin"], }, }
-
addOrgAdmin
- Cette méthode ajoute un utilisateur en tant qu'utilisateur
Org Admin
de l'organisation. -
removeOrgAdmin
- Cette méthode supprime un utilisateur en tant qu'utilisateur
Org Admin
de l'organisation. -
getOrgAdmins
- Cette méthode renvoie la liste de tous les utilisateurs qui sont un
Org Admin
d'une organisation. -
addTokenAuditor
- Cette méthode ajoute un utilisateur en tant que
Token Auditor
du code chaîne. -
removeTokenAuditor
- Cette méthode enlève un utilisateur en tant qu'élément
Token Auditor
du code chaîne. -
getTokenAuditors
- Cette méthode renvoie l'ensemble des éléments
Token Auditors
du code chaîne. -
addOrgAuditor
- Cette méthode ajoute un utilisateur en tant que
Org Auditor
du code chaîne. -
removeOrgAuditor
- Cette méthode enlève un utilisateur en tant qu'élément
Org Auditor
du code chaîne. -
getOrgAuditors
- Cette méthode renvoie l'ensemble des éléments
Org Auditors
du code chaîne.
Méthodes de gestion de la configuration des jetons
-
save
- Cette méthode crée un jeton et enregistre ses propriétés dans la base de données d'état.
-
update
- Cette méthode met à jour les propriétés de jeton. Une fois la ressource de jeton créée, vous mettez à jour uniquement la valeur
token_desc
et ses propriétés personnalisées. -
getTokenDecimals
- Cette méthode renvoie le nombre de décimales disponibles pour un jeton fractionnaire. Si le comportement
divisible
n'est pas indiqué, la valeur par défaut est 0. -
get
- Cette méthode renvoie un objet de jeton s'il est présent dans la base de données d'état.
-
history
- Cette méthode renvoie l'historique du jeton spécifié.
-
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.
-
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.
-
isTokenType
- Cette méthode indique si une ressource de jeton existe avec l'ID spécifié.
-
getByRange
- Cette méthode appelle la méthode fabric
getStateByRange
en interne. Même si une immobilisation avec le code indiqué est renvoyée à partir du livre, cette méthode convertit l'immobilisation dans le type d'immobilisation de l'appelant.
Méthodes de gestion des comptes
-
getCallerAccountId
- Cette méthode renvoie l'ID de compte de l'appelant.
-
generateAccountId
- Cette méthode renvoie un ID de compte, qui est un ensemble alphanumérique de caractères, précédé de
oaccount~<token asset name>~
et suivi d'un hachage du nom utilisateur ou de l'ID de courriel (user_id
) du propriétaire de l'instance ou de l'utilisateur qui est connecté à l'instance, de l'ID de fournisseur de service d'adhésion (org_id
) de l'utilisateur dans l'organisation réseau actuelle et de l'ID de jeton unique (token_id
). -
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. Les comptes assurent le suivi du solde d'un utilisateur, du solde bloqué et de l'historique des transactions. Un ID de compte est un ensemble alphanumérique de caractères, précédé de
oaccount~<token asset name>~
et suivi d'un hachage du nom utilisateur ou de l'ID courriel (user_id
) du propriétaire de l'instance ou de l'utilisateur qui est connecté à l'instance, l'ID de fournisseur de services d'adhésion (org_id
) de l'utilisateur dans l'organisation réseau actuelle. Cette méthode peut uniquement être appelée par l'élémentToken Admin
du code chaîne ou par un élémentOrg Admin
de 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 Admin
du code chaîne ou par un élémentOrg Admin
de l'organisation concernée. -
getAccountWithStatus
- Cette méthode renvoie les détails du compte pour un compte spécifié, y compris le statut du compte.
-
getAccount
- Cette méthode renvoie les détails du compte pour un compte spécifié.
-
history
- Cette méthode renvoie un tableau des détails de l'historique du compte pour un compte spécifié.
-
getAccountOnHoldBalance
- Cette méthode renvoie le solde de retenue pour un compte spécifié.
-
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.
-
getUserByAccountId
- Cette méthode renvoie les détails de l'utilisateur pour un compte spécifié.
-
getAccountBalance
- Cette méthode renvoie le solde du compte pour un compte spécifié.
-
getAllOrgAccounts
- Cette méthode renvoie la liste de tous les comptes de jetons appartenant à une organisation spécifiée.
Méthodes de gestion des rôles
-
addRoleMember
- Cette méthode ajoute un rôle à un utilisateur et un jeton spécifiés.
-
removeRoleMember
- Cette méthode supprime un rôle d'un utilisateur et d'un jeton spécifiés.
-
getAccountsByRole
- Cette méthode renvoie la liste de tous les comptes pour un rôle et un jeton spécifiés.
-
getAccountsByUser
- Cette méthode renvoie la liste de tous les ID de compte d'un utilisateur donné.
-
getUsersByRole
- Cette méthode renvoie la liste de tous les utilisateurs pour un rôle et un jeton spécifiés.
-
isInRole
- Cette méthode indique si un utilisateur et un jeton ont un rôle spécifié.
-
getOrgAccountsByRole
- Cette méthode renvoie des informations sur tous les comptes qui ont un rôle spécifié dans une organisation spécifiée.
-
getOrgUsersByRole
- Cette méthode renvoie des informations sur tous les utilisateurs qui ont un rôle spécifié dans une organisation donnée.
-
roleCheck
- Cette méthode vérifie si l'ID de compte fourni est membre d'un rôle.
Méthodes de gestion de l'historique des transactions
-
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.
-
getSubTransactionHistory
- Cette méthode renvoie un tableau des détails de l'historique des transactions pour une transaction donnée.
-
getSubTransactionHistoryWithFilters
- Cette méthode renvoie un tableau des détails de l'historique des sous-transactions pour une transaction spécifiée.
-
getTransactionById
- Cette méthode renvoie l'historique d'une ressource
Transaction
. -
deleteHistoricalTransactions
- Cette méthode renvoie un tableau des détails de l'historique des transactions pour un compte spécifié.
Gestion du comportement des jetons
Token
à partir du module ../lib/token
.
import { Token } from '../lib/token';
Méthodes de gestion du comportement des jetons - Comportement Mintable
-
mint
- Cette méthode extrait une quantité de jetons, qui sont ensuite détenus par l'appelant de la méthode. L'appelant doit avoir un compte et le rôle de mineur. La quantité doit être comprise dans les valeurs décimales spécifiées par le paramètre
decimal
du comportementdivisible
dans le fichier de spécification. -
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.
-
getMaxMintQuantity
- Cette méthode renvoie la quantité minimale maximale pour un jeton. Si le comportement
max_mint_quantity
n'est pas indiqué, la valeur par défaut est 0, ce qui autorise le nombre de jetons à extraire.
Méthodes de gestion du comportement des jetons - Comportement transférable
-
transfer
- Cette méthode transfère les jetons de l'appelant de transaction vers le compte
to_account_id
. L'appelant de cette méthode doit avoir un compte et la quantité doit être comprise dans les valeurs décimales spécifiées par le paramètredecimal
du comportementdivisible
dans le fichier de spécification. -
bulkTransfer
- Cette méthode transfère les jetons en masse du compte de l'appelant vers les comptes indiqués dans l'objet
flow
. Un compte doit déjà être créé pour l'appelant de cette méthode.
Méthodes de gestion du comportement des jetons - Comportement pouvant être conservé
-
hold
- Cette méthode crée un blocage pour le compte du propriétaire des jetons avec le compte
to_account_id
. Un compte notaire est spécifié, qui 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é. Un compte doit déjà être créé pour l'appelant de cette méthode. -
executeHold
- Cette méthode effectue un blocage sur les jetons, en transférant la quantité spécifiée de jetons précédemment bloqués au récepteur. Si la valeur
quantity
est 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'IDAccountOwner
avec le rôlenotary
pour l'ID d'opération indiqué. La mise en attente ne peut être effectuée que par le notaire. -
releaseHold
- 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
AccountOwner
avec le rôlenotary
dans 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é.
-
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.
Méthodes de gestion du comportement des jetons - Comportement gravable
-
burn
- Cette méthode désactive, ou brûle, les jetons du compte de l'appelant de transaction. L'appelant de cette méthode doit avoir un compte et le rôle de brûleur. La quantité doit être comprise dans les valeurs décimales spécifiées par le paramètre
decimal
du comportementdivisible
dans le fichier de spécification.