Создание API для работы с блокчейн

70 000 руб. за проект
28 апреля 2022, 13:06 • 14 откликов • 77 просмотров
Всем привет! Есть интересная задача - создание API для работы с блокчейном двух криптовалют (возможно, список будет пополнятся):

Аlgorand - https://www.algorand.com
Terra - https://www.terra.money

Необходимо реализовать API для работы с методом, которые описаны ниже.

Если вы используете PHP, то минимальная версия PHP - 8.1, для реализации на PHP API можно не реализовывать, достаточно скриптов.

Предпочтения к языкам: php, js

На вход вы принимаете:
currency — валюта (например, TRX)
token – (например, trc20)
contract_address — адреса контракта

В зависимости от того, что вы передали - токен или монету, по итогу вы работаете с либо с контрактом, либо «без него» соотвественно

Если работа с токеном - currency не передается.

Примечание:
Ответы в json. Успешный результат вернуть в result, если произошла ошибка при выполнение - http code=500, в error - саму ошибку.

  • Создание адреса
Нет входящих данных, адрес создается не на ноде, а offline.
Вы должны вернуть:
address — адрес кошелька
password — приватный ключ

  • Баланс кошелька
Запрос:
address - адреса кошелька
Ответ:
balance — баланс кошелька в валюте (string)

  • Валидация кошелька
Запрос:
address - адреса кошелька
Ответ:
is_valid — true|false

  • Запрос на вывод
Запрос
from_address - адреса кошелька
from_password — приватный ключ кошелька
amount - сумма
address — адрес куда вывести

Ответ:
txid — txid транзакции

  • Информация о транзакции
Запрос:
txid — txid транзакции
Ответ:
status -
paid — успешно
wait — не подтверждена
fail — ошибки транзакции
fee – комиссия сети , array
amount - сумма
currency - валюта paid — успешно, wait — не подтверждена, fail — ошибки транзакции

  • Уведомление о новой транзакции, блок
Вам необходимо получать новые блоки и парсить их, вытаскивать транзакции и информацию о них. Все распарсенные транзакции необходимо отправлять по http. Сохраняете последний̆ распарсенный блок и начинайте с него при падении.

Запрос:
transactions — массив транзакций

Структура транзакции:
block_number — номер блока
from_address — от кого пришла транзакция to_address — на какой адрес
amount — сумма
txid - hash
сontract_address - адрес контратка(может и не быть)

Если будут вопросы - с радостью на них отвечу!