NXTER MAGAZINE

Codage pour la Plateforme de la Cryptomonnaie Nxt #1

Codage pour la Plateforme de la Cryptomonnaie Nxt #1: Configuration

Mise en place du fichier de configuration

Le fichier de configuration de Nxt est un outil important pour mettre en place le fonctionnement de Nxt sur votre ordinateur.

Avec le fichier de configuration vous pouvez configurer votre Nxt pour utiliser le SSL, Mise en place du NXT sur un Raspberry PI ou configurer votre Nxt pour le développement, comme l’exemple utilisé ici.

Le Fichier de Configuration

Vous avez déjà un fichier de configuration, vous pouvez voir tous les paramètres actuels

nxt/conf/nxt-default.properties

Pour les objectifs de développement, créez un fichier dans nxt / conf / et nommez-le nxt.properties

Copiez le code ci-dessous dans votre fichier nxt.properties.

# Enable Cross Origin Filter for the API server.
nxt.apiServerCORS=true

# Enable Cross Origin Filter for NRS user interface server.
nxt.uiServerCORS=true

Si vous souhaitez développer sur testnet, ajoutez

# Never unlock your real accounts on testnet! Use separate accounts for testing only.
# When using testnet, all custom port settings will be ignored,
# and hardcoded ports of 6874 (peer networking), 6875 (UI) and 6876 (API) will be used.
nxt.isTestnet=true

Au lieu d’héberger Nxt vous-même, vous pouvez décider d’obtenir des informations à partir de n’importe quel autre nœud du réseau Nxt. Dans mes exemples, je vais utiliser http://localhost:7876. C’est lorsque vous utilisez Nxt sur votre ordinateur personnel ou serveur. Une liste des autres noeuds que vous pouvez utiliser pour afficher des données sur votre site Web ou accéder à Nxt peut être trouvée sur les sites Web qui offrent un accès au réseau Nxt comme: PeerExplorer.com

Au lieu d’utiliser http://localhost:7876, vous pourriez par exemple entrer une adresse IP comme http://x.x.x.x:7876 pour obtenir des informations à partir d’un noeud au lieu du localhost.

Lorsque vous souhaitez contrôler le nœud, la version qu’il exécute, les informations qui peuvent être consultées ou le nombre d’ensembles de données de l’API, il est logique que votre propre nœud fonctionne avec la configuration que vous préférez.

Si vous cherchez plus d’informations sur l’API, la documentation ou plus je recommande le Nxt Wiki.

Découvrez également comment créer votre propre nœud public ou héberger votre nœud avec Amazon AWS.

Par: Tosch

Voir aussi : Codage pour la Plateforme de la Cryptomonnaie Nxt #2: Premier Pas

Codage pour la Plateforme de la Cryptomonnaie NXT # 2

Codage pour la Plateforme de la Cryptomonnaie NXT # 2 : Premier Pas

À propos de Nxt

Avez-vous jamais voulu participer à un domaine financier avec votre logiciel sans prendre de grands risques et avoir un accès facile et anonyme? Avez-vous essayé d’accéder à des systèmes monétaires et d’obtenir des données transparentes à partir d’Échanges d’actifs, Marchés, Nuages de données? Nxt est un logiciel Peer-to-Peer de Chaîne de Blocs qui permet un service financier global que vous pouvez utiliser sur votre serveur ou votre ordinateur. Pas d’enregistrement, pas de bureaucratie.

Qu’est-ce que la Chaine de Blocs Nxt apporte à la table qui est nouveau?

Dans les systèmes bancaires traditionnels, vous rencontrez des banques de confiance qui gèrent votre argent et vos avoirs en tant que service. Mais quand vous voulez accéder à votre argent, ils ne le rendent pas facile pour vous. Surtout en tant que développeur, il n’y a aucune chance que vous pouvez récupérer les données des exploitations ou avoir accès aux données historiques de Wall Street gratuitement.

Avec le système de blocs Peer-to-Peer, Nxt a commencé à construire un écosystème entier autour d’une gestion de données sécurisée et transparente. Vous pouvez démarrer vos propres services, créer des devises, créer des actifs et les échanger, un marché intégré, un nuage de données et bien plus encore!

Débutons

Avec les lignes de code suivantes, j’aimerais démontrer comment obtenir un premier accès aux données Nxt, puis vous montrer comment écrire sur le bloc et obtenir des données prêtes pour votre page d’accueil.

De là, vous pourriez commencer à construire tout ce que vous pouvez imaginer autour de  »Blockchain »,  »Account Ledger » et des outils en vedette.

Si vous ne l’avez pas encore installé, voir ici comment installer et configurer Nxt pour commencer à se développer.

“Bonjour le Monde”

Dans cet exemple, nous choisissons la configuration la plus simple qui vous permet d’afficher les données de la Chaine de Blocs sur votre site Web.

Nous allons utiliser JQuery pour simplifier l’appel de l’API mais vous pouvez obtenir les mêmes résultats avec d’autres structures ou un peu plus de code.

Créons le premier fichier html, nous l’appelons transaction.html et y insérons le code suivant.

<!DOCTYPE html>
<html>
<body>
  <div id="result"></div>
  <script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
  <script>
      $.getJSON('http://localhost:7876/nxt', {"requestType": "getTransaction", "transaction": "8520011591947303971"}, function(request) 
      {
        $("#result").html(request.attachment.message);
      });
  </script>
</body>
</html>

Nxt a une documentation API très utile qui est adressable sur http://localhost:7876/test. Nous utilisons l’appel getTransaction dans cet exemple, que vous pouvez également tester sur la page API.

Lorsque vous exécutez le script ci-dessus, vous devriez voir la réponse suivante dans votre navigateur:

Bonjour le monde
Félicitations à vous! Vous avez reçu les premières données de la chaîne de blocs

Mais que s’est-il passé ici?

Tout d’abord, nous avons utilisé l’appel API « getTransaction » qui nous permet d’avoir un regard détaillé sur les informations de toute transaction qui est sur la Chaine de Blocs. Jetez un oeil à votre console de navigateur pour voir l’ensemble des informations de transaction.

Dans le code ci-dessus nous avons accédé à la sortie du marché de la réponse JSON Nxt API nous a donné. Ici vous pouvez voir l’objet entier renvoyé par l’API.

{
                            "senderPublicKey": "7969c2ec61af9bedd3260c9b2cd4a292ba01ecbc2901a86851fa6c68208b0766",
                            "signature": "d13ad29034e56ae58b7f1eee4979cd6dffff38a7a26094c86103e431faf0bd06084be1e42534efd8e76b8a59c12630b52d851c571a25bc54af9ebdb56ca6df14",
                            "feeNQT": "100000000",
                            "requestProcessingTime": 0,
                            "type": 0,
                            "fullHash": "23bc3ae466293d7690b426173445e5b87423ea798b1d9c2913feda5d0d52a5b6",
                            "version": 1,
                            "phased": false,
                            "ecBlockId": "15499194118663359315",
                            "signatureHash": "9ea43451798a0144bd6cea58cbbba479c24ed7cdc29a4077a9aeb49a063498a7",
                            "attachment": {
                                "version.Message": 1,
                                "messageIsText": true,
                                "message": "Hello World",
                                "version.OrdinaryPayment": 0
                            },
                            "senderRS": "NXT-5RB8-KJD3-BT3B-E2QWW",
                            "subtype": 0,
                            "amountNQT": "10000000000",
                            "sender": "14876164227056393510",
                            "recipientRS": "NXT-P439-YVBD-VUEQ-A3S2T",
                            "recipient": "10124938546868029479",
                            "ecBlockHeight": 614717,
                            "deadline": 1440,
                            "transaction": "8520011591947303971",
                            "timestamp": 67508752,
                            "height": 2147483647
                        }

Pourquoi utiliser getJSON?

Comme nous utilisons la fonction getJSON de JQuery, nous n’avons plus besoin d’analyser le JSON et d’accéder directement aux retours de l’API JSON Nxt. Lorsque vous utilisez un appel ajax ou une méthode get de JQuery, vous pouvez avoir besoin de JSON.parse (request) pour accéder à l’objet.

La transaction 8520011591947303971 nous avons accédé dans le code, était une transaction que j’ai envoyée précédemment. Chaque transaction dans Nxt est transparente dont tout le monde peut voir. Jetez un oeil au ‘JSON retourné à partir de l’API Nxt et avec votre script à portée de main, vous pouvez déjà afficher toutes les informations qui vous intéressent dans toute transaction.

Remplacez request.attachment.message (avec, par exemple, request.accountRS) pour afficher l’ID du compte et continuer à ajouter une belle vue aux informations.

Dans les articles suivants je vais vous montrer comment soumettre les premières données sur la chaîne de blocs. Comment récupérer les données de l’actif, calculer les prix et voir les ordres en cours.

Atteindre pour les étoiles

Nxt vous accompagne dans la création de logiciels qui permettent de négocier sur un espace global dans un réseau peer-to-peer où chaque participant est égal au pouvoir. Commencez à construire des choses extraordinaires avec Nxt.

Voir aussi : http://test.nxter.org/developers

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.

 

Codage pour la Plateforme de la Cryptomonnaie NXT #4: Historique des Actifs

Dans le dernier sujet, je vous ai montré comment récupérer des données de base sur les actifs de Nxt Asset Exchange.

Dans cet article, je veux couvrir comment recevoir l’historique des Échanges.
L’appel API que nous utilisons ici est « “getTrades”.

Historique des Échanges

Les historiques des Échanges peuvent être soit à partir de n’importe quel compte ou de tout actif, nous allons continuer comme nous l’avons fait avant et obtenir les derniers métiers de l’actif SuperNET.

Encore une fois nous utiliserons les paramètres firstIndex et lastIndex pour récupérer seulement les 10 dernières entrées. Si vous voulez obtenir plus d’échanges, il suffit de changer lastIndex à un nombre plus élevé ou d’effacer firstIndex et lastIndex complètement.

Si vous effacez firstIndex et lastIndex, il est possible que vous obteniez un nombre limité d’entrées – cela peut être configuré dans votre fichier de configuration Nxt. Jetez un oeil à la propriété: nxt.maxAPIRecords = 100 et configurez-la selon vos besoins (juste quand vous travaillez sans un mot de passe administrateur).

Maintenant, revenons au code.

<!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-12">
    <h2>Trade History</h2>
    <table class="table table-striped">
      <thead>
        <tr>
          <th>Date</th>
          <th>Type</th>
          <th>Quantity</th>
          <th>Price</th>
          <th>Total</th>
          <th>Buyer</th>
          <th>Seller</th>
        </tr>
      </thead>
      <tbody id="tradeHistory">
      
      </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": "getTrades", "asset": "12071612744977229797", "firstIndex": 0, "lastIndex": 9, "includeAssetInfo": "true"}, function(request) {
        
    var trades = request.trades;
    var rows;
    var nxtTime = 1385294400;
    $.each(trades, function(key, data) {
      var decimals = data.decimals;
      var NQT_QNT = 8 - decimals;
      var quantityQNT = data.quantityQNT / Math.pow(10, decimals);
      var priceNQT = data.priceNQT / Math.pow(10, NQT_QNT);
      var total = data.quantityQNT * data.priceNQT / Math.pow(10,8);
      var NxtTimestamp = (+data.timestamp + +nxtTime) * 1000;
      var d = new Date(NxtTimestamp);
      rows += '<tr>';
        rows += '<td>'+d.toDateString()+'</td>';
        rows += '<td>'+data.tradeType+'</td>';
        rows += '<td>'+quantityQNT+'</td>';
        rows += '<td>'+priceNQT+'</td>';
        rows += '<td>'+total+'</td>';
        rows += '<td>'+data.buyerRS+'</td>';
        rows += '<td>'+data.sellerRS+'</td>';
      rows += '</tr>';
    });
    $("#tradeHistory").html(rows);
    
  });
      
  </script>
</body>
</html>

Pour la requête API, comme indiqué ci-dessus, nous avons limité la réponse en définissant firstIndex et lastIndex à 10 entrées. En outre, l’includeAssetInfo défini à  »true » montrera la décimale pour l’actif et le nom de l’actif. Cela rendra l’appel un peu plus lent, mais surtout lorsque nous regardons plus d’un actif un ajout très utile.

Au lieu d’inclure includeAssetInfo, nous pourrions faire un appel getAsset pour recevoir ces paramètres (quand on regarde juste un atout cela pourrait être recommandé). Mais quand vous regardez un dernier compte des métiers au lieu d’un actif, cela peut économiser beaucoup de travail et de temps.

Les calculs les plus importants à mentionner pour ce script sont l’horodatage Nxt, la quantité et le prix. Ils sont calculés comme déjà expliqué ci-dessus.

Horodatage NXT

Nxt a son propre horodatage. Nxt a été lancé le 24 Novembre 2013 12:00 am. Dans Nxt cela serait timestamp 0. Dans Javascript c’est 1385294400 (comme Javascript a commencé le 1 janvier 1970, 00:00:00), mais JavaScript utilise des Milisecondes, donc nous devons multiplier par 1000 pour y arriver. En conséquence, nous devons ajouter l’horodatage donné de Nxt à 1385294400 et ajouter les milisecondes pour récupérer l’horodatage en JavaScript.

L’analyse des données historiques vous donnera beaucoup d’informations sur la fréquence de négociation et combien de comptes ont été en négociation d’un actif. Plus de comptes sont impliqués dans le commerce, mieux un actif est réparti entre les commerçants, ce qui est généralement bon signe. Bien sûr, vous devez être conscient que vous ne connaissez pas l’origine des comptes. Il est possible qu’une personne crée plusieurs comptes et négocie à partir de tous ces comptes. L’actif semble être négocié par d’autres parties, ce qui semble bénéfique pour le propriétaire de l’actif, d’autre part les gens pourraient créer plusieurs comptes pour suivre les différents types d’exploitations. Dans de nombreux cas, il est logique pour un utilisateur d’avoir plus d’un seul compte.

Le script ci-dessus vous montrera une table comme celle-ci:

programming-nxt-4-1

Information du Compte

Comme vous le savez déjà, une Chaîne de Blocs est entièrement transparente; Vous pouvez voir toute les transactions dans le réseau et tous les actifs d’un compte. Il vous permet toujours d’écrire des messages chiffrés, qui ne peuvent être lus par personne, sauf la personne qui détient la phrase secrète de l’expéditeur ou du destinataire.
La prochaine étape pour vous est de savoir comment créer une interface agréable pour afficher les comptes. Toutes les étapes nécessaires pour y arriver sont expliquées ici.

L’appel API nécessaire pour obtenir les informations du compte est getAccount. Vous pouvez également utiliser getAccountAssets pour surveiller les avoirs, mais getAccount vous montrera tous les avoirs d’un compte.

Un indice: comme dans l’API getTrades, vous pouvez décider d’inclure des informations précises avec includeLessors, includeAssets, includeCurrencies ou includeEffectiveBalance.

Bon développement avec Nxt! Dans l’article suivant, nous allons explorer la création de transactions et plus de détails sur sur la Blockchain. Si vous avez des questions, n’hésitez pas à me contacter par email ou mon compte Forum Nxt.

Voir aussi : http://test.nxter.org/developers

Codage pour la Plateforme de la Cryptomonnaie NXT #5: Transactions sur la Blockchain Nxt

La Blockchain Nxt

La Blockchain Nxt est le cœur de Nxt. Chaque Transaction effectuée est enregistrée sur la Blockchain. La Blockchain est une base de données décentralisée qui est enregistrée sur votre ordinateur. Pour éviter le spam, pour chaque transaction, vous devez payer des frais dans la devise native, qui sera NXT pour nous en utilisant la Blockchain Nxt. Dans les articles précédents, j’ai montré comment  installer et configurer votre logiciel Nxt ainsi que la façon de lire les données, cette fois nous écrivons des données sur le Blockchain, en commençant par un exemple simple. Tout au long de l’article, je veux me concentrer sur les outils que vous pouvez utiliser lors de la création des Transactions sur Nxt.

Envoyer des Nxt

La création d’une transaction sur Nxt est très similaire à la lecture des données de la Blockchain; Il ya quelques sujets que nous devons couvrir avant de créer notre première transaction. Pour créer une transaction, nous avons besoin d’un compte Nxt et de certains NXT, afin de payer les frais de la Blockchain. Alors, laissez-nous vous connecter à Nxt et créer notre premier compte.

Créer un compte NXT

Pour avoir un compte Nxt sécurisé, vous avez besoin d’une phrase secrète forte. En travaillant avec les monnaies virtuelles, nous utilisons la phrase de passe au lieu du mot de passe, cela décrit la forte entropie et devrait être plus sûr qu’un mot de passe régulier. Lorsque vous utilisez le client officiel Nxt, vous pouvez utiliser la fonction de création de phrase de passe implémentée, qui vous donnera une phrase secrète qui contient 12 mots.

Créer votre propre Phrase de Passe

Vous pouvez également créer votre propre phrase secrète, assurez-vous qu’elle contient suffisamment de caractères et d’entropie. Pour générer une phrase de passe, il est recommandé d’utiliser des logiciels tels que KeePass, LastPass, Dashlane ou des outils en ligne comme PasswordsGenerator.net ou Fourmilab.ch.

Générateur de Phrase de Passe Nxt

Lorsque vous exécutez Nxt sur http://localhost:7876 vous obtiendrez au client, un clic sur le lien citant

DON’T HAVE AN ACCOUNT? CLICK HERE TO CREATE ONE!

vous amènera donc au générateur de mots de passe. Ensuite (ou avec votre phrase de passe créée par vous-même), vous pouvez vous connecter à votre compte. Si vous n’avez pas de NXT encore, la méthode la plus rapide est quand vous avez déjà quelques monnaies virtuelles comme Bitcoin, Litecoin, Ethereum ou autres. Vous pouvez les échanger via Shapeshift ou acheter vos pièces sur un autre échange et de les transférer à votre portefeuille.

Dans les prochaines étapes, nous utilisons votre phrase de passe pour signer et diffuser des transactions. Votre phrase de passe peut aussi être considérée comme votre clé privée.

Créer la Transaction

Avec une phrase secrète sécurisée, nous pouvons maintenant examiner le code de création d’une transaction d’envoi-NXT. Nous envoyons 1 NXT à un destinataire, que vous voyez dans le code et le modifiez là pour un autre destinataire. Insérez votre mot de passe dans le code suivant et exécutez-le pour créer la transaction.

<!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-12">
        <h2>Outgoing Transaction JSON</h2>
        
    <div class="well" style="word-wrap:break-word;" id="transactionJSON"></div>
    </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>
  
  $.post('http://localhost:7876/nxt', {"requestType": "sendMoney", "recipient": "NXT-5RB8-KJD3-BT3B-E2QWW", "amountNQT": "100000000", "secretPhrase": "YourPassphrase", "feeNQT": "0", "deadline": "800", "broadcast": false}, function(request) {
  
        var response = JSON.parse(request);
        $("#transactionJSON").html(JSON.stringify( response , null, 4));
  
      });
      
  </script>
</body>
</html>

Ce script crée une transaction sendMoney. Comme vous le voyez, nous avons modifié la fonction utilisée dans les articles précédents $.getJSON à $.post. Lors de la création de transactions, il est nécessaire de passer au format POST au lieu des requêtes GET comme pour les fonctions précédentes. Pour plus d’informations sur les détails de l’API, consultez http://localhost:7876/test?requestType=sendMoney

La sortie que vous voyez sur la page contient diverses informations, la variable feeNQT a été rempli avec les informations correctes, vous pouvez vérifier combien les frais sont pour la transaction que vous avez créé. Vous voyez l’ensemble transactionJSON vous avez inséré en format JSON et vous recevez la transaction transactionBytes. La transactionBytes intègre toutes les informations de transaction que vous avez dans la transactionJSON.

La transaction créée ci-dessus ne sera pas diffusée sur le réseau encore, parce que nous avons mis « broadcast »: false dans notre objet. Lorsque cette valeur est définie à  »True », la transaction sera diffusée et vous coûtera 1 NXT. Comme vous pouvez le voir, nous n’avons pas besoin de beaucoup de variables pour créer notre première transaction.

La recette d’une transaction est la suivante:

requestType sendMoney
Recipient Vous pouvez utiliser soit le format RS, NXT-XXX-XXX-XXX-XXXX ou le format de compte numérique
AmountNQT Le montant que vous voulez envoyer doit être calculé en NQT, le plus petit nombre en NXT (1 NXT / 10⁸ = 1 NQT)
SecretPhrase Votre phrase de passe secrète
FeeNQT Placez 0 si vous voulez que le serveur calcule les frais minimums pour vous
Deadline mesurée en minutes, lorsque la transaction expire
Broadcast La diffusion false ne diffusera pas et créera simplement la transaction. Défini sur true, la transaction sera diffusée à d’autres pairs et vous coûtera NXT

Transaction de Diffusion

Maintenant que nous savons comment créer une transaction sendMoney qui n’a pas encore été diffusée, nous pouvons utiliser un script semblable à celui ci-dessus pour diffuser la transaction. Pour le rendre plus compréhensible, je prolonge le script ci-dessus avec un bouton qui prend la transaction précédemment créée et le transfère au réseau lors de la soumission du bouton. En effet, lors de l’exécution du script, vous avez votre premier portefeuille interactif Nxt (petit, pas encore sécurisé!).

<!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-12">
        <h2>Outgoing Transaction JSON</h2>
        
    <div class="well" style="word-wrap:break-word;" id="transactionJSON"></div>
    <button class="btn btn-primary" id="submitTransaction">Submit this transaction</button>
   
    <hr>
    <div id="broadcastedTransaction"></div>
    </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>
  
  $.post('http://localhost:7876/nxt', {"requestType": "sendMoney", "recipient": "NXT-5RB8-KJD3-BT3B-E2QWW", "amountNQT": "100000000", "secretPhrase": "YourPassphrase", "feeNQT": "0", "deadline": "800", "broadcast": false}, function(request) {
  
        var response = JSON.parse(request);
        $("#transactionJSON").html(JSON.stringify( response , null, 4));
        $("#submitTransaction").on("click", function() {
          $.post('http://localhost:7876/nxt', {"requestType": "broadcastTransaction", "transactionBytes": response.transactionBytes}, function(broadcast) {
            var broadcastResponse = JSON.parse(broadcast);
            $("#broadcastedTransaction").html(JSON.stringify( broadcastResponse , null, 4));
          }); 
        });
      });
  </script>
</body>
</html>

Le chargement du site chargera directement la transaction non encore diffusée. Comme la fonction de clic de bouton est imbriquée dans le premier appel, elle peut accéder aux données de la transaction non diffusée. Pour diffuser la transaction, nous utilisons la recette suivante

requestType broadcastTransaction
TransactionBytes La transactionBytes que nous avons créée avec la fonction déclarée précédente.

Avec ces quelques lignes de code, nous pouvons créer une transaction et la diffuser. Pourtant, nous définissons toujours toutes les variables directement dans le code. Dans les articles suivants, je vais vous montrer comment ajouter des messages chiffrés à une transaction et comment obtenir ces données à partir d’une entrée utilisateur que vous avez sur la page. Nous aurons un examen plus approfondi de l’échelonnement et de l’élagage des transactions.

Voir aussi: http://test.nxter.org/developers

Par Tosch

Comment: Configurer un nœud Nxt sur un Raspberry Pi 2

nxt-raspberry-pi2

Nxt est l’un des réseaux peer-to-peer les plus impressionnants et les moins appréciés sur Internet. Il s’agit d’une plateforme open-source décentralisée qui a introduit un nouvel algorithme de consensus de preuve de participation et qui a survécu dans la nature depuis plus de 2 ans. Aujourd’hui, la technologie initiée par Nxt est utilisée dans des projets bien financés comme Ethereum, alors que Nxt reste sous le radar.

Mais les développeurs Nxt ont été très occupés, la dernière version apporte un autre ensemble de fonctionnalités de pointe. L’API continue à se développer, alors que le logiciel nécessite des ressources système minimales pour fonctionner. Un «noeud complet» générateur de blocs peut fonctionner sur un Raspberry Pi 2 et ne coûte que 50 $ en pièces, et si vous lisez ce post, vous voulez probablement configurer le vôtre, alors commençons.

Vous aurez besoin de ce qui suit:

  • Raspberry Pi 2
  • 8 Go + carte microSDHC (Classe 6 ou supérieure recommandée)
  • Câble micro USB pour l’alimentation
  • Câble réseau Cat 5 ou adaptateur wifi USB
  • Clavier USB, moniteur + câble HDMI (configuration initiale uniquement)

Installation du système d’exploitation

Une fois votre carte microSDHC prête, vous pouvez démarrer votre Raspberry Pi 2 pour la première fois. Insérez la carte mémoire, branchez votre clavier USB, câble Ethernet et connexion HDMI d’abord, puis allumez le Raspberry Pi 2 en branchant le câble micro USB. Beaucoup de routeurs grand public vendus aujourd’hui offrent un port USB qui devrait pouvoir alimenter le Raspberry Pi 2, mais si vous prévoyez d’utiliser des périphériques (par exemple, USB wifi), je recommande d’utiliser un adaptateur A / C 1.0A + USB.

Après le démarrage du système, vous devriez voir l’invite de connexion. Le nom d’utilisateur par défaut est pi et le mot de passe par défaut est raspberry. Une fois connecté, exécutez la procédure suivante pour installer les dernières mises à jour du système d’exploitation:

sudo apt-get update
sudo apt-get upgrade

Ensuite, démarrez l’utilitaire de configuration du système d’exploitation en tapant:

sudo raspi-config

La première chose à faire est de changer le mot de passe par défaut à quelque chose de sécurisé. Choisissez « 2 Changer mot de passe utilisateur » et suivez les instructions pour définir un nouveau mot de passe.

Sélectionner  »9 Advanced Options »

Comme nous n’utilisons pas de gestionnaire de fenêtres, nous pouvons réaffecter une partie de la mémoire GPU au système d’exploitation. Sélectionnez «A3 Memory Split» et réglez la valeur sur 16.

Si vous souhaitez pouvoir accéder à votre nœud depuis un autre ordinateur via SSH, vous pouvez activer le service sous « A4 SSH ». Je recommande fortement de durcir votre installation SSH une fois que tout fonctionne.

Enfin, sélectionnez l’option «1 Expand Filesystem» pour réécrire la table de partition de votre carte microSDHC et utiliser la capacité de stockage complète.

Une fois terminé, appuyez sur ESC pour quitter raspi-config et redémarrez votre système:

sudo reboot

Après avoir ouvert une nouvelle session, vérifiez et confirmez que le système de fichiers racine monté sur / a été étendu:

df -h

La taille du système de fichiers racine doit être proche de la taille de votre carte microSDHC.

Filesystem      Size  Used Avail Use% Mounted on
/dev/root        15G  2.2G   13G  14% /

Ensuite, nous allons augmenter l’espace de swap en éditant le fichier de configuration d’échange et en redémarrant le service:

sudo nano /etc/dphys-swapfile

Modifiez la ligne CONF_SWAPSIZE et réglez-la sur 512 ou 1024 et enregistrez le fichier (CTRL-O, ENTRÉE, CTRL-X).

# set size to absolute value, leaving empty (default) then uses computed value
#   you most likely don't want this, unless you have an special disk situation
CONF_SWAPSIZE=1024

Redémarrez le service swapfile:

sudo service dphys-swapfile restart

Configuration du Réseau

Étant donné qu’il s’agira d’un nœud complet, vous devrez autoriser le trafic réseau peer-to-peer à travers le pare-feu de votre routeur. Chaque configuration de réseau est différente de sorte que cette section va être plus d’une ligne directrice générale. En supposant que vous êtes connecté à un routeur avec DHCP activé, votre Raspberry Pi 2 devrait déjà avoir une adresse IP locale, sinon vous devrez configurer une adresse IP statique. Pour afficher votre configuration réseau actuelle:

ifconfig eth0

eth0   Link encap:Ethernet  HWaddr b1:ff:4a:a4:ff:1b
       inet addr:192.168.1.10  Bcast:192.168.1.255  Mask:255.255.255.0

Inet addr est votre IP locale, HWaddr est votre adresse MAC. Dans la configuration de votre routeur, recherchez les paramètres de transfert de port et transférez le trafic TCP / UDP du port 7874 vers l’adresse IP locale de votre Raspberry Pi 2. Si vous n’utilisez pas d’adresse IP statique, vous devez configurer un bail statique DHCP Aka DHCP reservation) pour l’adresse MAC et l’adresse IP locale. De cette façon, le Raspberry Pi 2 obtiendra toujours la même adresse IP locale que celle que vous avez configurée avec la règle de port fowarding.

Installation de Java

Nxt nécessite Java 8. Vous pouvez télécharger et installer manuellement Oracle JRE, ou vous pouvez facilement installer le JRE OpenJDK:

sudo apt-get install openjdk-8-jreYou love Java.

Vérifiez que Java est installé correctement en vérifiant la version:

java -version

Vous devriez voir une sortie similaire à ceci:

openjdk version "1.8.0_40-internal"
OpenJDK Runtime Environment (build 1.8.0_40-internal-b04)
OpenJDK Zero VM (build 25.40-b08, interpreted mode)

Installation de Nxt

Téléchargez la dernière version de Nxt depuis le référentiel public. Vous pouvez utiliser la commande wget dans la console pour télécharger directement le fichier via HTTPS. À la date de rédaction de la version actuelle de Nxt est la version 1.7.4, mais vous voulez vous assurer que vous utilisez la dernière version disponible.

wget
https://bitbucket.org/JeanLucPicard/nxt/downloads/nxt-client-1.7.4.zip

Vérifiez le hachage du package et vérifiez qu’il correspond au hachage dans les notes de version signées. Vous pouvez également vérifier le hachage dans la chaîne de blocs. Le compte Nxt utilisé par le développeur principal Jean Luc est NXT-X4LF-9A4G-WN9Z-2R322.

sha256sum nxt-client-1.7.4.zip

baf0286983fee3f718ea755dd76f5e9bb3d6a2962560368d513ffc9517d10c9b  nxt-client-1.7.4.zip

Extrayez l’archive pour créer le répertoire « nxt »:

unzip nxt-client-1.7.4.zip

Avant de configurer Nxt, vous devrez trouver votre adresse IP publique. Vous pouvez le faire avec la commande suivante:

curl ipinfo.io

Prenez note de votre adresse IP publique, puis exécutez la commande suivante pour créer un nouveau fichier de configuration:

nano ~/nxt/conf/nxt.properties

Voici un exemple de fichier de configuration:

nxt.myAddress=12.34.56.78
nxt.apiServerHost=0.0.0.0
nxt.allowedBotHosts=*

Si vous avez pu configurer le renvoi de port sur votre routeur, définissez nxt.myAddress sur votre adresse IP publique comme indiqué dans la sortie de la commande curl, sinon supprimez cette ligne du fichier de configuration. Pour les autres paramètres, nous avons défini l’API pour autoriser les connexions partout. Une fois que les choses fonctionnent, vous devriez envisager de restreindre l’accès à votre réseau local ou à des adresses IP spécifiques. Voir  nxt/conf/nxt-default.properties pour les descriptions des paramètres de configuration. Enregistrez le fichier de configuration et quittez l’éditeur.

Modifiez le fichier de démarrage et optimisez la configuration de la mémoire:

nano ~/nxt/run.sh

Ajoutez le paramètre -Xmx640m pour augmenter la valeur par défaut de l’allocation de la mémoire de mémoire Java à 640mb:

java -Xmx640m -cp classes:lib/*:conf nxt.Nxt

Vous êtes maintenant prêt à démarrer le serveur. Comme il s’agit d’une nouvelle installation, votre nœud devra télécharger l’ensemble du bloc de synchronisation avec le réseau Nxt. Dans certains cas, cela peut prendre beaucoup de temps en fonction de la vitesse de votre connexion Internet et le type de carte mémoire que vous utilisez.

Démarrage et Connexion

Nxt fonctionne comme un processus serveur qui fournit une API et une interface client Web. Tout d’abord, démarrez le serveur:

cd ~/nxt
./run.sh

Vous devriez voir le serveur Nxt démarrer et synchroniser avec le réseau. Lorsque le démarrage est terminé, vous verrez ce qui suit:

2016-01-03 13:43:28 INFO: Nxt server 1.7.4 started successfully.
2016-01-03 13:43:28 INFO: Copyright © 2013-2016 The Nxt Core Developers.
2016-01-03 13:43:28 INFO: Distributed under GPLv2, with ABSOLUTELY NO WARRANTY.
2016-01-03 13:43:28 INFO: Client UI is at http://localhost:7876/index.html

Ouvrez un navigateur Web sur un PC connecté au même réseau et accédez à l’adresse IP locale du Raspberry Pi 2 sur le port 7876.

Exemple: http://192.168.1.10:7876

Pour l’interface API interactive, ajoutez /test à l’url.

Exemple: http://192.168.1.10:7876/test

Félicitations, si vous êtes en mesure d’accéder à la page de connexion /test, votre installation Nxt est réussie. Pour arrêter le serveur Nxt, appuyez sur CTRL-C sur la console.

Étapes Finale

Activer SSL

Avant de pouvoir utiliser Nxt en toute sécurité, vous devez configurer le SSL sur votre nœud. Si vous utilisez HTTP, un attaquant sur votre réseau peut être en mesure de voler votre mot de passe. Je recommande fortement de configurer un cert auto-signé pour votre nœud et en utilisant HTTPS seulement. J’ai posté quelques instructions « tricher » qui sont basées sur les instructions du wiki. Le développeur principal Riker a également posté un fil sur la mise en place de SSL.

Écran d’Installation

Pour faciliter la gestion de votre nœud, je recommande l’installation de l’écran. Il vous permettra d’exécuter des programmes dans des sessions détachables, et une fois que vous commencerez à l’utiliser, vous vous demanderez comment vous l’avez manqué depuis si longtemps.

sudo apt-get install screen

Pour utiliser l’écran sur votre serveur Nxt, modifiez run.sh et modifiez la commande:

nano ~/nxt/run.sh

screen -mS nxt java -Xmx640m -cp classes:lib/*:conf nxt.Nxt

La prochaine fois que vous démarrez le serveur à l’aide de run.sh, vous pourrez vous détacher du processus en appuyant sur CTRL-A, CTRL-D. Pour retaper la session, entrez la commande suivante:

screen -r nxt

Démarrage Automatique

Une manière facile de démarrer automatiquement le serveur Nxt au démarrage est avec le planificateur de tâches cron. Vous devez ajouter une entrée spécifiant @reboot et exécuter vos commandes de démarrage là:

crontab -e

@reboot sleep 30 && cd /home/pi/nxt && ./run.sh

Dans cet exemple, le serveur Nxt démarrera au démarrage après un délai de 30 secondes. Vous pouvez utiliser cron pour planifier d’autres tâches aussi bien.

Pour des questions ou des commentaires, s’il vous plaît visitez le fil du forum pour cet article de blog.

MIC, un asset ? un coin ? une communauté !

Créés le 16 mai 2014, les MIC, acronyme de MOST INTERESTING COIN (Pièce la Plus Intéressante), a depuis su trouver sa communauté d’adeptes.

Dans un premier temps présenté comme un asset non sérieux, dont la distribution se faisait via le partage de memes (images rigolotes customisées selon son état d’esprit), le MIC a su évoluer vers un asset prisé ayant  son public de fans. Sur le fil de discussion de MIC, les amateurs rivalisent d’ingéniosité pour créer les memes les plus originaux selon les thèmes défini en fonction des actualités de Nxt ou des autres cryptomonnaies dans le but de recevoir des MIC (89’000 MIC pour un meme partagé).

A ce jour, le sujet comprend 1541 messages et a été visité plus de 35’000 fois.

Le MIC a été créé avec une base de 1 milliard d’unités, à ce jour 740 million d’unités sont sur le compte genèse (créateur de l’asset) et 67 million sont sur un second utilisé pour la distribution gratuite des assets. Les unités de MIC sur ces deux comptes ne doivent pas être considérés comme en circulation.

Le MIC ayant attiré l’attention du fond JL777hold, 100 million de MIC ont donc été incorporés dans ce trust fund, utilisé comme valeur refuge dans l’écosystème Nxt grâce à sa grande variété dans l’investissement.

Hormis ces quelques comptes détenteurs de MIC  que l’on peut qualifier d’institutionnels la répartition des MIC se lisse et commence à être « mainstream ».

Les 85 millions de MIC en circulation (ceux qui ne sont pas sur les comptes cités précédemment) sont répartis sur 160 comptes avec les 15 plus gros détenteurs de MIC possédant 55% des 85 millions de MIC.

La quantité moyenne de MIC par compte est de 530 000, c’est  la quantité de MIC que l’on obtient gratuitement en partageant 6 memes. De plus, il n’y a que 30 comptes  qui soient au-dessus de cette moyenne, et les 50 plus gros comptes  (30% des 160 comptes) ne possèdent que 78% des MIC en circulation.

Avec la moitié des MIC dans les mains de 15 comptes la répartition n’est pas mauvaise (pour couper court à toute analogie avec la répartition des BTC parmi les plus gros détenteurs). En effet, le fond de distribution encore disponible est de plus de 800 millions de MIC, le projet est donc qu’à ses débuts.

En passe  de devenir un vrai phénomène avec une transformation d’asset en une sub-devise du Nxt via  le protocole MSC (système monétaire), le MIC vient de voir  apparaitre sa première utilisation dans le cas d’une vente d’un objet physique  Reveil en vente (sous la forme d’un transfert d’asset en attendant la mise en place du MSC).

Le monde des cryptomonnaies est rempli d’exemples de beaux projets abandonnés par ses développeurs ou ses investisseurs suite à un manque d’intérêt ou l’apparition d’une nouvelle technologie plus innovante. Avec MIC, cela ne semble pas être le cas après 7 mois d’existence.

MIC a su être le premier asset dont  la distribution est basée sur la contribution via le partage de meme (Proof of meme). Et à présent, il prend très tôt  le virage de l’arrivée des sub-devises sur Nxt.

En tant que millionnaire en MIC j’ai hâte de voir les évolutions que peut prendre le MIC et souhaite qu’il réussisse cette transformation pour devenir l’une des sub-devises les plus utilisées du réseau Nxt.

Liens utilisés pour l’analyse :

Répartition des assets

« Blockchain » de MIC