bitpay / wallet

Bitpay Wallet (formerly Copay) is a secure Bitcoin and other crypto currencies wallet platform for both desktop and mobile devices.
http://bitpay.com/wallet
MIT License
3.8k stars 1.74k forks source link

Send to multiple addresses #4223

Closed gabegattis closed 5 years ago

gabegattis commented 8 years ago

Copay can only generate transaction proposals for sending to a single address (a single non-change output really). BWC/BWS can create transaction proposals for sending to multiple outputs, and Copay can sign them, but Copay cannot create these proposals itself.

This is a pretty fundamental feature for any Bitcoin wallet, IMO. The lack of this feature makes testing difficult for me, and I have to either use a different wallet or use BWC directly to satisfy such requirements. It also forces the user to create multiple single-output transaction proposals when just one multi-output proposal would do, thus potentially locking up extra funds unnecessarily.

dan-da commented 8 years ago

agree

ajp8164 commented 8 years ago

Copay is already hard to use and is getting more difficult for the average person. Many of the "advanced" features of Copay should be buried in a "developer mode" that is off by default. If this feature can't be 100% transparent to "I wan to send a payment" then it too should be buried in a "developer mode".

braydonf commented 8 years ago

A simple "+" to add additional recipients I don't think would cause confusion (in the case that the features isn't needed). This could also be useful for payment protocol that can specify multiple outputs by specification.

gabegattis commented 8 years ago

+1 what @braydonf said. Bitcoin Qt has a button with a "+" icon on it that says, "add recipient". It is simple, elegant, and obvious.

ajp8164 commented 8 years ago

After you add a recipient how does Copay know how much money to send to each recipient?

gabegattis commented 8 years ago

Presumably it would work like Bitcoin Qt and simply display an extra field for address/amount for the additional recipient. bitcoinmultisend

ajp8164 commented 8 years ago

Recipient name [required] Amount [required] Label/memo [optional]

Should be able to toggle amount between bitcoin and wallet alternative currency.

All other rules (if any) are picked up from wallet config.

dabura667 commented 8 years ago

I agree that UI should not be cluttered, but adding a little plus icon below the wallet icon (for selecting other wallet) won't clutter up too much.

+1

dan-da commented 8 years ago

Ideally it would show the total amount somewhere. Eg: if I send 1 BTC each to Bob, Sally, and Sue, then somewhere I should see Total 3 BTC.

I don't see that in the bitcoin-qt screenshot. not sure if it does it or not.

matiu commented 8 years ago

Agree on @dan-da that the total must be shown if we implement this feature.

Note that the 'send-max' feature need to be defined. How it will work with multi outputs? @isocolsky pointed out that in multisignature, shared ownership wallet, multioutput could be important at the end of a wallet life cycle: Return part of the funds to each owner, in a single transaction.

ajp8164 commented 8 years ago

If send max is chosen then the amount for each recipient may need to be adjusted after a proposal is created. Can you adjust a proposed tx after it's been created?

ajp8164 commented 8 years ago

Thinking through this there are many "fearures" that can be layered here. I suggest doing exactly what Bitcoin core does and enhance later. Keep it simple for now.

KeyJockey commented 8 years ago

Much like my proposal for advanced miner fee control, seems to me that keeping the basic UI simple and clean for most users is essential BUT adding some extra advanced functionality for experts is very necessary too.

If the overall SETTINGS preferences (or maybe per-wallet) had tick-boxes for enabling these advanced elements only by users who really want and need them, we can have it both ways :smile:

I think it's not too much to ask of advanced users to go and flip a switch to get the extra powerful features we need to become visible, but otherwise keep 'em HIDDEN from MOST users, by default.

martyzigman commented 8 years ago

I concur. I regularly send transactions to multiple people as I use btc to pay for services on a regular basis. It's natural to constitute a single transaction for multiple recipients as I also reference the accounting in the same manner. Copay needs this capacity.

Derrick- commented 8 years ago

Note that the 'send-max' feature need to be defined.

I suggest to show the "Send max" button only on the bottom item, and if clicked it assigns the remaining balance to that recipient.

I understand this might complicate the code a little bit, but from a user perspective I think it makes the most sense.

msaggiorato commented 6 years ago

I agree, this is now more important than ever now that the miner fees are actually high in terms of fiat value.

It actually helps saving by bundling several transactions into one. I hope this is in the roadmap somewhere soon.

o-ayoub commented 6 years ago

please, any solution for that ?

gabrielbazan7 commented 5 years ago

https://github.com/bitpay/copay/pull/9289

dabiellevargas commented 4 years ago

where i can downlod this software