Всего 4 шага, и децентрализованное приложение готово, я сделал это за 24 часа.
Под капотом
История начинается, когда я публикую рассказ об обучении разработке блокчейн-приложений и этом 24-часовом хакатоне. Я имею в виду, что эта единственная задача поможет вам как разработчику быстро разработать что-то и быстро изучить новый стек. Обязательно прочитайте новый 24-часовой хакатон, так как он, безусловно, поможет вам легко понять новый стек.
Давайте не будем терять время и начнем сегодняшнюю историю с еще одного 24-часового хакатона, но под другим названием. Я всегда был одержим разбивкой вещей на несколько более мелких шагов, чаще всего стратегией «разделяй и властвуй».
Что такое ДеХ?
Платформа децентрализованного обмена — это платформа, на которой один токен обменивается на другой токен с той же стоимостью. Лучшим примером является uniswap, вы можете обменять свои токены Ethereum на биткойны или TRON и любые другие монеты, которые вы хотите взамен.
В чем преимущество DeX?
Как уже упоминалось, обмен токенами имеет множество преимуществ:
- Некоторые сообщества предназначены только для определенных типов держателей токенов, поэтому, если у вас нет этих токенов, вы можете в любое время обменять их и получить необходимые токены в обмен на вход в сообщество.
- Мгновенные кредиты — подлые люди покупают токены и обменивают их на огромные кредиты, чтобы получить прибыль и заработать деньги.
- Если вы знаете, что монета, которую вы держите, упадет в цене, то вместо продажи вы можете обменять ее на другой токен, чтобы получить прибыль от других токенов.
- ….многое другое….
Разработка DeX
Да, приступим к основной части. 4 шага для создания собственного DeX.
- Установите Моралис в ваше внешнее приложение. Аутентифицируйте пользователя с помощью метамаски или любого другого кошелька.
- Создайте форму как для токена обмена, так и для возврата токена.
- Получите все токены с их названием, символами и обменными курсами.
- Поменяйте токен или обменяйте его с помощью подключаемого модуля oninch, предоставленного моралисом.
Вот и все, но поймите, что мне потребовалось несколько дней, тщательное чтение и исследование, чтобы разбить задачу всего на 4 шага. Вы должны пройти через трудности, чтобы выполнить их, а затем вы можете разбить их в конце на 4/5 простых шагов, чтобы достичь их снова.
1. Установка Моралиса и Метамаски
Я расскажу об этом подробно, так как уже написал статью с прикрепленным репозиторием на github. Поэтому обратитесь к статье ниже, чтобы понять процесс установки, архитектуру и то, как установить метамаску с помощью Moralis.
2. Формы обмена токенов
Это снова довольно просто, если вы новичок в приложениях обмена токенами, посетите веб-сайт uni swap.
Учитывая, что приложения DeX чаще имеют похожий пользовательский интерфейс. Разницу можно увидеть в стиле, цветах и разных доменах.
3. Токен и его метаданные
Пользователь может выбрать токен обмена из раскрывающегося списка выбора токена. Чтобы предоставить все доступные токены, нам нужен токен и его метаданные, такие как символ и изображение. Поскольку мы используем морали и морали, предоставляем плагин для работы с oneinch API. one-inch предоставляет API-интерфейс блокчейна для работы со всем, что нам нужно для разработки DeX (децентрализованной биржи), мы будем использовать его для нашего проекта. Его легко использовать, интегрировать и легко освоить (фактически всего 4 метода или функции для обеспечения функциональности токена обмена).
Плагины Moralis
Плагины — это способ работы со сторонним программным обеспечением, модулями и пакетами web3. Допустим, вы хотите работать с API-интерфейсом блокчейна, предоставленным третьей стороной, точно так же, как с одним дюймом. Moralis предоставляет возможность с помощью плагинов напрямую и легко работать с этими сторонними пакетами. Я не буду подробно описывать установку плагина в Моралисе, это всего лишь один документ, который можно найти по ссылке ниже.
После установки однодюймового плагина мы готовы использовать предоставленные методы для интеграции функций подкачки. Я добавляю документ для рабочей процедуры oneinch API.
Извлечение токенов
Пришло время использовать однодюймовый плагин для извлечения токенов и их метаданных. Ниже приведены 3 строки кода или один метод, который даст все токены и их метаданные.
async function getSupportedTokens() { const tokens = await Moralis.Plugins.oneInch.getSupportedTokens({ chain: 'bsc', // The blockchain you want to use (eth/bsc/polygon) }); console.log(tokens); }
4. Обмен, одобрение и разрешение
Перед заменой токенов нам нужно получить цену обмена токенов, а затем проверить, может ли пользователь обменивать токены, если не дает разрешение, и в методе добавления токена обмена.
- Получить обменную цену токена
- Проверить доступность и допустимость пользовательских токенов
- Утверждение обмена токенов, если это не разрешено
- Обменять токен, вызвав метод обмена.
Чтобы получить цену токена, вот метод —
async function getQuote() { const quote = await Moralis.Plugins.oneInch.quote({ chain: 'bsc', // The blockchain you want to use (eth/bsc/polygon) fromTokenAddress: '0x0da6ed8b13214ff28e9ca979dd37439e8a88f6c4', toTokenAddress: '0x6fd7c98458a943f469e1cf4ea85b173f5cd342f4', amount: '1000', }); console.log(quote); };
Проверка доступности токена
async function hasAllowance() { const allowance = await Moralis.Plugins.oneInch.hasAllowance({ chain: 'bsc', fromTokenAddress: '0x0da6ed8b13214ff28e9ca979dd37439e8a88f6c4', fromAddress: '0x6217e65d864d77DEcbFF0CFeFA13A93f7C1dD064', amount: '1000', }); console.log(`The user has enough allowance: ${allowance}`); };
Утверждение обмена токенов, если это не разрешено
async function approve() { await Moralis.Plugins.oneInch.approve({ chain: 'bsc', tokenAddress: '0x0da6ed8b13214ff28e9ca979dd37439e8a88f6c4', fromAddress: '0x6217e65d864d77DEcbFF0CFeFA13A93f7C1dD064', }); };
Замена токена
async function swap() { const receipt = await Moralis.Plugins.oneInch.swap({ chain: 'bsc', fromTokenAddress: '0x0da6ed8b13214ff28e9ca979dd37439e8a88f6c4', toTokenAddress: '0x6fd7c98458a943f469e1cf4ea85b173f5cd342f4', amount: '1000', fromAddress: '0x6217e65d864d77DEcbFF0CFeFA13A93f7C1dD064', slippage: 1, }); console.log(receipt); };
Заключение
Это обертка, так как мы скомпилировали ее в 4 шага, это не означает, что это легко. Я по-прежнему рекомендую вам прочитать эту историю несколько раз, прочитать приведенную ниже статью несколько раз, прежде чем прыгать по коду. Прочитав несколько раз, составьте схему своих задач, разбейте их на шаги, а затем приступайте к выполнению по одному. Вот как я это сделал, и именно так я разработал DeX всего за 4 шага.
Для получения дополнительной информации здесь находится репозиторий github. До следующего раза, хорошего дня, люди, и не забудьте подписаться.
For more such stories, visit our website iHateReading