Bitcoin Forum
August 21, 2017, 10:09:52 PM *
News: Latest stable version of Bitcoin Core: 0.14.2  [Torrent].
   Home   Help Search Donate Login Register  
Pages: [1]
Author Topic: Transactions less than 0.01 BTC  (Read 1146 times)
Hero Member
Offline Offline

Activity: 770


View Profile WWW
July 29, 2010, 04:17:20 PM

Suppose I have program that wants to use the RPC interface to send BTC less than 0.01?

I know that in theory the underlying protocol supports it (deflation in the future), but why design an API that *will have to change*?   If someone uses the raw protocol to send .000001 BTC what will the client display? 

I am not saying that there would be very small transactions, I am saying that some transactions may want much higher RESOLUTION.  Particularly for automatic, auto-negotiated, markets. 

What would happen if I modified my client to display and enter .000001BTC and then used that GUI to send .000001 to someone with the normal client?  Blogging is the new Mining
Goat says: "Bitcoin is NOT Illegal in Thailand. There is no law against Bitcoin in Thailand!"
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
Offline Offline

Activity: 70

View Profile
July 29, 2010, 04:26:21 PM

they'd get a payment for 0.000001 which the GUI would quite probably round to 0.00... maybe 0.01 but I doubt it
Sr. Member
Offline Offline

Activity: 308

Timekoin - Save Electricity, Don't Waste It!

View Profile WWW
July 29, 2010, 05:01:10 PM

As far as I know, the client will keep track of it properly, you just won't be able to spend it because the lowest the GUI allows is 0.01 so far.

Full Member
Offline Offline

Activity: 134

View Profile
July 29, 2010, 05:50:44 PM

If you want to test this, you can use my fullprecision branch of Gavin's test network.

I believe the normal client simply truncates the values whenever they are displayed.

string FormatMoney(int64 n, bool fPlus)
    n /= CENT;
    string str = strprintf("%"PRI64d".%02"PRI64d, (n > 0 ? n : -n)/100, (n > 0 ? n : -n)%100);
    for (int i = 6; i < str.size(); i += 4)
        if (isdigit(str[str.size() - i - 1]))
            str.insert(str.size() - i, 1, ',');
    if (n < 0)
        str.insert((unsigned int)0, 1, '-');
    else if (fPlus && n > 0)
        str.insert((unsigned int)0, 1, '+');
    return str;
Pages: [1]
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!