Описание тега thyroid
ИМХО это не безопасно, чтобы дать адрес сразу пользователю, но, с моей позиции, предложенное решение представляется целесообразным с корректировкой.
Я бы порекомендовал ammending следующим образом:
Проверьте зазор с помощью API. Если **зазор>х* Гото #3 еще #2.
Создать адресу и хранить его внутри
unpaid_address
таблицы на основе "индекс", что блокчейн возвращается с адреса. установить время экспирации на 60 минут, в магазине также запрашиваемую сумму и перейти на #4.Получить первое истек неоплачиваемый адрес
unpaid_address
стол. Дубликат его, если он до сих пор помечен как ожидающий и хранить сумму. Если нет ничего, показывают, извините, сервер занят, еще Гото #4.Показать адрес пользователю и сказать, у вас есть 15 минут, чтобы заплатить по этому адресу. (15 минут меньше, чем время истечет, чтобы избежать проблем).
Замечу, что вы, кажется, используете blockchin бумажник, но вы можете сделать это в дополнение: при использовании ядра Биткоин (Биткоин-в Qt|bitcoind) набор
-walletnotify
в командной строке, чтобы выполнить скрипт, назвав Ваш URL-адрес обратного вызова со статусом "ожидание", если сделка на любой ваш адрес входит в mempool (нюанс: я только считаю, чтоwalletnotify
выполняется при транзакции на ваш кошелек поступает mempool - вы будете иметь, чтобы проверить это). Ваш скрипт нужно извлечь payto адреса и BTC сумму сравнить сunpaid_address
стол. Далее,walletnotify
должен работать снова, когда сделка имеет свое первое подтверждение, вы можете позвонить Ваш URL-адрес обратного вызова со статусом зеленого проверив детали сделки. Посмотрим, как использовать walletnotify?.Если блокчейн обратного вызова URL-адрес, затем я удалить адрес из
unpaid_address
еще адрес был там на следующий запрос других пользователей **если даже не в ожидании*. Я дам Этот адрес следующим пользователям для оплаты.
Обратите внимание, что на многие кошельки вы можете повысить предел разрыва, скажем, 100 или 1000, как вы поняли. Я бы, конечно, рассмотреть предельный зазор 1000 для реализации то, что вы предлагаете.
Отметим также, что вам придется тщательно продумать, как оценивать сделки, что существует, что еще не подтвержден. Если плата за смехотворно низкую конечном счете оно должно подтвердить, даже как более чем 30 дней не исключено, как я испытал это с умеренным, но не особо низкая плата таргетинг 3-х дневный срок подтверждения.
Я бы Также рекомендуем хранить адресу вместе с БТД сумму и просит не снимать его, когда он помечен как ожидающий, хотя, поступая таким образом, нет никакой причины, что вы не можете повторно использовать адрес в будущем в любом случае (не снимая его с вас магазина адрес и сумму) при условии, конечно, что люди платят полную сумму, без вычета комиссионных от суммы.
Если вы продаете высокая стоимость хорошего вы могли бы рассмотреть ожидая, пока оплата не будет отмечена зеленым до доставки, как я считаю, что это то, что вы желали.