Как организовать распределение токенов для держателей того или иного ассета

Для этого прекрасно подойдет Waves Full Node + API.


Full Node

> Github https://github.com/wavesplatform/Waves/releases 

> How to Install https://github.com/wavesplatform/Waves/wiki/How-to-install-Waves-node 

> Config file https://github.com/wavesplatform/Waves/blob/master/waves-mainnet.conf 

> Config file tutorial https://github.com/wavesplatform/Waves/wiki/Waves-Node-Configuration-File


API

> Node API - https://github.com/wavesplatform/Waves/wiki/Waves-Node-REST-API


Для того чтобы распределить ассеты вашего ICO проекта, вам необходимо собрать базу Waves адресов (например - http://dev.pywaves.org/balances/), затем с помощью Full Node и cURL запроса распределить ваш ассет. Несколько примеров описаны ниже.


Например чтобы собрать базу адресов владельцев для евро ассета. Asset ID - Gtb1WRznfchDnTh37ezoDTJ4wcoKaRsKqKjJjy7nm2zU


Используйте следующую команду:


curl -X GET --header 'Accept: application/json' 'http://127.0.0.1:6869/assets/Gtb1WRznfchDnTh37ezoDTJ4wcoKaRsKqKjJjy7nm2zU/distribution'

Этот запрос выдаст список всех Waves адресов содержащий евро ассет


"3PDPXPVEPmtFGDb8RTaQCnXGSQ5zdaoE7ry": 2775,
 "3P3zYabhPMWNRNAxZVtBrqFbexwSABiJ4xf": 1,
 "3PMC6qWhQ7KeWS3yDR53RiKVa81kHnAvhRu": 1002826,
 "3PCEJGZi9uVe8kiGdzPpsuNTqAv51tn4eHN": 30000,
 "3P7ePDHwLzRxBEMARXoPX7K5oeEoBMhwt6A": 1000,
 "3PK55pkdLDfJSsPVbxnNZAT1551VBrk2whZ": 267778

Таким образом, вы можете сделать то же самое для вашего ассета. ASSET ID можно получить в Portfolio tab/Ваш ассет/DETAILS.


Для совершения массовых транзакции, можно (проще, ибо можно автоматизировать процесс) использовать снова API метод:


curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \ 
   "assetId": "string", \ 
   "feeAssetId": "string", \ 
   "amount": 0, \ 
   "fee": 0, \ 
   "sender": "string", \ 
   "attachment": "string", \ 
   "recipient": "string" \ 
 }' 'http://127.0.0.1:6869/assets/transfer


Для простого распределения среди держателей Waves. используйте следующий запрос:


curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \ 
   "amount": 0, \ 
   "fee": 0, \ 
   "sender": "string", \ 
   "recipient": "string" \ 
 }' 'http://127.0.0.1:6869/payment'