1601
|
Bitcoin / Development & Technical Discussion / Re: Development roadmap
|
on: March 05, 2011, 10:07:37 PM
|
design/implement a secure DNS-like "map string to bitcoin address" system (so I can send bitcoins to " gavin@acm.org") This might be nice but I don't see it as a prerequisite for 1.0. I suppose if we figure out how to make click-to-pay work for both the "I'm using an online wallet service" and the "I'm using the client" cases, then users won't have to know how to copy&paste addresses and human-type-able addresses won't be critical. RE: DoS resistance: please DO keep thinking about it; I'm not a networking expert (in fact, if you know any networking experts, see if you can get them thinking about it....).
|
|
|
1604
|
Bitcoin / Development & Technical Discussion / Development roadmap
|
on: March 05, 2011, 06:09:41 PM
|
Crashing bugs, any bug that might result in loss of bitcoins, and security fixes are always highest priority, but here are the big things I think are very high priority that, as far as I know, nobody is working on. I think they all need to be done before we can say we have a "Bitcoin 1.0" : - finish download-only-blockheaders client mode
- password-protect the wallet private keys (mitigate the steal wallet.dat problem: see https://gist.github.com/803170 )
- import a backed-up wallet
- figure out how to do click-to-pay
- design/implement a secure DNS-like "map string to bitcoin address" system (so I can send bitcoins to "gavin@acm.org")
- export+encrypt part of your balance (for long-term storage; I still waffle on whether we want to encourage that right now)
|
|
|
1605
|
Bitcoin / Development & Technical Discussion / Re: Version 0.3.20.2 released
|
on: March 05, 2011, 06:04:54 PM
|
- tag these minor releases in git, too - sign tags with gpg (git tag -s -u <email> <tag>)
The tag is v0.3.20.2, and it is signed by my ( gavinandresen@gmail.com) gpg key. RE: roadmap for v0.4 : I worry that we'll spend time creating a roadmap and then... people will work on whatever strikes their fancy. So the 0.4 release will end up being completely different from what the roadmap says. That said, I'll start a roadmap thread; maybe we CAN all agree on priorities and find people to actually work on the highest priority stuff.
|
|
|
1606
|
Bitcoin / Development & Technical Discussion / Version 0.3.20.2 released
|
on: March 05, 2011, 05:23:27 PM
|
The maxsendbuffer bug (0.3.20.1 clients not being able to download the block chain from other 0.3.20.1 clients) was only going to get worse as people upgraded, so I cherry-picked the bug fix and created a minor release yesterday. The Amazon Machine Images I used to do the builds are available: ami-38a05251 Bitcoin-v0.3.20.2 Mingw (Windows; Administrator password 'bitcoin development') ami-30a05259 Bitcoin_0.3.20.2 Linux32 ami-8abc4ee3 Bitcoin_0.3.20.2 Linux64
(mac build will be done soon) If you have already downloaded version 0.3.20.1, please either add this to your bitcoin.conf file: maxsendbuffer=10000 maxreceivebuffer=10000
... or download the new version.
|
|
|
1607
|
Bitcoin / Technical Support / Re: Bitcoin quit unexpected
|
on: March 05, 2011, 05:04:53 PM
|
fopen() is a standard C library call; it is weird Bitcoin can't find it.
Is anybody else running bitcoin on OSX 10.5 ? I'm running 10.6.6; Laszlo does the OSX builds, I'll ask him what he's running.
|
|
|
1608
|
Bitcoin / Bitcoin Discussion / Changes to the bitcoin.org homepage
|
on: March 05, 2011, 04:54:24 PM
|
I was editing the bitcoin.org homepage to update the download links, and I couldn't resist make a few changes: - I removed the "If you are running version 0.3.9 or earlier please update" message. People running really old versions of bitcoin SHOULD update, but there is no longer any security risk if they don't.
- I replaced "there were X blocks as of Y date" with a link to jgarzik's Bitcoin Watch site.
- I made the SHA1 checksums at the bottom of the page tooltips of the download links. I think it is easier to match up checksums to filenames that way, and I think it looks less intimidating for people who have no idea what SHA means.
PS: I read the thread about replacing the self-signed bitcoin.org security certificate, and agree that needs to be done...
|
|
|
1609
|
Bitcoin / Development & Technical Discussion / Re: dPriority and free transactions
|
on: March 05, 2011, 03:34:39 PM
|
Nice analysis! I'm tempted to put a link to your post in the code as a comment... The whole transaction prioritization scheme was written by Satoshi after I suggested that de-prioritizing "small new" transactions might help the spamming problem. In the last couple of days we've exchanged email about possibly modifying it; pull request 88 is the first suggested change (it makes the CreateTransaction fee calculations match the CreateBlock calculations). Until somebody finishes implementing lightweight ' headers-only block download', we should try to keep block size small-- otherwise new users will have to wait an even longer time before being able to use bitcoin. Also: the Faucet is now paying a 0.01 BTC fee per transaction. With the CreateTransaction fix, it probably would be anyway (the transactions it creates look very spammy).
|
|
|
1610
|
Bitcoin / Development & Technical Discussion / Re: Bitcoin "From" address, can i change it?
|
on: March 05, 2011, 02:52:06 PM
|
Seems like it would be useful if the GUI client had an option similar to the bitcoind "sendfrom" functionality. Do you think this would be impossible to try and get into the client? Am I just wasting my time? I'm willing to do the work and write some code for review, but I don't want to go down that road if it's something everyone would basically vote down at review time. I wouldn't have any objections to changes that let you decide which input transactions or receiving addresses to choose when sending coins, as long as it is well-tested, follows the coding guildelines (see coding.txt in the source directory) and it doesn't make the "I just want to send some coins" case look more complicated (maybe hide it behind an Advanced... button in the Send dialog).
|
|
|
1614
|
Bitcoin / Development & Technical Discussion / Re: Problems with send buffer limits in 0.3.20
|
on: March 03, 2011, 09:03:30 PM
|
Couldn't peers theoretically need to send 500 MB in response to a getblocks request? The limit should perhaps be MAX_BLOCK_SIZE*500.
500MB per connection times 100 connections would be 50 GB. That re-opens the door to a memory exhaustion denial-of-service attack, which is the problem -maxsendbuffer fixes. As transaction volume grows I think there will be lots of things that need optimization/fixing. One simple fix would be to request fewer blocks as they get bigger, to stay inside the sendbuffer limit... (ps: I've been re-downloading the current block chain connected to a -maxsendbuffer=10000 0.3.20 node, and the workaround works)
|
|
|
1615
|
Bitcoin / Development & Technical Discussion / Re: why JSON RPC values not use INT64 instead of float string?
|
on: March 03, 2011, 08:06:34 PM
|
That's code to parse JSONs. There's a Python library to work with JSON-RPC.
Huh? See that 'import json' statement at the top? That would be the standard (as of python 2.6) JSON parsing library. The code I posted tells the standard JSON parsing library to read JSON Numbers as Decimal. If you are doing monetary calculations in python, then you should be using Decimal. That is what it is for.
|
|
|
1617
|
Bitcoin / Development & Technical Discussion / Re: [PULL] Improve debug logging
|
on: March 03, 2011, 03:45:13 PM
|
You can't open and close the file; it is not thread-safe (thread one closes fp and sets it to NULL and sleeps, thread two wakes up and uses a NULL fp). And you can't wrap the open/close in a CRITICAL_SECTION, because logging happens at shutdown, CRITICAL_SECTION relies on a destructor to work properly, and you can't control the order in which C++ destructors are called during shutdown. I learned all that the hard way a few releases back. You can rotate the logs using the "copytruncate" feature of logrotate.
|
|
|
1618
|
Bitcoin / Development & Technical Discussion / Re: why JSON RPC values not use INT64 instead of float string?
|
on: March 03, 2011, 03:26:16 PM
|
genjix: here is how to do it right in Python2.6 : import decimal import json
# From http://stackoverflow.com/questions/1960516/python-json-serialize-a-decimal-object class DecimalEncoder(json.JSONEncoder): def _iterencode(self, o, markers=None): if isinstance(o, decimal.Decimal): return (str(o) for o in [o]) return super(DecimalEncoder, self)._iterencode(o, markers)
decimal.setcontext(decimal.Context(prec=8))
print json.dumps(decimal.Decimal('10.001'), cls=DecimalEncoder) print json.dumps({ "decimal" : decimal.Decimal('1.1'), "float" : 1.1, "string" : "1.1" }, cls=DecimalEncoder) print json.loads('{"blaa": 0.333331}', parse_float=decimal.Decimal)
Produces output: 10.001 {"decimal": 1.1, "float": 1.1000000000000001, "string": "1.1"} {u'blaa': Decimal('0.333331')}
Note that EVEN IF YOU PASSED THE 'WRONG' strings to Bitcoin, Bitcoin would do the right thing. That is, these two are equivalent once they are parsed by bitcoin: sendtoaddress FOO 10.000999999999999 sendtoaddress FOO 10.001
... because bitcoin does proper rounding. On the bitcoin side, this is a non-issue. And if code on the other end of the JSON-RPC connection does the wrong thing (truncates values like 10.000999999999999 instead of rounding them to the nearest 8'th decimal place) then that's a bug in that code.
|
|
|
1620
|
Bitcoin / Development & Technical Discussion / Re: why JSON RPC values not use INT64 instead of float string?
|
on: March 03, 2011, 01:33:48 PM
|
Can we not beat this dead horse?
I think there are MUCH more important things to work on / worry about than whether or not "send 1 BTC" is expressed as "sendtoaddress FOO 1.00" or "sendtoaddress FOO 100000000" in the JSON-RPC.
How about we (I'll start) write a "Proper Money Handling" page for the Wiki that discusses the issue and gives code example of how to convert to/from JSON double-precision floating point and 64-bit integer?
|
|
|
|