Bitcoin Forum

Local => Кодеры => Topic started by: shark255 on December 11, 2013, 03:39:09 PM



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
но это муторно
да и зачем???

на само деле учет балансов на акках дделается в стронней базе