[DEV: PHP] Перевод криптовалюты с выбранных адресов
Криптовалюты - это псевдоанонимное средство расчетов. С одной стороны, не нужно проходить проверку, чтобы создать кошелек, а с другой, по цепочке транзакций можно определить источник средств. Биржи и обменники не желают связываться с “грязными” монетами, для этого проводят KYC клиента и проверку каждой транзакции.
Крипто-кошелек содержит множество адресов. Обычно при трансфере, несколько монет объединяются в одну, а сдача возвращается на новый адрес.
Если у вас p2p-обмен, торговая площадка, телеграм-бот или сервис, связанный с выводом в фиатную валюту, то вам необходимо иметь изолированные транзакции в пределах одного адреса.
Такая функция уникальна, поскольку ни один другой процессинг (на момент написания статьи) не обладает подобным решением, т.е. не предоставляет клиенту возможность выбора монет при оплате.
Тестовый кошелек: tbtc-bde1cfc70297e4ff7068334b25986819
Тестовый Transfer_key: hyl1aQkd5vwdzT1uExgUCOXOcekUg4Yc
Пример кода:
Где addresses - это массив из одного или нескольких адресов, из которых будут браться монеты для транзакции.
Получателей destinations может быть от 1 до 255, они также перечисляются в массиве.
Бизнес-логику можно построить так:
- вам прислали платеж, и он подтвердился в сети
- вы проверили его на чистоту, например в сервисе Crystal Blockchain
- в случае недостаточной чистоты происхождения средств, вернули их отправителю, не затронув других клиентов
В параметре суммы можно указать значение “100%”, в таком случае комиссия сети вычитается из суммы и на указанном(-ых) адресе(-ах) на балансе будет ноль.