[Учебник по фреймворку для Wanchain #5] — Перенос активов

Цель этой серии руководств по Wanchain — показать, как 0xcert Framework можно использовать с блокчейном Wanchain для создания децентрализованного приложения, а также для создания невзаимозаменяемых токенов и управления ими.

⚠️ Предпочитаете строить на Ethereum? Это руководство должно помочь.

Прежде чем мы начнем

Этот эпизод следует за Учебником № 4 и предполагает, что вы создали новые активы в Wanchain с помощью 0xcert Framework.

Из этой серии руководств вы узнаете:

  1. Как настроить тестовую ноду Wanchain (гван)
  2. Как создать кошелек Wanchain и получить тестовые токены WAN
  3. Как настроить сервер Express с помощью TypeScript
  4. Как подключить Wanchain к 0xcert Framework
  5. Как использовать 0xcert Framework для серверной части
  6. Как настроить простой интерфейс для тестирования

В конце руководства вы сможете развертывать, создавать, передавать и запрашивать информацию о невзаимозаменяемых токенах в сети Wanchain.

Для этого мы используем следующие технологии:

  • Тестовая сеть Ванчейн
  • Машинопись
  • Node.js
  • Express.js
  • 0xcert Framework
  • jQuery

Предполагается, что вы знаете и понимаете основы JavaScript, Node.js, jQuery, HTML и использования терминала.

Весь код, используемый для примеров, можно найти на GitHub с дополнительными функциями и пояснениями.

Передача активов

Перевести актив довольно просто. Все, что вам нужно, это знать, какой актив вы хотите передать (ID) и кому вы хотите его передать (адрес получателя). Есть еще несколько вариантов переноса, которые вы можете проверить здесь, но в основном это все, что нам нужно. Итак, давайте поместим это в код так же, как мы делали это в других примерах, чтобы мы получили все параметры в качестве входных данных:

app.post('/transfer', async (req, res) => { 
 const ledger = AssetLedger.getInstance(provider, req.body.assetLedgerId); 
 const mutation = await ledger.transferAsset({ 
  receiverId: req.body.receiverId, 
  id: req.body.id,
 }); 
 res.send(mutation.id); 
});

Интерфейс будет самым простым:

<input id="address" type="text" placeholder="Asset ledger Id" /> <br/> 
<input id="id" type="text" placeholder="Id" /> <br/>
<input id="recipient" type="text" placeholder="Recipient address" /> <br/> 
<button id="submit">Transfer</button> 
<p id="console"> </p>

И вызов jQuery, а также:

$.ajax({ 
 contentType: 'application/json'
}); 
$(function(){ 
 $('#submit').click(function(){ 
  $.post( 
   "http://localhost:3000/transfer",
   {
    assetLedgerId: $('#address').val(), 
    receiverId: $('#recipient').val(), 
    id: $('#id').val(), 
   }, 
   function (response) {
    $('#console').html('<a href="http://testnet.wanscan.org/tx/' + response + '" target="_blank">Check transaction on block explorer</a>.'); 
   } 
  ); 
 }); 
});

Попробуйте это со следующими тестовыми данными:

Идентификатор книги активов (адрес контракта): Скопируйте из шага 6
Идентификатор: 1
Адрес получателя: любой адрес Wanchain (может быть вашим собственным)

Теперь мы можем протестировать его так же, как мы тестировали другие примеры. Если все пойдет хорошо, вы должны увидеть транзакцию в обозревателе блоков.

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

Что будет дальше?

Теперь, когда мы узнали о переносе ваших активов, мы можем перейти к атомарным операциям.

⬇️Посмотрите и другие обучающие эпизоды⬇️

Учебник по фреймворку для Wanchain №1: Запустите и подготовьте тестовый узел Wanchain для внутренней интеграции
Учебник по фреймворку для Wanchain №2: Настройте сервер Express с TypeScript для dapp back-end
Учебное пособие по платформе для Wanchain №3: Развертывание реестра активов
Учебное пособие по платформе для Wanchain №4: Создание новых активов
Учебник по фреймворку для Wanchain #6: Атомарные операции при обмене активами на Wanchain

Первоначально опубликовано на https://0xcert.org.