Создание API для работы с блокчейн
Всем привет! Есть интересная задача - создание 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 - адрес контратка(может и не быть)
Если будут вопросы - с радостью на них отвечу!
28.04.2022 12:38