NXTER.ORG

Кодинг для криптоплатформы Nxt #3: Выход из биржи активов

Кодинг для криптоплатформы Nxt #3: Выход из биржи активов

Звезда блокчейнов

Добро пожаловать в третью статью кодинга с NXT. В предыдущих статьях я показал как настроить файл конфигурации Nxt для облегчения разработки с JavaScript и как получить первый выход из данных блокчейна. В этой статье я хотел бы продолжить с одним из наиболее широко используемых инструментов в Nxt: Биржей активов.

Что такое биржа активов?

Биржа активов это биржа на основе технологии блокчейн. Каждый может создать собственный токен актива на блокчейне. Актив может представлять собой что-угодно, будь то финансовые услуги, краудфандинг, поддержка веб-сайта, членство, товары или другие вещи, которые вы можете себе представить.

Преимущество использования токена актива на блокчейне Nxt в том, что вы напрямую связаны с глобальной аудиторией, такой как Интернет и цифровые валюты, наподобии NXT или Bitcoin не знающие границ. Еще одно преимущество, которое я хотел бы подчеркнуть, что никому не нужен счет реального банка; как только у вас появляется виртуальная валюта, она легко перемещается, потому что технология блокчейн доступна для всех, не существует никаких трудностей, чтобы переместить ее от человека к человеку. (Вы, тем не менее, должны получить информацию о локальной юрисдикции, допускается ли создание такого актива.)

Как извлечь первые данные активов

Чтобы получить первые данные, сначала выберем актив; вы можете увидеть список всех существующих Nxt активов здесь: Mynxt.info Asset List

После того, как вы выбрали актив, вы можете увидеть идентификатор актива (Asset ID) в верхнем левом углу. Нам понадобится этот идентификатор, чтобы получить данные от актива. Я выбрал актив SuperNET в этом примере, так как он часто торгуется и имеет много исторических данных.

Пожалуйста, помните, что вам нужно иметь свой экземпляр запущенного клиента Nxt на вашей системе, чтобы следовать остальной части этого урока.

Во-первых, давайте посмотрим на мета-данные актива. Следующий скрипт даст вам выход оригинальной установки актива. Как всегда, я рекомендую вам страницу http://localhost:7876/test при поиске вызовов API. На этой странице вы можете увидеть, какие вызовы для приема данных (GET) или представления данных (POST) в блокчейне. Мы начнем с GET-запросов и вызовем getAsset.

Вы можете использовать этот скрипт для отображения информации об активах на вашем веб-сайте, для обзора времени создания активов или просто для личного списка активов и их функций.


<!-- Latest compiled and minified CSS -->



Asset Data

 

Data  
      
Key

$.getJSON(‘http://localhost:7876/nxt’, {«requestType»: «getAsset», «asset»: «12071612744977229797», «includeCounts»: «true»}, function(request) {
var rows;
$.each(request, function(key, data) {
rows += ‘

‘;
rows += ‘

‘+key+’

‘;
rows += ‘

‘+data+’

‘;
rows += ‘

‘;
});
$(«#result»).html(rows);
});

Приведенный выше код будет отображать таблицу на вашей HTML странице со следующей информацией:

programming-nxt-3-1

Я хочу прерваться, чтобы научить вас некоторым сокращениям в Nxt:

Вы видите две переменных “initialQuantityQNT” и “quantityQNT”. QNT означает “Количество”, initialQuantity настраивается создателем актива в самом начале. Поскольку некоторые активы можгут быть удалены, “quantityQNT” показывает нам, сколько активов в данный момент. Нам также потребуется переменная “decimals”. Актив, как мы видим, имеет 4 знака после запятой, а это значит, что количество активов, указанных в таблице должны быть разделены на 10000 (4 нуля), чтобы получить фактическое число. Выбранный актив покажет 816,061.0000 активов.

Аккаунт это числовой аккаунт Nxt создателя актива и RS-аккаунт тот же идентификатор аккаунта в формате Рида-Соломона (RS).

numberOfTrades, numberOfTransfers и numberOfAccounts вычисляются в момент времени, когда вы запускаете вызов.

Вы можете сократить API вызов “getAsset” оставляя “includeCounts”: “true” в вышеуказанном вызове $.getJSON, следовательно, вы не будете получать количество владельцев актива, переводов и сделок, но вызов API получите быстрее.

Ордера Аск и Бид

После изучения подробностей об активах и получения мета-данных, мы захотим знать ордера Аск и Бид и по какой цене данный актив в настоящее время торгуются. Способы использования расчетов от количества (Quantities) или десятичных знаков Nxt, не всегда является оптимальным. Иногда я выбираю методы, описанные в этом руководстве, чтобы быть более понятным, а не оптимальным. Обычно я бы рекомендовал делать расчеты с исходными числами из API. Вам не придется иметь дело с десятичными, при этом возникает большинство ошибок. Вызовы API, которые мы используем для этого getAskOrders и getBidOrders. Опять же, нам нужен идентификатор актива, чтобы получить ордера Аск и Бид для интересующих нас активов. Кроме того, мы будем сокращать выход, добавив параметры firstIndex и LastIndex. Вот код для извлечения ордеров Аск и Бид для актива SuperNET:


<!-- Latest compiled and minified CSS -->



Ask Orders

 

QuantityPriceTotal

Account

 

Bid Orders

 

QuantityPriceTotal

Account

$.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 += ‘

‘;
rows += ‘

‘+accountRS+’

‘;
rows += ‘

‘+quantity+’

‘;
rows += ‘

‘+priceNXT+’

‘;
rows += ‘

‘+total+’

‘;
rows += ‘

‘;
});
$(«#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 += ‘

‘;
rows += ‘

‘+accountRS+’

‘;
rows += ‘

‘+quantity+’

‘;
rows += ‘

‘+priceNXT+’

‘;
rows += ‘

‘+total+’

‘;
rows += ‘

‘;
});
$(«#bidTable»).html(rows);
});

});

С помощью этого вызова вы, как ожидается, получите 2 таблицы на вашей HTML странице:

programming-nxt-3-2

Скрипт выше, может быть использован для отображения текущих цен и предложений за актив на вашем сайте, и показа всего стакана любого актива. Кроме того, вы можете использовать это и анализировать тенденции. Для всех предложений Аск и Бид имеются аккаунты, можно проанализировать заявки на сумму аккаунтов, которые торгуются на платформе.

На этот раз мы должны были сделать еще немного $. GetJSON запросов, чтобы получить необходимую информацию. Во-первых, нам нужны десятые доли активов, для расчета Quantity (количество), как указано в первом вызове. Во-вторых, мы хотим получить еще: Аск и Бид ордеры. Для этого потребуется один запрос для каждого из вызовов API.

Мы видим новую переменную, которая нуждается в объяснении.
“priceNQT” это цена актива в QuantityQNT.

Цена в API отображается в priceNQT в QuantityQNT. Итак, что такое NQT и чем отличается от Qnt? NQT относится к NXTQuant, наименьшему числу, которое мы имеем в NXT, равному 0.00000001 NXT (8 знаков после запятой). Мы должны учитывать знаки после запятой, которые должны умножить снова, чтобы получить цену за фактического актива. Я использовал переменную var NQTdivider = 8 — decimals (десятичные); чтобы получить количество мощности, мы должны разделить Quantity и получить текущую цену в NXT в Quantity.

Я надеюсь, вам понравилась эта часть «Кодирования для криптоплатформы NXT». В следующей статье я расскажу об исторических данных и информации аккаунта. Если у вас есть какие-либо вопросы, не стесняйтесь связаться со мной по email или в личном сообщении на форуме Nxt.

Следующая статья этой серии > …

Смотрите также: http://test.nxter.org/developers

Еще из этой серии статей:
Кодинг для криптоплатформы Nxt #1: Конфигурация
Кодинг для криптоплатформы Nxt #2: Первые шаги

Автор Tosch

View this in: English Français Español

Оставьте комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.