NXTER MAGAZINE

Codage pour la Plateforme de la Cryptomonnaie NXT # 3: Sortie de l’Échange des Atouts

Codage pour la Plateforme de la Cryptomonnaie NXT # 3: Sortie de l’Échange des Atouts

L’étoile des Chaînes de Blocs

Bienvenue sur le troisième article sur le codage avec NXT. Dans les articles précédents, je vous ai montré comment configurer votre fichier de configuration Nxt pour développer facilement avec JavaScript et comment obtenir la première sortie des données de la Chaîne de Blocs. Dans cet article, je voudrais continuer avec l’un des outils les plus utilisés dans Nxt: L’Échange des Atouts ou bien aussi connu sous le nom  »Asset Exchange ».

Qu’est-ce que l’Asset Exchange?

L’Asset Exchange est un Exchange basé sur la technologie Blockchain. Tout le monde peut créer ses propres jetons d’actifs sur la Chaîne de Blocs. L’actif peut représenter n’importe quoi, qu’il s’agisse de services financiers, financement participatif, le soutien d’un site Web, les adhésions, les produits de base ou d’autres choses que vous pouvez imaginer.

L’avantage d’utiliser un jeton d’actifs sur le Nxt Blockchain est que vous disposez directement d’un public mondial, car l’Internet et les monnaies numériques comme Nxt ou Bitcoin ne connaissent pas les frontières. Un autre avantage que je voudrais souligner est que personne n’a besoin d’un compte bancaire réel; Une fois que vous détenez votre première monnaie virtuelle, il est facile de passer d’une dénomination à l’autre et parce que la technologie Blockchain est accessible à tout le monde, il n’y a aucune difficulté à les déplacer de personne à personne. (Vous devez quand même vous informer sur votre juridiction locale et si la création d’un tel actif est autorisée.)

Comment récupérer les premières Données d’Actifs

Pour obtenir votre première Donnée, nous choisissons d’abord un Actif; Vous pouvez voir une liste de tous les actifs Nxt existants ici: Mynxt.info Asset List

Une fois que vous avez choisi un actif, vous pouvez voir l’ID de l’actif dans le coin supérieur gauche. Nous aurons besoin de cet ID pour obtenir des données d’un actif. J’ai choisi le SuperNET Asset dans cet exemple car il est fréquemment échangé et a beaucoup de données historiques que nous pouvons regarder.

N’oubliez pas que vous devez avoir votre instance de Nxt en cours d’exécution sur votre système pour suivre le reste de ce didacticiel.

Tout d’abord, examinons les métadonnées d’un actif. Le script suivant vous donnera la sortie de l’Asset Setup original. Comme toujours, je vous recommande la page http://localhost:7876/test lors de la recherche des appels API. Sur cette page, vous pouvez voir quels appels sont destinés à recevoir des données (GET) ou à soumettre des données (POST) à la Chaîne de Blocs. Nous commencerons par les requêtes GET et l’appel getAsset.

Vous pouvez utiliser ce script pour afficher des informations sur les actifs de votre site Web, pour connaître les actifs qui ont été créés à court ou à long terme ou simplement pour une liste personnelle d’actifs et leurs fonctions.

<!DOCTYPE html>
<html>
<head>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
</head>
<body>
  <h2>Asset Data</h2>
  <table class="table table-striped">
    <thead>
      <tr>
        <th>Key</th>
        <th>Data</th>
      </tr>
    </thead>
    <tbody id="result">
      
    </tbody>
  </table>
<script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>

  <script>
      $.getJSON('http://localhost:7876/nxt', {"requestType": "getAsset", "asset": "12071612744977229797", "includeCounts": "true"}, function(request) {
        var rows;
        $.each(request, function(key, data) {
          rows += '<tr>';
          rows += '<td>'+key+'</td>';
          rows += '<td>'+data+'</td>';
          rows += '</tr>';
        });
        $("#result").html(rows);
      });
  </script>
</body>
</html>

The code above will display a table on your HTML page with the following information:

programming-nxt-3-1

Je veux prendre un certain temps pour vous apprendre quelques abréviations dans Nxt à ce point:

Vous voyez deux variables « initialQuantityQNT » et « quantityQNT« . QNT signifie « Quantité« , la valeurinitiale est configurée par le créateur d’actifs au début. Comme certains des actifs peuvent être supprimés, la « quantityQNT » nous montre combien d’actifs existent pour le moment. Nous avons également besoin de la variable «décimales». L’actif que nous considérons a 4 décimales, ce qui signifie que le nombre d’actifs figurant dans le tableau doit être divisé par 10 000 (4 zéros) pour obtenir le nombre réel. L’Actif ci-dessus se traduirait par une quantité d’actifs actuellement de 816 061,0000.

Le compte est le compte Nxt numérique du créateur d’actifs et le accountRS le même identificateur de compte en format Reed-Solomon (RS)

Le numberOfTrades, numberOfTransfers et numberOfAccounts sont calculés au moment où vous exécutez l’appel.

Vous pouvez raccourcir l’appel de l’API « getAsset » en laissant de côté « includeCounts »: « true » à l’appel $ .getJSON ci-dessus. Par conséquent, vous ne recevrez pas le nombre de détenteurs d’actifs, de transferts et de transactions.

Les Commandes de Demande et d’Offres

Après avoir pris connaissance des détails de l’actif et de l’obtention des métadonnées, nous voulons savoir s’il existe des commandes d’achat ou d’offres pour cet actif et à quel prix l’actif est actuellement négocié. Les méthodes d’utilisation des calculs à partir de quantités ou de décimales Nxt ne sont pas toujours optimales. Parfois, je choisis les méthodes de ce tutoriel pour être plus compréhensible plutôt que optimale. Habituellement, je recommande de faire des calculs avec les numéros d’origine de l’API. Vous n’aurez pas à traiter avec des décimales et c’est là que la plupart des erreurs résultent. Les appels API que nous utilisons pour cela est getAskOrders et getBidOrders. Encore une fois, nous avons besoin de l’ID de l’actif pour obtenir les ordres de demande et d’offres pour l’actif qui vous intéresse. En outre, nous allons raccourcir la sortie en ajoutant les paramètres firstIndex et lastIndex. Voici le code permettant de récupérer les commandes Ask et Bid de l’actif SuperNET:

<!DOCTYPE html>
<html>
<head>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
</head>
<body>
  <div class="col-md-6">
    <h2>Ask Orders</h2>
    <table class="table table-striped">
      <thead>
        <tr>
          <th>Account</th>
          <th>Quantity</th>
          <th>Price</th>
          <th>Total</th>
        </tr>
      </thead>
      <tbody id="askTable">
      
      </tbody>
    </table>
  </div>
  <div class="col-md-6">
    <h2>Bid Orders</h2>
    <table class="table table-striped">
      <thead>
        <tr>
          <th>Account</th>
          <th>Quantity</th>
          <th>Price</th>
          <th>Total</th>
        </tr>
      </thead>
      <tbody id="bidTable">
      
      </tbody>
    </table>
  
  </div>
  <script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
  <!-- Latest compiled and minified JavaScript -->
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
  <script>
  
  $.getJSON('http://localhost:7876/nxt', {"requestType": "getAsset", "asset": "12071612744977229797"}, function(request) {
    var decimals = request.decimals;
    var NQTdivider = 8 - decimals;
    
    
      $.getJSON('http://localhost:7876/nxt', {"requestType": "getAskOrders", "asset": "12071612744977229797", "firstIndex": 0, "lastIndex": 4}, function(requestAskOrders) {
        var rows;
        $.each(requestAskOrders.askOrders, function(key, data) {
        
          var quantity = data.quantityQNT / Math.pow(10, decimals);
          var accountRS = data.accountRS;
          var priceNXT = data.priceNQT / Math.pow(10,NQTdivider);
          var total = quantity * priceNXT;
          
          rows += '<tr>';
          rows += '<td>'+accountRS+'</td>';
          rows += '<td>'+quantity+'</td>';
          rows += '<td>'+priceNXT+'</td>';
          rows += '<td>'+total+'</td>';
          rows += '</tr>';
        });
        $("#askTable").html(rows);
      });
        
      
      $.getJSON('http://localhost:7876/nxt', {"requestType": "getBidOrders", "asset": "12071612744977229797", "firstIndex": 0, "lastIndex": 4}, function(requestBidOrders) {
        var rows;
          $.each(requestBidOrders.bidOrders, function(key, data) {
          
            var quantity = data.quantityQNT / Math.pow(10, decimals);
            var accountRS = data.accountRS;
            var priceNXT = data.priceNQT / Math.pow(10,NQTdivider);
            var total = quantity * priceNXT;
            
            rows += '<tr>';
            rows += '<td>'+accountRS+'</td>';
            rows += '<td>'+quantity+'</td>';
            rows += '<td>'+priceNXT+'</td>';
            rows += '<td>'+total+'</td>';
            rows += '</tr>';
        });
        $("#bidTable").html(rows);
      });
    
    
    });
      
  </script>
</body>
</html>

With this call you are expected to receive 2 tables on your HTML page:

programming-nxt-3-2

Le script ci-dessus peut être utilisé pour afficher les prix actuels et les offres pour un actif sur votre site Web, et de montrer l’ensemble du carnet de commandes d’un actif. En outre, vous pouvez l’utiliser et analyser les tendances. Comme vous avez en plus les comptes pour toutes les offres et demande, vous pouvez analyser les offres et demande le montant des comptes qui sont des transactions sur la plate-forme.

Cette fois, nous avons dû faire plus de requêtes $ .getJSON pour obtenir les informations que nous voulons. Tout d’abord, nous avons besoin des décimales de l’actif pour faire le calcul de la quantité comme mentionné avec le premier appel. Deuxièmement, nous voulons obtenir à la fois: Les commandes de Demande et Offres. Cela nécessite une requête pour chacun des appels API.

Nous voyons également une nouvelle variable qui doit être expliquée. « PriceNQT » est le prix d’un Actif par QuantitéQNT.

Le prix sur l’API est affiché dans priceNQT par QuantityQNT. Alors, qu’est-ce que NQT et quelle est la différence avec QNT? NQT se réfère à NXTQuant, le plus petit nombre que nous avons dans NXT, qui est 0,00000001 NXT (8 décimales). Nous devons également prendre en compte les décimales, que nous devons multiplier à nouveau pour obtenir le prix par actif réel. J’ai utilisé la variable var NQTdivider = 8 – décimales; Pour obtenir le nombre de puissance dont nous avons besoin pour diviser la Quantité par et obtenir le prix actuel en NXT par Quantité.

J’espère que vous avez apprécié ce troisième volet de « Codage la plateforme de la cryptomonnaie NXT ». Dans l’article suivant, je vais couvrir les données historiques et les informations du compte. Si vous avez des questions, n’hésitez pas à me contacter par email ou mon compte Forum Nxt.

 

View this in: English Русский Español

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.