Bitcoin Forum
July 10, 2024, 08:22:30 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Local / Кодеры / Re: генерация дополнительного адреса on: July 31, 2019, 10:20:13 AM
Свои эксперименты рекомендую поводить в тестовой сети.
У биткоина есть т.н. 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 , который желательно сохранять в табличку с привязкой к клиенту, чтобы можно было сделать сверку баланса в случае проблем с базой.
Опять-таки, способов сделать это вагон и тележка, все зависит от вашего окружения.

Да, я так и собирался сделать, привязаться к пополнениям, а не к балансу. Про баланс это просто как сопутствующий вопрос, чтобы для себя понимать, как это работает.
2  Local / Кодеры / Re: генерация дополнительного адреса on: July 30, 2019, 09:03:33 AM
На blockchain.info да, а в принципе если ручками, то можно создавать транзакции не линкуя адреса между собой. Но как мне известно, такое можно только в Core делать (насчет Electrum не уверен)
В электруме тоже можно отправлять от любого адреса.

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



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

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

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

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

Вот я зашёл сейчас в бч.инфо, там создал кошелёк и назвал его "BTC адреса", там создал 3 адреса.
Теперь допустим хочу отправить биток


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

тогда вопрос, если у меня 10 кошельков, в сумме 1 BTC, я перевожу 0,5 BTC на биржу, и 0,5 BTC оставляю на бч.инфо, с каких адресов и как будет распределяться резерв на вывод?
3  Local / Кодеры / генерация дополнительного адреса on: July 21, 2019, 12:34:20 PM
Друзья, помогите пожалуйста разобраться.

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

Если так, то как будет распределяться баланс при попадании битка на все эти адреса? они будут "складироваться" на основном адресе или каждый адрес будет независим друг от друга?
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!