Title: реализация оплаты с множества адресов Post by: shark255 on December 11, 2013, 03:39:09 PM На многих сервисах - игровых и не только - каждому юзеру дают по уникальному адресу для пополнения.
Согласно документации - https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list это можно сделать с помощью getnewaddress. Также можно получить общий баланс - getbalance. sendfrom <fromaccount> <tobitcoinaddress> <amount> [minconf=1] [comment] [comment-to] Теперь я хочу понять эту команду - отправляется суммарно со всех адресов акка? по какому принципу? Title: Re: реализация оплаты с множества адресов Post by: rPman on December 11, 2013, 06:39:49 PM Эта команда не работает как ожидается, транзакция создается полностью игнорируя принадлежность монет аккаунтам (то есть да, отправляет со всех адресов в wallet.dat), и только правит балансы в кошельке.
Есть два способа сделать исходящую транзакцию с определенных входов (в т.ч. аккаунтов) - экспорт приватного ключа нужного адреса и импорт в новый пустой кошелек (к сожалению эта операция требует перезапуск клиента с полным сканированием блокчейн, что занимает заметно времени - минуты) - самостоятельно создание (https://bitcointalk.org/index.php?topic=101525.0) транзакции из нужных входов (команды createrawtransaction, signrawtransaction, sendrawtransaction) p.s. Еще есть набор патчей (их например сейчас добавляют в novacoin) добавляющих интерфейс выбора нужных входов (но это для транзакций, создаваемых из интерфейса вручную). Title: Re: реализация оплаты с множества адресов Post by: mrmaks on December 12, 2013, 05:42:36 AM - самостоятельно создание (https://bitcointalk.org/index.php?topic=101525.0) транзакции из нужных входов (команды createrawtransaction, signrawtransaction, sendrawtransaction) Согласен, сам пользуюсь через rpc только этим методом.И при этом не забыть вернуть остаток :) Title: Re: реализация оплаты с множества адресов Post by: icreator on December 18, 2013, 05:25:08 PM Эта команда не работает как ожидается, транзакция создается полностью игнорируя принадлежность монет аккаунтам (то есть да, отправляет со всех адресов в wallet.dat), и только правит балансы в кошельке. Есть два способа сделать исходящую транзакцию с определенных входов (в т.ч. аккаунтов) - экспорт приватного ключа нужного адреса и импорт в новый пустой кошелек (к сожалению эта операция требует перезапуск клиента с полным сканированием блокчейн, что занимает заметно времени - минуты) - самостоятельно создание (https://bitcointalk.org/index.php?topic=101525.0) транзакции из нужных входов (команды createrawtransaction, signrawtransaction, sendrawtransaction) p.s. Еще есть набор патчей (их например сейчас добавляют в novacoin) добавляющих интерфейс выбора нужных входов (но это для транзакций, создаваемых из интерфейса вручную). нет - можно еще делать lock но это муторно да и зачем??? на само деле учет балансов на акках дделается в стронней базе |