Author

Topic: генерация дополнительного адреса (Read 205 times)

newbie
Activity: 3
Merit: 0
sr. member
Activity: 503
Merit: 283
Свои эксперименты рекомендую поводить в тестовой сети.
У биткоина есть т.н. testnet. В котором можно совершенно бесплатно получить тестовые биткоины и поиграться с ними на тех же принципах, что и в основной сети.
Я вам все же рекомендую для тестов поставить какой-то десктопный кошелек. Например Bitcoin Core или Electrum.
Скачать их можно отсюда (и только отсюда, старайтесь избегать иных ссылок) https://bitcoin.org/ru/choose-your-wallet
Запускаем с ключем bitcoin-qt.exe -testnet (синхронизация произойдет быстро, т.к. база весит всего 29 гб)  или electrum.exe" --testnet и попадаем в параллельную реальность, где можно спокойно поиграться и отладить свои скрипты без страха потерять свои монетки.

Далее, по вопросам. Выдавать новый адрес и проверять его вполне реальная идея. Главное не рассинхронизоваться с реальной базой вашего проекта. Вариантов как все реализовать - вагон и тележка. Зависит от задачи.
Но если по вашей, так для понимания, то все можно сделать.
Т.е. выдаете и закрепляете за пользователями адреса А B C  , они зачисляют монеты, каждый на свой адрес. Вы по каждому адресу смотрите приходы и синхронизируете со своей базой. Важно не привязываться к балансу бтц адреса, ибо вы же будете выводить монеты , соответственно опустошать адреса и баланс нарушится.
Есть 2 способа отправить монеты: с использованием конкретных адресов или дать кошельку самому решить.
 К , примеру, мы умно расходуем монеты.
У нас есть балансы:
A - 0.1 btc
B - 0,2 btc
C - 0,3 btc
* Мы можем отправить все монеты, например, с адреса А на другой адрес F в сумме, не превышающей баланс адреса (с учетом комиссии).
Тогда баланс адреса A станет равен 0, кошелька F будет 0,09999, а 0,00001 (примерная сумма , ибо зависит от загрузки сети и размера транзакции ) пойдет майнерам в оплату за осуществление транзакции.

* Если же мы отправим , например A -> F 0,05 btc, то баланс кошелька F будет 0,05 btc , баланс адреса A станет равен 0, но в кошельке появится еще один адрес X , с балансом 0,04999, он будет содержать сдачу от транзакции за минусом транзакции майнерам.

При желании, качестве адреса для сдачи можно задать опять кошелек А, это можно сделать в большинстве клиентов.

* Если же нам надо потратить 0,3 btc (точнее уже не более 0.29999, с учетом комиссии) , то опять-таки, мы можем отправить или все с адреса C или с адресов A+B , это или вы решаете, или кошелек решает за вас. Например первый раз он скорее всего отправит с адреса C, а потом A+B, поскольку отправка с одного адресе С дешевле, ибо занимает меньше места в блокчейне.

тогда вопрос, если у меня 10 кошельков, в сумме 1 BTC, я перевожу 0,5 BTC на биржу, и 0,5 BTC оставляю на бч.инфо, с каких адресов и как будет распределяться резерв на вывод?
Все зависит от того, как будут распределены балансы на адресах. В любом случае это будет произвольно по вышеприведенному принципу, что лучше отправить сначала средства с 1 адреса, если их достаточно, или захватить другие, если недостаточно.

В любом случае , повторюсь, не привязывайтесь к балансам кошельков!!!! И вышеперечисленные проблемы перестанут вас волновать.  Привязывайтесь к поступлениям на адрес (это всегда можно проверить через блокчейн). Они навечно записываются в базу и подделать их нельзя!
Приходы всегда будут от клиентов (ну если вы сами не будете заводить деньги на свой кошелек), а выводы будут ваши.
Вот, чтобы узнать, скольок зашло от клиента, читаем список транзакций для определенного адреса (закрепленного за ним) и записываем в своб базу. При чем для каждой операции прихода будет свой уникальный tx_id , который желательно сохранять в табличку с привязкой к клиенту, чтобы можно было сделать сверку баланса в случае проблем с базой.
Опять-таки, способов сделать это вагон и тележка, все зависит от вашего окружения.


newbie
Activity: 3
Merit: 0
На blockchain.info да, а в принципе если ручками, то можно создавать транзакции не линкуя адреса между собой. Но как мне известно, такое можно только в Core делать (насчет Electrum не уверен)
В электруме тоже можно отправлять от любого адреса.

Здесь, видимо, речь о смешивании выходов BTC-транзакций, которые , согласно скрипту scriptPubKey формата P2PKH, были отправлены на разные Bitcoin-адреса. Конечно, приложение Bitcoin Core предоставляет полный функционал работы с блокчейном, которое включает возможность ручного выбора выходов транзакций при создании новой транзакции. Не все лёгкие клиенты поддерживают такие расширенные функции.



Если так, то как будет распределяться баланс при попадании битка на все эти адреса? они будут "складироваться" на основном адресе или каждый адрес будет независим друг от друга?

На который Bitcoin-адрес отправите, на том адресе BTC-монеты и будут "складироваться". Никаких дополнительных транзакций по усреднению балансов между адресами одного клиента сервис blockchain.com, насколько я знаю, не осуществляет.

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

Далее я хочу раз в неделю одной транзакцией перевести весь биток, со всех выданных адресов, например на биржу. Это будет одной транзакцией?

Вот я зашёл сейчас в бч.инфо, там создал кошелёк и назвал его "BTC адреса", там создал 3 адреса.
Теперь допустим хочу отправить биток
https://s8.hostingkartinok.com/uploads/images/2019/07/e744a00f40ab9c83eaeaf16452277c7e.png

и видно, что при выборе, откуда брать биток, указывается кошелёк, а не конкретный адрес.

тогда вопрос, если у меня 10 кошельков, в сумме 1 BTC, я перевожу 0,5 BTC на биржу, и 0,5 BTC оставляю на бч.инфо, с каких адресов и как будет распределяться резерв на вывод?
legendary
Activity: 2674
Merit: 2334
На blockchain.info да, а в принципе если ручками, то можно создавать транзакции не линкуя адреса между собой. Но как мне известно, такое можно только в Core делать (насчет Electrum не уверен)
В электруме тоже можно отправлять от любого адреса.

Здесь, видимо, речь о смешивании выходов BTC-транзакций, которые , согласно скрипту scriptPubKey формата P2PKH, были отправлены на разные Bitcoin-адреса. Конечно, приложение Bitcoin Core предоставляет полный функционал работы с блокчейном, которое включает возможность ручного выбора выходов транзакций при создании новой транзакции. Не все лёгкие клиенты поддерживают такие расширенные функции.



Если так, то как будет распределяться баланс при попадании битка на все эти адреса? они будут "складироваться" на основном адресе или каждый адрес будет независим друг от друга?

На который Bitcoin-адрес отправите, на том адресе BTC-монеты и будут "складироваться". Никаких дополнительных транзакций по усреднению балансов между адресами одного клиента сервис blockchain.com, насколько я знаю, не осуществляет.
sr. member
Activity: 503
Merit: 283
На blockchain.info да, а в принципе если ручками, то можно создавать транзакции не линкуя адреса между собой. Но как мне известно, такое можно только в Core делать (насчет Electrum не уверен)
В электруме тоже можно отправлять от любого адреса.

Кстати, alexweb, а зачем тебе тот блокчейн. Поставь тот же electrum, это легковесный кошелек. Там хорошо видно и понятно что такое адреса и как ими пользоваться.
В кошельке сразу будет сгенерированно некоторое количество адресов, принимать средства можешь на любой, отправлять сможешь с любого адреса, не смешивая монеты. Единственно, отправлять нужно всю сумму с конкретного адреса, иначе непотраченная сдача упадет на другой адрес.
Главное запиши seed фразу, которая будет показана при генерации кошелька. По этим словам всегда можно восстановить кошелек даже не имея его физической копии.

Ну или выбери любой из списка, какой нравится
https://bitcoin.org/ru/choose-your-wallet
sr. member
Activity: 377
Merit: 282
Finis coronat opus
Если так, то как будет распределяться баланс при попадании битка на все эти адреса? они будут "складироваться" на основном адресе или каждый адрес будет независим друг от друга?

Вы будете отправлять биткоины на конкретный адрес, где они будут лежать. Если допустим у вас по 0.2 btc на трех разных адресах, и вы отправляете транзакцию << 0.2 btc, то средства будут списываться с одного адреса (раньше было так, по крайней мере). Если вы отправляете транзакцию на сумму, при условии сумма + fee > 0.2 btc то блокчейн инфо (как впрочем и любой другой кошелек) будет подтягивать выходы других адресов, линкуя их между собой. И всем будет известно что два этих адреса принадлежат одной личности.

Но лично по моему опыту помню blockchain.info последний раз подтягивал выходы с "соседнего" адреса.

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

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

При этом , после этого, не важно, в каком кошельке вы потратите деньги с этого адреса, минус вы получите по всем кошелькам, где этот адрес фигурирует в суммарном балансе.

На blockchain.info да, а в принципе если ручками, то можно создавать транзакции не линкуя адреса между собой. Но как мне известно, такое можно только в Core делать (насчет Electrum не уверен)
sr. member
Activity: 503
Merit: 283
Друзья, помогите пожалуйста разобраться.

Правильно ли я понимаю, что я могу зарегистрироваться например на blockchain.com создав там адрес биткоин кошелька, а потом используя их API могу генерировать дополнительные адреса?

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

При этом , после этого, не важно, в каком кошельке вы потратите деньги с этого адреса, минус вы получите по всем кошелькам, где этот адрес фигурирует в суммарном балансе.
newbie
Activity: 3
Merit: 0
Друзья, помогите пожалуйста разобраться.

Правильно ли я понимаю, что я могу зарегистрироваться например на blockchain.com создав там адрес биткоин кошелька, а потом используя их API могу генерировать дополнительные адреса?

Если так, то как будет распределяться баланс при попадании битка на все эти адреса? они будут "складироваться" на основном адресе или каждый адрес будет независим друг от друга?
Jump to: