Bitcoin Forum

Local => Кодеры => Topic started by: Sanito on January 19, 2014, 10:03:17 AM



Title: Эксплойд трнзакции
Post by: Sanito on January 19, 2014, 10:03:17 AM
Здравствуйте.

А можно ли каким-то образом разбить сумму транзакции на неравные части (с отправкой на разные адреса)? Что-то вроде "взимания налога": отправляют на адрес A, при этом часть этой суммы уходит на B.


Title: Re: Эксплойд трнзакции
Post by: ri on January 19, 2014, 06:41:47 PM
А можно ли каким-то образом разбить сумму транзакции на неравные части (с отправкой на разные адреса)? Что-то вроде "взимания налога": отправляют на адрес A, при этом часть этой суммы уходит на B.

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

Вообще, количество выходов не ограничено протоколом, т.е. можно одной транзакцией разослать сразу на много адресов, но стандартными средствами клиентов такая возможность не реализована (быть может и есть какой-нибудь клиент, где оно уже реализовано, но я о таком не знаю). Можно воспользоваться средствами создания raw-транзакций bitcoind или консоли bitcoin-qt. Вручную - долго, муторно и чревато ошибками, но судя по тому, в какой ветке форума размещена тема - видимо, планируется реализация в коде? В этом случае почитайте про формирование raw-транзакций (гугл в помощь) - там есть ответ на ваш вопрос.


Title: Re: Эксплойд трнзакции
Post by: in100 on January 19, 2014, 07:17:40 PM
Вообще, количество выходов не ограничено протоколом, т.е. можно одной транзакцией разослать сразу на много адресов, но стандартными средствами клиентов такая возможность не реализована (быть может и есть какой-нибудь клиент, где оно уже реализовано, но я о таком не знаю).

А кнопка "Добавить получателя" в "Отправить" для чего? Добавляй хоть сотню получателей - всё уйдёт одной транзакцией.

В первоначальном вопросе речь идет о чём-то другом, не понимаю точно, что хочет ТС.


Title: Re: Эксплойд трнзакции
Post by: ri on January 19, 2014, 07:25:11 PM
А кнопка "Добавить получателя" в "Отправить" для чего? Добавляй хоть сотню получателей - всё уйдёт одной транзакцией.

Гм, действительно... Спасибо, что ткнули носом в мою невнимательность...


Title: Re: Эксплойд трнзакции
Post by: icreator on January 20, 2014, 10:53:33 AM
сейчас уже новый адрес для сдачи не генерится - похоже от этого бреда отказались

просто в кошельке должен быть адрес свободный от входа для данной транзакции

собрать любую транзакцию ты сможешь сам по sent_many в АПИ


Title: Re: Эксплойд трнзакции
Post by: Lexiko on January 20, 2014, 01:09:57 PM
Почитайте про raw транзакции , например вот тут неплохо написано http://habrahabr.ru/post/208702/ ну и описание скриптового языка такое по идее просто должно делаться/
Еще по теме:
http://habrahabr.ru/post/125572/
http://habrahabr.ru/post/114642/
http://habrahabr.ru/post/139291/

ну и https://en.bitcoin.it/wiki/Script



Title: Re: Эксплойд трнзакции
Post by: Sanito on January 20, 2014, 03:47:44 PM
Спасибо всем за ответы.

Quote
не понимаю точно, что хочет ТС
Грубо говоря, отправка одной суммы за услугу (ну, или товар) на два разных кошелька (для разных владельцев). Т.е. Пит покупает мячик, 80% получает дядя Сэм, а 20% - тетя Мэри.

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

P.S.
Quote
"сдача" - остаток от входящей транзакции, не потраченный на перевод (еще минус комиссия) возвращается на новый сгенерированный адрес в качестве сдачи
Кстати, забавно, что при отправке raw-транзакций надо в том числе указывать адрес для "сдачи": "неиспользованные" средства считаются комиссией :)


Title: Re: Эксплойд трнзакции
Post by: ri on January 20, 2014, 04:34:52 PM
Как я понял, пока это можно сделать только отправителю, намудрив со скриптовой отправкой. Мне же хотелось сделать наоборот: сгенерировать адрес с заложенными условиями, и при отправке на этот адрес средств сеть сама раскидывала бы деньги по получателям.

А вариант с промежуточным кошельком не устроит? Скажем, отправитель шлет битки на один адрес, там сидит демон и автоматом раскидывает уже по нужным местам.

Без него, имхо, не получится - протокол не предусматривает... Хотя в будущем, возможно, появится соответствующее расширение - если оно будет востребовано.


Title: Re: Эксплойд трнзакции
Post by: Sanito on January 20, 2014, 04:40:14 PM
Quote
А вариант с промежуточным кошельком не устроит?
Устроит, конечно, но этот вариант фактически удваивает комиссию :)