[REQ] Send-to-Many in a single tx

[quote author=TeamAmerica link=topic=281.msg2033#msg2033 date=1398118518]
[quote author=cityglut link=topic=281.msg2030#msg2030 date=1398103374]
[quote author=AdamBLevine link=topic=281.msg2022#msg2022 date=1398023951]
Hey all,
For many of my uses for Counterparty, I have large distributions of tokens that need to go out all at once.

For example, we intend to send small amounts of tokens to people who comment on stories, tip content creators, etc.  It seems likely we will be sending tokens to thousands of people daily if we are success, and right now that means sending a unique transaction to each person.


Assuming 1000 recipients per day with a tx fee of .0001btc, that would be 3btc per month in tx fees alone, and it scales linearly which is to say gets more expensive the more inclusive and successful we are.  It would be great if we could do these mass distributions in a single transaction as Dividends allow us to do.  Xnova indicated it is possible, so I wanted to bring it up.
[/quote]

It would be a major protocol level change to allow sending to multiple addresses in the same transaction, and, moreover, it wouldn’t reduce the fees that effectively, since the size of the fee is roughly proportional to the amount of data in the transaction, which itself would depend on the number of recipients you include in the send.

Counterparty transactions have their specific fee to ensure that they get into the blockchain in the next block, but if the timeframe is not very important, then your transactions can have lower fees. And if you are doing 1000 sends a day, you’re going to use a script, not a web GUI, in which case we can give you a patched version of Counterpartyd, which reduces the fees provided per transaction (this is possible because all of your transactions are independent of each other).
[/quote]

I’m not sure if i follow your logic. If it’s possible to send to 1000 addresses from a script it should be possible to represent the script in a Web UI. Upload a JSON file or CSV file if you really want to make it easy.

What’s involved with patching counterpartyd? Can the fee not be made into a user-adjustable option?
[/quote]

I’ll add a CLI option, and API parameter, to specify fees exactly. Then no patch will be necessary.