Créer un actif sur la X-Chain
Création d'un actif et publication sur la plateforme Avalanche (X-Chain)
Cet exemple crée un actif dans la X-Chain et le publie sur la plate-forme Avalanche. La première étape de ce processus consiste à créer une instance d'AvalancheJS connectée à notre point de terminaison Avalanche Platform de choix.
import {
Avalanche,
BinTools,
Buffer,
BN
} from "avalanche"
import {
InitialStates,
SECPTransferOutput
} from "avalanche/dist/apis/avm"
let myNetworkID = 12345; //default is 3, we want to override that for our local network
let myBlockchainID = "GJABrZ9A6UQFpwjPU8MDxDd8vuyRoDVeDAXc694wJ5t3zEkhU"; // The X-Chain blockchainID on this network
let avax = new Avalanche("localhost", 9650, "http", myNetworkID, myBlockchainID);
let xchain = avax.XChain(); //returns a reference to the X-Chain used by AvalancheJSDécrivez le nouvel actif
La première étape de la création d'un nouvel actif à l'aide d'AvalancheJS consiste à déterminer les qualités de l'actif. Nous donnerons à l'actif un nom, un symbole boursier, ainsi qu'une dénomination.
// Name our new coin and give it a symbol
let name = "Rickcoin is the most intelligent coin";
let symbol = "RICK";
// Where is the decimal point indicate what 1 asset is and where fractional assets begin
// Ex: 1 AVAX is denomination 9, so the smallest unit of AVAX is nanoAVAX (nAVAX) at 10^-9 AVAX
let denomination = 9;Création de l'état initial
Nous voulons frapper un actif avec 400 pièces pour toutes nos clés gérées, 500 à la deuxième adresse que nous connaissons et 600 aux deuxième et troisième adresses. Cela configure l'état qui résultera de la transaction Créer un actif.
Remarque : Cet exemple suppose que les clés sont déjà gérées dans le KeyChain de notre X-Chain.
Création de la transaction signée
Maintenant que nous savons à quoi nous voulons qu'un actif ressemble, nous créons une sortie à envoyer au réseau. Il existe une fonction d'assistance AVM buildCreateAssetTx () qui fait exactement cela.
Émettre la transaction signée
Now that we have a signed transaction ready to send to the network, let’s issue it!
Maintenant que nous avons une transaction signée prête à être envoyée au réseau, émettons-la! En utilisant l'API X-Chain AvalancheJS, nous allons appeler la fonction issueTx. Cette fonction peut prendre la classe Tx renvoyée à l'étape précédente, une représentation CB58 de la transaction ou une classe Buffer brute avec les données de la transaction. Des exemples de chacun sont ci-dessous:
Nous supposons qu'une de ces méthodes est utilisée pour émettre la transaction.
Obtenez le statut de la transaction
Maintenant que nous avons envoyé la transaction au réseau, il faut quelques secondes pour déterminer si la transaction a abouti. Nous pouvons obtenir un statut mis à jour sur la transaction en utilisant le TxID via l'API AVM.
Les statuts peuvent être l'un des suivants: “Accepted”, “Processing”, “Unknown”, and “Rejected”:
“Accepted” indique que la transaction a été acceptée comme valide par le réseau et exécutée.
“Processing” indique que la transaction fait l'objet d'un vote.
“Unknown” indique que le nœud ne sait rien de la transaction, ce qui indique que le nœud ne l'a pas.
“Rejected” iindique que le nœud connaît la transaction, mais qu'elle est en conflit avec une transaction acceptée.
Identification de l'actif nouvellement créé
La X-Chain utilise le TxID de la transaction qui a créé l'actif comme identifiant unique de l'actif. Cet identifiant unique est désormais appelé «AssetID» de l'actif. Lorsque les actifs sont échangés autour de la chaîne X, ils référencent toujours l'AssetID qu'ils représentent.
Mis à jour
Ce contenu vous a-t-il été utile ?