Post
Topic
Board Кодеры
Merits 1 from 1 user
Re: Как сгенерировать криптовалютные адрес
by
ferumflex
on 25/11/2018, 19:24:29 UTC
⭐ Merited by Tuwierun (1)
Постараюсь объяснить как это делается. Как тут правильно заметили никаких сервисов тебе не надо, ибо можно потерять деньги.

Для того чтобы можно было генерировать сколько угодно адресов придумали bip44
https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki


это стандарт описывает и как генерятся адреса с помощью пути. Путь выглядит так

m / purpose' / coin_type' / account' / change / address_index
что для биткоина будет выглядеть так
m / 44' / 0' / 0' / 0 / 0
где самый последний ноль это address_index. Вот эго можно менять сколько угодно, самый простой способ это ид пользователя.

Но это еще не все, чтобы это все работало, нужно как то генерить эти адреса, а для этого нужно чтобы приватный ключ был на сервере.
Но тут есть еще одна хитрость для генерирования публичный адресов достаточно хранить расширенный публичный ключ на сервере. Даже если вас взломают, хакеры узнаю только публичные адреса, но не узнают приватные ключи этих адресов.

Алгоритм как это делается
1. На защищенной машине генерируется приватный ключ от всех кошельков, естественно он никогда не передается на сервер
2. из приватного ключа генерируем расширенный публичный ключ
3. расширенный публичный ключ загружаем на сервер и генерируем новый адрес для каждого пользователя используя path.

можно посмотреть как это реализовано в https://github.com/iancoleman/bip39