# Gavin Andresen # 2010-12-18 16:27:20 # https://bitcointalk.org/index.php?topic=2343.msg31365#msg31365 We're pretty close to being able to duplicate the bitcoin GUI using the RPC. @p{par} I think the only thing missing is reporting bitcoin addresses in listtransactions. That gets a little sticky with multisends (one transactions that sends coins to multiple recipients); here's what I'm thinking of implementing after doing some brainstorming with theymos/jgarzik/nanotube in IRC chat and running a couple of 'multisend' tests on the test network: @p{par} Code: "category" : "receive", @p{brk} "amount" : amount, @p{brk} "address" : "bitcoinaddress" ... plus the rest of what is reported now @p{brk} (account/txid/confirmations/time/comment). That's the "received on" @p{brk} address, of course. @p{par} On the send side, I'm leaning towards: @p{brk} Code: "category" : "send", @p{brk} "amount" : amount, @p{brk} "fee" : fee, @p{brk} "toaddress" : { "address" : amount } # or "toaddress" : { "address" : amount, "address" : amount } for a multisend. ... plus the rest of what is reported now @p{brk} (account/txid/confirmations/time/comment). @p{par} I don't like that the common case looks kind of ugly; I'd much prefer @p{brk} just Code: "address" : "bitcoinaddress" @p{brk} That could be done by having listtransactions report multiple category:send entries for a multisend... except it is not obvious @p{brk} which one should report the fee, if there is a fee. First one? All of them? @p{par} I'm also a worried that websites might get their accounting wrong if they're not prepared to deal with multisends; making "toaddress" an @p{brk} Object makes it obvious that multisends are possible. The only way a website would get a multisend would be if they allow users to import keys from their local bitcoin wallet, which nobody is doing... yet. @p{par} @p{brk} Here's how listtransactions currently reports a complex multisend: @p{par} Code: { @p{brk} "account" : "Test3", @p{brk} "category" : "receive", @p{brk} "amount" : 3.03000000, @p{brk} "confirmations" : 66, @p{brk} "txid" : @p{brk} "36c86ca499275945a3f1805d6e070ac00b2d32e5e16a4c9cf2c83b189a347d88", @p{brk} "time" : 1292532062, @p{brk} "comment" : "multisend, Test1 to Test2 and Test3 twice (same addr)" @p{brk} }, @p{brk} { @p{brk} "account" : "Test3", @p{brk} "category" : "receive", @p{brk} "amount" : 3.00000000, @p{brk} "confirmations" : 66, @p{brk} "txid" : @p{brk} "36c86ca499275945a3f1805d6e070ac00b2d32e5e16a4c9cf2c83b189a347d88", @p{brk} "time" : 1292532062, @p{brk} "comment" : "multisend, Test1 to Test2 and Test3 twice (same addr)" @p{brk} }, @p{brk} { @p{brk} "account" : "Test2", @p{brk} "category" : "receive", @p{brk} "amount" : 2.00000000, @p{brk} "confirmations" : 66, @p{brk} "txid" : @p{brk} "36c86ca499275945a3f1805d6e070ac00b2d32e5e16a4c9cf2c83b189a347d88", @p{brk} "time" : 1292532062, @p{brk} "comment" : "multisend, Test1 to Test2 and Test3 twice (same addr)" @p{brk} }, @p{brk} { @p{brk} "account" : "Test1", @p{brk} "category" : "send", @p{brk} "amount" : -8.03000000, @p{brk} "fee" : 0.00000000, @p{brk} "confirmations" : 66, @p{brk} "txid" : @p{brk} "36c86ca499275945a3f1805d6e070ac00b2d32e5e16a4c9cf2c83b189a347d88", @p{brk} "time" : 1292532062, @p{brk} "comment" : "multisend, Test1 to Test2 and Test3 twice (same addr)" @p{brk} }, @p{brk}