Author

Topic: sendfrom fails with amounts < 0.0001 (Read 516 times)

hero member
Activity: 569
Merit: 500
April 26, 2014, 08:13:56 AM
#4
There's code in bitcoin to reject very small amounts (known as dust) on purpose to prevent
spamming (sending millions of transactions of 1 satoshi, etc).

The dust threshold was introduced in 0.8.2 and was set at 5430 satoshi.
https://bitcointalksearch.org/topic/bitcoin-qt-bitcoind-082-final-available-219504

Quote
0.8.2 Release notes

Fee Policy changes

The default fee for low-priority transactions is lowered from 0.0005 BTC
(for each 1,000 bytes in the transaction; an average transaction is
about 500 bytes) to 0.0001 BTC.
Payments (transaction outputs) of 0.543 times the minimum relay fee
(0.00005430 BTC) are now considered 'non-standard', because storing them
costs the network more than they are worth and spending them will usually
cost their owner more in transaction fees than they are worth.

Anyone knows whether the threshold has been changed after the min relay fee has been dropped in 0.9.0?
newbie
Activity: 38
Merit: 0
April 25, 2014, 06:05:05 PM
#3
Aah, that makes perfect sense, since the current dust limit is about 5.4e-5

Thanks!
legendary
Activity: 1302
Merit: 1008
Core dev leaves me neg feedback #abuse #political
April 25, 2014, 03:27:00 PM
#2
There's code in bitcoin to reject very small amounts (known as dust) on purpose to prevent
spamming (sending millions of transactions of 1 satoshi, etc).
newbie
Activity: 38
Merit: 0
April 25, 2014, 10:50:47 AM
#1
Does anyone know why the first call (BTC 1e-5) fails while the second one (BTC 1e-4) succeeds?

The default account has sufficient balance for either transaction, including any fees.

I was able to replicate this behavior with repeated calls and with different addresses. (All addresses are in the same wallet though)

Thanks!

Code:
>>> client.sendfrom('', 'mwL5MSSqxC6RF2Sw2ix96oM5p8nxQz1Ya2', 1e-5)
Traceback (most recent call last):
  File "", line 1, in
  File "C:\Python27\lib\site-packages\jsonrpc\proxy.py", line 45, in __call__
    raise JSONRPCException(resp['error'])
JSONRPCException
>>> client.sendfrom('', 'mwL5MSSqxC6RF2Sw2ix96oM5p8nxQz1Ya2', 1e-4)
'091447498aef2fed9ea84a728455306ae677b0d70b53e3b97b6cccf098013b76'
Jump to: