Bitcoin Forum
May 06, 2024, 07:57:38 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Feature request: better functionality of sendmany Txs & Tx task scheduling  (Read 1918 times)
Kluge (OP)
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1015



View Profile
September 02, 2014, 09:21:16 AM
 #1

AFAIK, no client has fully taken advantage of the functionality permitted in sendmany transactions.

Every month, I make a $500 split BTC payment to ~30 people. They all get a static % of that $500. Every month, into an Excel sheet, I enter the BTC equiv. of $500 to determine what everyone should get, then manually extract every single address and BTC amount from that Excel sheet to paste into Armory or Core. It sucks, and by the time I've entered everything in, triple-checked, then written the details down in the email, the price has moved +-$20. I'd like to be able to save a script in Armory where I can set up percentages for each address, then enter the amount of BTC I want split between them.

My situation is probably unusual, but this could also be very useful for charities. As is, there are many "meta charities" whose job is literally to just collect funds and distribute payments to many different charities. This is largely unnecessary and should be replaced with sendmany links so people can donate to a large basket of charities with a % split they choose in the client upon clicking the URI.

Additionally, a client should permit task scripting. I should be able to set a daily, weekly, or annual time for a particular payment script to execute - with user confirmation required, of course. This last feature request has so many use cases, I don't think I need to spell them out for anyone. Smiley
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
Newar
Legendary
*
Offline Offline

Activity: 1358
Merit: 1000


https://gliph.me/hUF


View Profile
September 08, 2014, 04:59:21 PM
 #2


I agree, automatic recurring payments would be awesome. Even awesomer if they could integrate with an price discovery API, like bitcoinaverage.com  (useful for people that have to send x-amount of fiat every month).

OTC rating | GPG keyid 1DC91318EE785FDE | Gliph: lightning bicycle tree music | Mycelium, a swift & secure Bitcoin client for Android | LocalBitcoins
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3668
Merit: 1345

Armory Developer


View Profile
September 09, 2014, 02:05:42 AM
 #3

This can all be part of a plugin for sure.

Additionally, a client should permit task scripting. I should be able to set a daily, weekly, or annual time for a particular payment script to execute - with user confirmation required, of course. This last feature request has so many use cases, I don't think I need to spell them out for anyone. Smiley

As long as your wallet is either encrypted or offline it can't spend coins for you. It could however prepare a transaction for you to sign at the due date.


I agree, automatic recurring payments would be awesome. Even awesomer if they could integrate with an price discovery API, like bitcoinaverage.com  (useful for people that have to send x-amount of fiat every month).

There are plans to add a price ticker plugin.

Kluge (OP)
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1015



View Profile
September 09, 2014, 03:25:11 AM
 #4

Another super-cool related feature requiring arduous implementation:
"On-the-fly scheduled send bundling"

Many sites have "donate to me" buttons. Very, very few click it, even if they'd "like to." What they're willing to send probably doesn't justify the bother, even with the convenience of bitcoin over fiat.

What would be nice is if there were a way to plug in to browsers and use modified URIs, or just have an option in Armory to add any Bitcoin URIs to a bundle rather than bringing up that whole big 'ole screen to enter details and your password (assuming a hot wallet).

Going the browser route (or just modified URI route), the URI would maybe use bitcoin:16QERYr2t2dW7eCLzciSZmw6Decx2ChSkM?bundle=1. -Or, in-browser, maybe you could simply shift-click or ctrl-click or whatever to add in that "bundle=1" on the fly. Alternately (or as an alternative for users), simply have Armory send any URI clicked to be saved in a bundle.

Whenever the bundle is set to issue a reminder or bring up the sendmany screen, it would then display all these URI payments the user's accumulated, all set to have their %s tweaked when you decide how much you can spend that month on donations. Maybe there is a tick-box for users to select whether or not they want the particular charity to carry over into the next bundle.
Kluge (OP)
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1015



View Profile
September 10, 2014, 06:13:04 PM
 #5

Another possible addition:
"bundle groups"

Send-many screen becomes a bit of a mess with more than a handful of additions. Custom URI scheme should allow for multiple additions under a single group, where the group can be named rather than each individual transaction entry and each transaction entry can have a "relative percentage" set (out of 100%). On the user's side, they'd then see the group with an expand/contract button, and they can change the % allotted to the entire group, which would then proportionally set the BTC amount for each transaction entry.

So let's say I'm making a game and use a lot of FLOSS resources I'm not paying for, but I still want them to share in the revenues I take in because right now, people releasing FLOSS resources have little incentive outside kindness, learning, and arguably prestige. It's unusual for them to even bother putting up any kind of donation link.

The default, standard URI scheme is extremely basic -- lots of ways to expand its functionality. For my use, maybe I set the URI as (uh - preferably with more sensible syntax)
Code:
bitcoin:Bundle=MyGame
?SubBundle=Developer(address=MyHash,label=Donation to dev,Pct=100),Pct=60
?SubBundle=Artwork(address=Artist1Hash,label=Made the splash screen,Pct=30&address=Artist2Hash,label=Made the X, Y, and Z icon in the Whatever screen,Pct=20&address=Artist3Hash,label=Made the X, Y, and Z icon in the Other screen and all backgrounds,Pct=50),Pct=20
?SubBundle=Music&SEs(address=Soundmaker1hash,label=Made button click and dice roll sounds, Pct=25&address=Soundmaker2hash,label=Made all BG music, Pct=75),Pct=20


Then, if the user should click it, in their "bundle" screen if the "MyGame" bundle weren't expanded, they'd only see a text box to enter the BTC amount they want to send, OR if it's part of a "bundle script, the percent of the total payment they want allocated to this bundle, which is then all proportionally distributed based on my default donation suggestions (though they'd be allowed to adjust percentages as they please). -So a user could click just one button to distribute coins to, you know, 10+ people at once.

-So then when this "charity meta-bundle" is scheduled to fire - maybe once a month - the user has this relatively clean bundle screen popping up showing all the bundle URIs they clicked on, and they can just enter the % of funds they want to send to each along with the total amount of BTC they want to send. Maybe they donate 1BTC to MyGame, HisWebService, and HerCookiesForKooks at respective 25%, 50%, 25% rates -- and that's all the user sees. However, on Armory's side, or if the user expands their screen, it looks more like
MyGame BTC(1*0.25)
-Developer BTC(1*0.25*0.60)
--Developer BTC(1*0.25*0.60)
-Music BTC(1*0.25*0.20)
--Artist1 BTC(1*0.25*0.20*0.3)
--Artist2 BTC(1*0.25*0.20*0.2)
--Artist3 BTC(1*0.25*0.20*0.5)
-Music&SEs
--Soundmaker1 BTC(1*0.25*0.20*0.25)
--Soundmaker2 BTC(1*0.25*0.20*0.75)
seoincorporation
Legendary
*
Online Online

Activity: 3150
Merit: 2930


Top Crypto Casino


View Profile
October 02, 2014, 05:44:24 PM
 #6

Maybe a solution its send the payments with the blockchain API, i have a nice code for it:

Code:
#!/bin/bash
#Guid
gu="ba943338-b9b6-4d8a-a54f-14cbcb2f996b"
#Blockchain password
pas="btcbetan000soo"
green="1LuckyG4tMMZf64j6ea7JhCz7sDpk6vdcS"
yellow="1LuckyY9fRzcJre7aou7ZhWVXktxjjBb9S"
red="1LuckyR1fFHEsXYyx5QK4UFzv3PEAepPMK"
BTCg="250000"
BTCy="150000"
BTCr="100000"
curl "https://blockchain.info/merchant/$gu/sendmany?password=$pas&recipients=%7B%22$green%22%3A$BTCg%2C%22$yellow%22%3A$BTCy%2C%22$red%22%3A$BTCr%7D&shared=false&fee=10000"

Hope it help you.

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!