Check this out…
I just installed 0.3.1 on two different machines and moved one bitpenny (0.01):
-= Before the transfer =-
[bitcoind@box1 ~]$ ~/bin/bitcoind getinfo
{
“balance” : 1.150000000000,
“blocks” : 68717,
“connections” : 6,
“proxy” : “”,
“generate” : false,
“genproclimit” : -1,
“difficulty” : 181.5432893640505
}[bitcoind@box2 ~]$ ~/bin/bitcoind getinfo
{
“balance” : 0.000000000000,
“blocks” : 68717,
“connections” : 22,
“proxy” : “”,
“generate” : false,
“genproclimit” : -1,
“difficulty” : 181.5432893640505
}-= AFTER the transfer =-
[bitcoind@box1 ~]$ ~/bin/bitcoind getinfo
{
“balance” : 1.139999999999,
“blocks” : 68717,
“connections” : 10,
“proxy” : “”,
“generate” : false,
“genproclimit” : -1,
“difficulty” : 181.5432893640505
}[bitcoind@box2 ~]$ ~/bin/bitcoind getinfo
{
“balance” : 0.010000000000,
“blocks” : 68717,
“connections” : 20,
“proxy” : “”,
“generate” : false,
“genproclimit” : -1,
“difficulty” : 181.5432893640505
}I personally think it is a display problem, but I can’t be sure.. strange, no?
Both machines are running FreeBSD 7.2/amd64.
It must be a rounding error when getinfo converts to floating point to return the JSON-RPC result. The only place where it uses floating point to represent money is returning a value in JSON-RPC.
1.139999999999 is longer than bitcoin can internally represent.
internally, it could only be:
1.13999999 or
1.14000000
1.139999999999 is much much closer to 1.14000000 than 1.13999999, so it must be 1.14000000.
The code is this:
(double)GetBalance() / (double)COIN.
(I can’t think of an easy way to fix it at the moment)
940 total views, 2 views today
https://bitcointalk.org/index.php?topic=432.msg3769#msg3769