Bitcoin Forum
November 16, 2024, 05:45:00 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: How to send BitCoins with LOW TX FEE (Not No TX Fee)  (Read 8308 times)
BitHits (OP)
Full Member
***
Offline Offline

Activity: 196
Merit: 100



View Profile WWW
March 22, 2013, 06:33:21 AM
Last edit: March 22, 2013, 09:27:04 AM by BitHits
 #1

How to send BitCoins with LOW TX FEE (Not No TX Fee)

Ideally a fee proportionate to the total input of the transaction.

Clearly this is not possible with official client. Anyone know how this can be done? Can an alternative client do it ? Or perhaps a raw tx from the main? If anyone knows how to do this I would really like to know! (Currently paying 1000% of BTC Transacted just to send the Transaction, Horribly broken system imho)

Free BTC http://beta.BitHits.info BTC 1DNNERMT5MMusfYnCBfcKCBjBKZWBC5Lg2 DGC DH2Pm4VXxsTeqUYZkEySU1c8p5TLvuLe8u LTC LP2QiL1pnsaKVX5Qa811pFJuFL8FxkxWRz
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1086


Ian Knowles - CIYAM Lead Developer


View Profile WWW
March 22, 2013, 06:37:29 AM
 #2

Am guessing you are playing SD or similar?

The problem is that they send you a "dust" UTXO every time that you lose (it contains the minimum fee + 1 satoshi). Once your wallet starts filling up with such dust the standard client has difficulty in working out how to spend it without actually charging you more in tx's fees than the amount you might want to be sending (assuming it is a very small amount you are wanting to send in particular).

There are some solutions to cleaning up such wallet *dust* although my advice would be to avoid gathering the dust in the first place. Smiley

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
BitHits (OP)
Full Member
***
Offline Offline

Activity: 196
Merit: 100



View Profile WWW
March 22, 2013, 06:41:13 AM
 #3

Actually, I'm trying to run a BitCoin Faucet/PTC Site.

www.BitHits.info

The fees are becoming ridiculous thou!

Free BTC http://beta.BitHits.info BTC 1DNNERMT5MMusfYnCBfcKCBjBKZWBC5Lg2 DGC DH2Pm4VXxsTeqUYZkEySU1c8p5TLvuLe8u LTC LP2QiL1pnsaKVX5Qa811pFJuFL8FxkxWRz
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1086


Ian Knowles - CIYAM Lead Developer


View Profile WWW
March 22, 2013, 06:45:19 AM
 #4

oic - am guessing the best way to avoid fees with a faucet would be to have all its UTXOs being the exact amount as the outputs you wish to send and then just make sure that the wallet is "old" enough so that no tx fees are required at all (and replace wallets with new ones as they get exhausted).

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1086


Ian Knowles - CIYAM Lead Developer


View Profile WWW
March 22, 2013, 06:57:20 AM
 #5

Do sendmany

Yes - that is probably the easiest solution.

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
BitHits (OP)
Full Member
***
Offline Offline

Activity: 196
Merit: 100



View Profile WWW
March 22, 2013, 07:49:35 AM
 #6

... is there a client that can do sendmany ?

..i found this

Code:
sendmany <fromaccount> {address:amount,...} [minconf=1] [comment]

That would be a very very long command thou...

I generally send to about 2000+ addresses at once.

Free BTC http://beta.BitHits.info BTC 1DNNERMT5MMusfYnCBfcKCBjBKZWBC5Lg2 DGC DH2Pm4VXxsTeqUYZkEySU1c8p5TLvuLe8u LTC LP2QiL1pnsaKVX5Qa811pFJuFL8FxkxWRz
flower1024
Legendary
*
Offline Offline

Activity: 1428
Merit: 1000


View Profile
March 22, 2013, 07:52:32 AM
 #7

... is there a client that can do sendmany ?

default bitcoind with commandline or rpc
or you use blockchain.info
BitHits (OP)
Full Member
***
Offline Offline

Activity: 196
Merit: 100



View Profile WWW
March 22, 2013, 08:01:18 AM
Last edit: March 22, 2013, 09:23:31 AM by BitHits
 #8

I think I can make a script that will create such a request.. Smiley

Code:
    y = 0
    For x = 0 To UBound(BTCAd)
        SendMany = SendMany & "," & Chr(34) & BTCAd(y) & Chr(34) & ":" & Val(Text1.Text)
        y = y + 1
        Sleep (1)
    Next x
SendMany = "sendmany BitHits.info '{" & SendMany & "}' 0"
Text2.Text = SendMany

Free BTC http://beta.BitHits.info BTC 1DNNERMT5MMusfYnCBfcKCBjBKZWBC5Lg2 DGC DH2Pm4VXxsTeqUYZkEySU1c8p5TLvuLe8u LTC LP2QiL1pnsaKVX5Qa811pFJuFL8FxkxWRz
gweedo
Legendary
*
Offline Offline

Activity: 1498
Merit: 1000


View Profile
March 22, 2013, 08:02:30 AM
 #9

I think I can make a script that will create such a request.. Smiley

If your using php it is really easy get all address and amount put them into an array, then run json_encode on the array and then pass it to the bitcoind
BitHits (OP)
Full Member
***
Offline Offline

Activity: 196
Merit: 100



View Profile WWW
March 22, 2013, 08:19:42 AM
Last edit: March 22, 2013, 09:26:16 AM by BitHits
 #10

lol! Max debug console input is 32,767 characters

Also got this error...

Quote
Error: value is type int, expected obj

Something tells me this has something to do with it

Code:
amounts are double-precision floating point numbers (code -1)

UPDATE:

After a JSON Error, a few Invalid BitCoin Address errors, and a insufficient funds error I finally got it to sendmany Smiley But....

980% the amount transferred just to send it!

Code:
BTC Transacted: 0.001422 BTC
Transaction fee: -0.014 BTC
Net amount: -0.015422 BTC
Transaction ID: da3d8921166b8509fb7777b3f8bcb32805014e42d1e667fc9d2769d7d943b4f9

That was just a test really, 4 days worth of 'Single BitHitters' - 711 Addresses Paid Smiley

also........ Unless There is a way I can pass more data to the Debug Console I cant do much larger tx then that.... 711 is only 49 addresses short of my source list I was using...

This....might actually be a HIGHER fee then what sending normally with the GUI was ?

Free BTC http://beta.BitHits.info BTC 1DNNERMT5MMusfYnCBfcKCBjBKZWBC5Lg2 DGC DH2Pm4VXxsTeqUYZkEySU1c8p5TLvuLe8u LTC LP2QiL1pnsaKVX5Qa811pFJuFL8FxkxWRz
BitHits (OP)
Full Member
***
Offline Offline

Activity: 196
Merit: 100



View Profile WWW
March 23, 2013, 04:34:53 AM
 #11

So... No solution as of yet has been proposed and the 1000% fee is .... not workable. I want to send thousands of people BTC! RIGHT NAO. Anyone know of a working method to have a even remotely reasonable tx fee ?

Free BTC http://beta.BitHits.info BTC 1DNNERMT5MMusfYnCBfcKCBjBKZWBC5Lg2 DGC DH2Pm4VXxsTeqUYZkEySU1c8p5TLvuLe8u LTC LP2QiL1pnsaKVX5Qa811pFJuFL8FxkxWRz
gweedo
Legendary
*
Offline Offline

Activity: 1498
Merit: 1000


View Profile
March 23, 2013, 04:41:41 AM
 #12

So... No solution as of yet has been proposed and the 1000% fee is .... not workable. I want to send thousands of people BTC! RIGHT NAO. Anyone know of a working method to have a even remotely reasonable tx fee ?

Ok your running a faucet, since your transactions are very small probably I am guessing, this is how the network protects it's self, so having no fees will never happen, you can set the fee to zero it will or may never confirm, and low fees aren't possible, unless you age the coins for a long time. So right now the best way, is the way your doing it.
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1086


Ian Knowles - CIYAM Lead Developer


View Profile WWW
March 23, 2013, 04:44:49 AM
 #13

And to quote myself:

oic - am guessing the best way to avoid fees with a faucet would be to have all its UTXOs being the exact amount as the outputs you wish to send and then just make sure that the wallet is "old" enough so that no tx fees are required at all (and replace wallets with new ones as they get exhausted).

(although that might mean having to put a month delay between now and your next payouts to age the coins enough)

Note that using uniform payment UTXOs (i.e. no change needed) will help to avoid getting even newer dust UTXO's every time you make a payout.

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
Peter Todd
Legendary
*
expert
Offline Offline

Activity: 1120
Merit: 1160


View Profile
March 23, 2013, 08:15:08 AM
 #14

So... No solution as of yet has been proposed and the 1000% fee is .... not workable. I want to send thousands of people BTC! RIGHT NAO. Anyone know of a working method to have a even remotely reasonable tx fee ?

The Bitcoin blockchain is not a microtransactions payment system.

BitHits (OP)
Full Member
***
Offline Offline

Activity: 196
Merit: 100



View Profile WWW
March 23, 2013, 08:21:27 AM
 #15

Well...how the fuck are all these other PTC/Faucets doing it without running a 10x loss on what they send!?

Free BTC http://beta.BitHits.info BTC 1DNNERMT5MMusfYnCBfcKCBjBKZWBC5Lg2 DGC DH2Pm4VXxsTeqUYZkEySU1c8p5TLvuLe8u LTC LP2QiL1pnsaKVX5Qa811pFJuFL8FxkxWRz
Peter Todd
Legendary
*
expert
Offline Offline

Activity: 1120
Merit: 1160


View Profile
March 23, 2013, 08:26:51 AM
 #16

Well...how the fuck are all these other PTC/Faucets doing it without running a 10x loss on what they send!?

I dunno. Maybe they are too? Where an example of one of their transactions for us to look at?

gweedo
Legendary
*
Offline Offline

Activity: 1498
Merit: 1000


View Profile
March 23, 2013, 08:29:11 AM
 #17

Well...how the fuck are all these other PTC/Faucets doing it without running a 10x loss on what they send!?

They send it once a day, probably other external funds that are aged.
Peter Todd
Legendary
*
expert
Offline Offline

Activity: 1120
Merit: 1160


View Profile
March 23, 2013, 08:31:11 AM
 #18

They send it once a day, probably other external funds that are aged.

That's not it - the default fee rules force fee payment on dust outputs.

CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1086


Ian Knowles - CIYAM Lead Developer


View Profile WWW
March 23, 2013, 08:34:58 AM
 #19

That's not it - the default fee rules force fee payment on dust outputs.

If the output is old enough then no tx fee is necessary (even if it is only 1 Satoshi).

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
Peter Todd
Legendary
*
expert
Offline Offline

Activity: 1120
Merit: 1160


View Profile
March 23, 2013, 08:42:20 AM
 #20

Not if aged, if aged long enough no fees are force, or even needed. This is prevent spamming the blockchain.

No, CTxMemPool::accept() won't accept such a transaction into the mempool at all:

Code:
int64 txMinFee = tx.GetMinFee(1000, true, GMF_RELAY);
if (fLimitFree && nFees < txMinFee)
    return error("CTxMemPool::accept() : not enough fees %s, %"PRI64d" < %"PRI64d,
                        hash.ToString().c_str(),
                        nFees, txMinFee);

and CTransaction::GetMinFee():

Code:
// To limit dust spam, require MIN_TX_FEE/MIN_RELAY_TX_FEE if any output is less than 0.01
if (nMinFee < nBaseFee)
{
    BOOST_FOREACH(const CTxOut& txout, vout)
        if (txout.nValue < CENT)
            nMinFee = nBaseFee;
}

Age has nothing to do with it.

Pages: [1] 2 3 »  All
  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!