Bitcoin Forum
September 18, 2021, 05:01:31 AM *
News: Latest Bitcoin Core release: 22.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Как сгенерировать криптовалютные адреса  (Read 696 times)
Tuwierun
Member
**
Offline Offline

Activity: 294
Merit: 21


View Profile
November 12, 2018, 04:01:59 PM
 #1

Приветствую!
Ребят, возник такой вопрос. Возможно тупо поставленный, но я пытаюсь задать его максимально понятно. Есть такая проблема:

Для проекта необходима генерация адресов для каждого вновь зарегистрированного пользователя.
Требуются адреса по bitcoin, ethereum, ripple, bitcoin cash, litecoin, dash, monero, zcash.

То есть, новый пользователь зарегался на платформе, ему автоматически присвоили 8 адресов по каждой крипте.
Как присвоить, это понятно, где их, адреса, можно сгенерировать в таком количестве?))
Например, заранее для будущих пользователей 500 адресов по каждой крипте, то есть, 4 000 в общей сложности.

Может быть сервис какой есть?
1631941291
Hero Member
*
Offline Offline

Posts: 1631941291

View Profile Personal Message (Offline)

Ignore
1631941291
Reply with quote  #2

1631941291
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1631941291
Hero Member
*
Offline Offline

Posts: 1631941291

View Profile Personal Message (Offline)

Ignore
1631941291
Reply with quote  #2

1631941291
Report to moderator
fxpc
Sr. Member
****
Offline Offline

Activity: 1316
Merit: 418


KTO EC/\U HUKTO?


View Profile
November 13, 2018, 11:48:16 AM
 #2

Какой смысл их впрок генерировать? Сделать это можно хоть на холодильнике, никакие сторонние сервисы для этого не нужны. Если интересуют чужие имплементации в коде, то по соответствующему запросу гугл выдаст тебе тысячи поделий

Tuwierun
Member
**
Offline Offline

Activity: 294
Merit: 21


View Profile
November 13, 2018, 12:58:36 PM
 #3

Какой смысл их впрок генерировать? Сделать это можно хоть на холодильнике, никакие сторонние сервисы для этого не нужны. Если интересуют чужие имплементации в коде, то по соответствующему запросу гугл выдаст тебе тысячи поделий

Дружище, вот ты скажи, в моем вопросе есть что-то вроде: "Ищу смысл генерации", "На чем можно генерировать", "Нужны ли сторонние сервисы"?
Вроде как нет. Вопрос конкретный: есть ли известные вам сайты, где я могу для каждой из 8 криптовалют создать необходимое мне количество адресов?
Какой в этом смысл и прочее, вопрос вообще в конце очереди.

Если таких сервисов нет, достаточно написать, что их нет. Если есть, то можно просто название написать, даже ссылку кидать не обязательно.
Не надо умничать пожалуйста.
Спасибо.
fxpc
Sr. Member
****
Offline Offline

Activity: 1316
Merit: 418


KTO EC/\U HUKTO?


View Profile
November 13, 2018, 02:14:04 PM
Last edit: November 13, 2018, 03:53:12 PM by fxpc
Merited by kzv (1)
 #4

Умничаешь здесь только ты. Ещё раз повторяю для особо одарённых - сервисы для этого нахуй не нужны, софта для генерации адресов навалом. Тебя в гугле забанили, поэтому ты поисковые запросы сюда отправляешь? Пиздец, дайте ему сервисы, чтобы проебал приватные ключи от адресов клиентов Grin

DanMarteens
Newbie
*
Offline Offline

Activity: 16
Merit: 0


View Profile
November 16, 2018, 09:15:28 PM
 #5

Есть по крайней мере несколько способов, все зависит от того где будет находиться нода - на твоем сервере, или с помощью api сторонних сервисов (те кто будет владельцем приватных ключей).

Если нужно чтобы нода была на сервере и приватные ключи были у тебя, то самый простой способ например, для битка - установить на сервер bitcoin-qt и используя его стандартную команду сгененрировать адрес через php.

<?php
use BitWasp\Bitcoin\Bitcoin;
use BitWasp\Bitcoin\Address;
use BitWasp\Bitcoin\Key\PrivateKeyFactory;

$network = Bitcoin::getNetwork();

$privateKey = PrivateKeyFactory::create(true);
$publicKey = $privateKey->getPublicKey();
$address = $publicKey->getAddress();


Можно также сгенерировать адрес через https://www.bitaddress.org/

Либо запросить api blockchain.com и при авторизации создавать через него новый кошелек и вытаскивать оттуда адрес

Как вариант еще bitaps - когда-то пользовался, не знаю рабочий ли сейчас

Есть еще библиотека bitcoin js.
alpot555
Member
**
Offline Offline

Activity: 155
Merit: 10


View Profile
November 18, 2018, 05:12:55 PM
 #6

Есть по крайней мере несколько способов, все зависит от того где будет находиться нода - на твоем сервере, или с помощью api сторонних сервисов (те кто будет владельцем приватных ключей).

Если нужно чтобы нода была на сервере и приватные ключи были у тебя, то самый простой способ например, для битка - установить на сервер bitcoin-qt и используя его стандартную команду сгененрировать адрес через php.

<?php
use BitWasp\Bitcoin\Bitcoin;
use BitWasp\Bitcoin\Address;
use BitWasp\Bitcoin\Key\PrivateKeyFactory;

$network = Bitcoin::getNetwork();

$privateKey = PrivateKeyFactory::create(true);
$publicKey = $privateKey->getPublicKey();
$address = $publicKey->getAddress();


Можно также сгенерировать адрес через https://www.bitaddress.org/

Либо запросить api blockchain.com и при авторизации создавать через него новый кошелек и вытаскивать оттуда адрес

Как вариант еще bitaps - когда-то пользовался, не знаю рабочий ли сейчас

Есть еще библиотека bitcoin js.

Аналогично, но как это сделать для dogecoin?
d34thkn3ll
Jr. Member
*
Offline Offline

Activity: 52
Merit: 1


View Profile
November 19, 2018, 04:49:24 PM
 #7

Аналогично, но как это сделать для dogecoin?

networkVersion = 0x1e
privateKeyPrefix = 0x9e
WIFPrefix = '6'
compressedWIFPrefix = 'Q'

В остальном тот же алгоритм, что и у биткоина. Реализацию на JS можно подсмотреть, например, тут: https://bitcoinpaperwallet.com/bitcoinpaperwallet/generate-wallet.html?design=alt-dogecoin

Looking for decentralized systems experts.
ferumflex
Full Member
***
Offline Offline

Activity: 256
Merit: 102


View Profile WWW
November 25, 2018, 07:24:29 PM
Merited by Tuwierun (1)
 #8

Постараюсь объяснить как это делается. Как тут правильно заметили никаких сервисов тебе не надо, ибо можно потерять деньги.

Для того чтобы можно было генерировать сколько угодно адресов придумали 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
zan0za
Jr. Member
*
Offline Offline

Activity: 46
Merit: 3


View Profile
November 26, 2018, 07:57:38 PM
 #9

Приветствую!
Ребят, возник такой вопрос. Возможно тупо поставленный, но я пытаюсь задать его максимально понятно. Есть такая проблема:

Для проекта необходима генерация адресов для каждого вновь зарегистрированного пользователя.
Требуются адреса по bitcoin, ethereum, ripple, bitcoin cash, litecoin, dash, monero, zcash.

То есть, новый пользователь зарегался на платформе, ему автоматически присвоили 8 адресов по каждой крипте.
Как присвоить, это понятно, где их, адреса, можно сгенерировать в таком количестве?))
Например, заранее для будущих пользователей 500 адресов по каждой крипте, то есть, 4 000 в общей сложности.

Может быть сервис какой есть?

А ты бы доверял таким сервисам если бы они были?

Если злоумышленник сделает такой сервис и будет тебе генерировать пары адрес-приватный ключ то этот злоумышленник может себе оставлять эти пары и постоянно мониторить блокчейн и как только на любой из адресов который он сгенерил поступят монеты то он сможет забрать их имея приватный ключ.
vromaniuk277
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile WWW
April 06, 2020, 10:38:24 AM
 #10

Если тебе нужны просто не рабочие адреса, то можешь сознать переменную(0x)+рандомные цифры-буквы. Вот и  всё.
just_user
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
May 03, 2020, 04:47:16 PM
 #11

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

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

Здравствуйте, правильно ли я понимаю что создав пустой кошелек и сгенерировав расширенный публичный ключ,
я с помощью указанной вами программы могу на удаленном сервере сгенерировать допустим 10 000 000 адресов,
и при приходе на сгенерированный адрес битков bitcoin-cli это увидит,
и запишет адрес в локальный wallet.dat из которого был взят расширенный публичный ключ?

то-есть локальный wallet.dat будет расти в размере по мере поступления битков, а не сразу при генерации тех же 10 000 000 адресов?

tmp
Jr. Member
*
Offline Offline

Activity: 96
Merit: 1


View Profile
January 01, 2021, 05:14:02 PM
 #12

И все же, подскажите плиз по поводу генерации адресов. Где можно почитать алгоритмы. Еле нашел подробную инфу по генерации биткоин адресов.
Наконец создал свой яваскрипт на основе библиотек CryptoJS library от Jeff Mott, BigInteger и Elliptic Curve implementation javascript libraries от Tom Wu для генерации биткоин адресов формата Legacy и P2SH (так только узнал что с одного приватного ключа может быть адрес двух версий).
Теперь вот надо прикрутить сюда же и Эфир, Лайт, Доги. Там другие алгоритмы или все тоже как и в биткоине только префиксы меняются?
Буду благодарен за любую наводку на документацию либо на подсказку. Заранее спасибо.

A-Bolt
Legendary
*
Offline Offline

Activity: 1948
Merit: 1694


View Profile
January 01, 2021, 06:54:29 PM
Merited by Ratimov (2), johhnyUA (1)
 #13

Теперь вот надо прикрутить сюда же и Эфир, Лайт, Доги. Там другие алгоритмы или все тоже как и в биткоине только префиксы меняются?
Litecoin и Dogecoin - алгоритм генерации адреса из приватного ключа тот же, что и у Bitcoin, но с другими префиксами.

У Ethereum другой алгоритм хеширования публичного ключа - Keccak. Для генерации адреса из приватного ключа можно воспользоваться библиотекой ethjs.
tmp
Jr. Member
*
Offline Offline

Activity: 96
Merit: 1


View Profile
January 05, 2021, 04:58:17 PM
 #14

Спасибо большое за предыдущий ответ. Еще вопрос такой в тему генерации адресов:

Планирую (пока что только в проекте) создать некий гибридый сервис по обслуживанию криптоадресов.
Одной из функций будет генерация адресов N-ое количество крипто валюты. Во время создания генератора понял что адреса на разные криптокоины можно создавать с одного приватного ключа.
Для обычного пользователя - это очень удобно. С другой стороны, учитывая безопасность, это не совсем правильно.
скажите пожалуйста свое мнение как лучше было бы - один приватный ключ и N-ое количество адресов на каждую крипту или все таки лучше на каждый адрес отдельный приватный ключ?
Я вижу и в той и в той реализации 50% плюсов и 50% минусов. Не могу определиться Smiley
mrxtraf
Member
**
Offline Offline

Activity: 249
Merit: 27


View Profile WWW
January 05, 2021, 06:10:06 PM
 #15

Спасибо большое за предыдущий ответ. Еще вопрос такой в тему генерации адресов:

Планирую (пока что только в проекте) создать некий гибридый сервис по обслуживанию криптоадресов.
Одной из функций будет генерация адресов N-ое количество крипто валюты. Во время создания генератора понял что адреса на разные криптокоины можно создавать с одного приватного ключа.
Для обычного пользователя - это очень удобно. С другой стороны, учитывая безопасность, это не совсем правильно.
скажите пожалуйста свое мнение как лучше было бы - один приватный ключ и N-ое количество адресов на каждую крипту или все таки лучше на каждый адрес отдельный приватный ключ?
Я вижу и в той и в той реализации 50% плюсов и 50% минусов. Не могу определиться Smiley
А какой разумный человек будет пользоваться сгенеренным на стороне приватными ключами?
tmp
Jr. Member
*
Offline Offline

Activity: 96
Merit: 1


View Profile
January 05, 2021, 07:26:02 PM
 #16


А какой разумный человек будет пользоваться сгенеренным на стороне приватными ключами?
Вся генерация будет происходить посредством яваскриптов на стороне клиента. Можно будет при генерации хоть интернет отключать для безопасности. Код будет открытым. Для особо недоверчивых. Смогут сами все проверить. Суть не в этом. Smiley 
mrxtraf
Member
**
Offline Offline

Activity: 249
Merit: 27


View Profile WWW
January 05, 2021, 09:04:41 PM
 #17


А какой разумный человек будет пользоваться сгенеренным на стороне приватными ключами?
Вся генерация будет происходить посредством яваскриптов на стороне клиента. Можно будет при генерации хоть интернет отключать для безопасности. Код будет открытым. Для особо недоверчивых. Смогут сами все проверить. Суть не в этом. Smiley  
И чем это будет отличатся к примеру от этого?
https://mrxtraf.github.io/brainwalletXX/#game
tmp
Jr. Member
*
Offline Offline

Activity: 96
Merit: 1


View Profile
January 05, 2021, 09:20:06 PM
 #18


И чем это будет отличатся к примеру от этого?
https://mrxtraf.github.io/brainwalletXX/#game

ну вопрос был не в этом ))) А все свои планы раскрывать пока, я думаю, не стоит. Хотя одно отличие скажу - там нет Эфира Smiley  Все равно у меня пока все в процессе генерации идей и не знаю хватит ли сил на воплощение  ))) Поэтому пока что интересует мнение о приватном ключе к адресам разных монеток.
Free_fly
Newbie
*
Offline Offline

Activity: 25
Merit: 0


View Profile
January 11, 2021, 01:02:08 AM
 #19

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

Хочешь экономить на размере хранилища, создай 2 ключа и суммируй их в определенном порядке.
tmp
Jr. Member
*
Offline Offline

Activity: 96
Merit: 1


View Profile
January 12, 2021, 05:08:52 PM
 #20


Максимально безопасно, когда для каждого вида валют, свой уникальный ключ.
Принял! Спасибо! Тоже так и думал )))
Хочешь экономить на размере хранилища, создай 2 ключа и суммируй их в определенном порядке.
А вот это интересная идея! Надо будет подумать над ней! Спасибо!
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!