Добрый день!
Подскажите:
1) Где можно посмотреть API по взаимодействию с блокчейном:
1.1) Узнать баланс, баланс парамайнинга и транзакции кошелька
1.2) Узнать баланс структуры кошелька и/или множитель от данного баланса
2) API для вывода денег с баланса кошелька на другой баланс
Хочу сделать сайт с сервисами по PRIZM
Я предположу, что у тебя на локалхосте запущена нода.
1. API:Ты можешь просмотреть и протестировать API запросы по следующей ссылке:
>
http://localhost:9576/test- обрати внимание на такие вещи, как getBlockchainTransactions, getBlock, getAccount, getBalance и так далее.
- обрати внимание, что getBlockchainTransactions отдаёт максимум 100 транзакций в указанных пределах. То есть для получения всех транзакций какого-то аккаунта нужно сделать полистовую загрузку с оффсетом в 100.
1.1 Баланс
1.1.1 Баланс - см. пункт 1, getBalance
1.1.2 Баланс парамайнинга - нужно считать руками, готовое не выдает
1.1.3 Транзакции - см. пункт 1, getBlockchainTransactions
1.2 Баланс структуры и множитель
1.2.1 Баланс структуры нужно считать руками, используя getBlockchainTransactions для составления модели иерархии с последующим суммированием балансов
1.2.2 Множитель можно посчитать, зная баланс структуры, используя алгоритм из этого класса:
https://github.com/prizmspace/PrizmCore/blob/master/src/main/java/prizm/ParaMetrics.java2. Осуществление переводаЭту тему на пальцах на форуме не объяснить. Путь к осознанию таков:
1) Качаешь Prizm API Servlet с гитхаба
2) Декомпилируешь
3) Смотришь, как оно работает
В упрощенной форме алгоритм таков:
1) Узнать публичный ключ получателя
2) Сказать ноде что собираешься сделать такую-то тразакцию (не передавая свою секретную фразу/приватный ключ) ->
requestType=sendMoney3) В ответе ноды будут "сырые" байты транзакции
4) С помощью твоего приватного ключа, публичного ключа получателя и магии эллиптических кривых подписываешь транзакцию.
5) Отдаёшь подписанную транзакцию на ноду ->
requestType=broadcastTransactionДля обращения к API ноды нужно использовать следующую конструкцию:
%PROTOCOL%://%HOST%:9576/prizm?requestType=%REQUEST_TYPE%&%PARAMETERS%где:
%PROTOCOL% = http | https
%HOST% = любой хост с открытым API
%PARAMETERS% = необходимые для обратки запроса параметры (для каждого типа запроса - свои)
На примере локальной ноды:
http://localhost:9576/prizm?requestType=getAccount&account=PRIZM-XXXX-XXXX-XXXX-XXXXX