Compare commits

...

856 Commits

Author SHA1 Message Date
Gavin Andresen
c7eb151ad0 Merge pull request #527 from TheBlueMatt/gitian-downloader
Restructure gitian files and add download config files.
2011-09-22 13:54:42 -07:00
Matt Corallo
0920ad152f Restructure gitian files and add download config files. 2011-09-22 16:52:49 -04:00
Gavin Andresen
16d6963ef6 Fix QA email address 2011-09-22 16:50:32 -04:00
Gavin Andresen
da799d92fa Merge pull request #526 from sipa/nl
Updated dutch translation
2011-09-22 13:45:48 -07:00
Pieter Wuille
90efeb5ddb Updated dutch translation 2011-09-22 19:22:17 +02:00
Jeff Garzik
864e49a12c Merge pull request #525 from TheBlueMatt/master
Update binary mo to match latest po translation.
2011-09-22 09:48:02 -07:00
Matt Corallo
2fc80399b7 Update binary mo to match latest po translation. 2011-09-22 12:45:52 -04:00
Jeff Garzik
700f942692 Merge pull request #522 from sipa/minorfix
SocketHandler thread can be detached
2011-09-20 11:47:02 -07:00
Nils Schneider
2d294e080c Merge pull request #520 from tcatm/less-logging
log low-level network messages only when fDebug is set
2011-09-19 12:19:15 -07:00
Pieter Wuille
88367a5fb8 SocketHandler thread can be detached 2011-09-19 13:08:22 +02:00
Nils Schneider
e674680ddd missed printf in AbortMessage(); merged printfs in EndMessage 2011-09-17 21:36:58 +02:00
Nils Schneider
59090133c0 log low-level network messages only when fDebug is set 2011-09-17 18:29:41 +02:00
Jeff Garzik
7337b343cd Merge pull request #519 from dabaopku/master
Chinese Simp translation update
2011-09-17 09:24:54 -07:00
Dean Lee
67c6994370 Update to the Chinese Simp translation 2011-09-17 19:11:29 +08:00
Gavin Andresen
217208a36d Merge pull request #516 from TheBlueMatt/nsisiconfix
Update bitcoin icon to make nsis setup exe deterministic.
2011-09-14 08:03:36 -07:00
Matt Corallo
6083295f46 Update bitcoin icon to make nsis setup exe deterministic.
This adds a 32x32 16-bit icon to the bitcoin.ico file.
Though this realistically probably looks worse than the 32-bit
32x32 being displayed on a 16-bit monitor, it makes the nsis
setup exe deterministic in gitian output (go figure) which makes
the slight visual loss for users of very old monitors/computers
worth it.
2011-09-14 10:59:54 -04:00
Jeff Garzik
53c6c12886 Merge pull request #512 from paraipanakos/master
Spanish translation update
2011-09-13 13:21:09 -07:00
Jeff Garzik
38fd861fff Merge pull request #511 from mibe/translation-de
Updated German translation
2011-09-11 18:45:00 -07:00
Michael Bemmerl
c4149423f9 Updated German translation 2011-09-12 01:16:44 +02:00
Alex B
b4af75c07f Spanish translation update 2011-09-11 22:08:43 +02:00
Gavin Andresen
95cea79e39 Merge pull request #509 from cjdelisle/walletCrypto-wx-minVersion
wxWidgets needs to be at least version 2.9.1 because wallet crypto uses T
2011-09-09 11:46:04 -07:00
Gavin Andresen
b56658bdad Merge pull request #508 from TheBlueMatt/master
Update gitian build descriptors to produce proper builds.
2011-09-09 11:45:46 -07:00
Matt Corallo
0295912479 Update gitian build descriptors to produce proper builds.
Thanks to makomk for finding the bugs here and devrandom
for passing them along (see
https://bitcointalk.org/index.php?topic=42198.msg514312#msg514312)
2011-09-09 12:35:42 -04:00
Gavin Andresen
b7598ceefa Merge pull request #505 from gavinandresen/unique_coinbase
Unique coinbase: Fixes #482
2011-09-09 06:34:37 -07:00
cjdelisle
3448ce56f4 wxWidgets needs to be at least version 2.9.1 because wallet crypto uses ToStdString() which is not in 2.9.0 2011-09-08 20:50:00 -04:00
Gavin Andresen
5a3dea451d Merge branch 'unique_coinbase' of git://gitorious.org/~Luke-Jr/bitcoin/luke-jr-bitcoin into unique_coinbase 2011-09-07 10:51:57 -04:00
Gavin Andresen
f92f022eda Merge pull request #500 from gavinandresen/txndeadlock
Fix AddAddress cs_mapaddresses/db transaction deadlock
2011-09-07 07:29:44 -07:00
Gavin Andresen
9406696578 Fix AddAddress cs_mapaddresses/db transaction deadlock 2011-09-06 20:28:15 -04:00
Luke Dashjr
83f4cd156e Bugfix: Use timestamp in coinbase rather than "bits", needed to ensure coinbase txn is unique even if address is the same 2011-09-06 16:43:40 -04:00
Luke Dashjr
49c8e53ee2 Save coinbase, not just extraNonce 2011-09-06 16:43:35 -04:00
Luke Dashjr
b760e25458 Merge branch 'getwork_dedupe' into unique_coinbase 2011-09-06 16:43:32 -04:00
Jeff Garzik
0535644b30 Merge branch 'master' of git://github.com/bitcoin/bitcoin 2011-09-06 16:20:24 -04:00
Jeff Garzik
cbd959c473 Revert "Define MSG_NOSIGNAL to 0 on platforms where it is unavailable."
This reverts commit 6a0296791d.

The change breaks build on Fedora Linux.
2011-09-06 16:19:54 -04:00
Jeff Garzik
ff4bd3977a Merge pull request #503 from TheBlueMatt/translatefix
Add binary mo for new translation.
2011-09-06 12:03:08 -07:00
Matt Corallo
fd5eaf323f Add binary mo for new translation. 2011-09-06 15:01:58 -04:00
Jeff Garzik
074653973e Merge pull request #502 from vsrinivas/master
Define MSG_NOSIGNAL to 0 when it is not defined.  Gets OpenBSD building.
2011-09-06 11:58:42 -07:00
Venkatesh Srinivas
6a0296791d Define MSG_NOSIGNAL to 0 on platforms where it is unavailable.
Enables building bitcoind on OpenBSD.
2011-09-06 14:54:10 -04:00
Jeff Garzik
04f9a37c71 Merge pull request #501 from paraipanakos/master
Added Romanian translation
2011-09-06 11:50:56 -07:00
Alex B
905cbf0bf8 Romanian translation added 2011-09-06 20:41:33 +02:00
Luke Dashjr
e39f925655 ignore stuff 2011-09-06 13:53:04 -04:00
Gavin Andresen
e4626e94f4 Merge pull request #491 from gavinandresen/manytxfix
Optimize database writes for transactions with lots of TxIns.
2011-09-06 10:47:27 -07:00
Gavin Andresen
dc0c768760 Merge pull request #499 from codler/patch-3
Add a note to only include .po file
2011-09-06 10:20:22 -07:00
Han Lin Yap
e03209979b Add a note to only include .po file 2011-09-06 20:13:43 +03:00
Gavin Andresen
c5eed9a1ae Merge pull request #490 from TheBlueMatt/master
Fix build process to actually work (yet again).
2011-09-06 05:26:23 -07:00
Gavin Andresen
a79401b31d Merge pull request #496 from alexwaters/boost_fs3
Support for boost filesystem version 3
2011-09-06 05:25:29 -07:00
Jeff Garzik
cc558f0603 README.md: word wrap text file 2011-09-05 23:02:35 -04:00
Jeff Garzik
3a7c4d89de Merge pull request #495 from alexwaters/readme
Updated readme file
2011-09-05 20:01:55 -07:00
Alex Waters
adb8a55b46 Updated readme file 2011-09-05 21:16:46 -04:00
Gavin Andresen
e077cce617 Optimize database writes for transactions with lots of TxIns.
Patch from ArtForz, who discovered the problem.
2011-09-05 14:33:07 -04:00
Matt Corallo
7b7d46be89 Fix build process to actually work. 2011-09-03 12:38:20 -04:00
Luke Dashjr
a687d4f574 Support for boost filesystem version 3 2011-09-03 11:24:45 -04:00
Gavin Andresen
7464e647de Bumped version numbers to 0.4.0rc1 2011-09-02 13:34:56 -04:00
Jeff Garzik
712077a760 Merge pull request #486 from TheBlueMatt/translatefix
Update binary mos to latest translations.
2011-09-02 10:12:20 -07:00
Gavin Andresen
ec74e8a443 Versions 0.3.20 THROUGH 0.3.23 have trouble with blockchain downloads; avoid them 2011-09-02 12:56:10 -04:00
Matt Corallo
fb462ab272 Update binary mos to latest translations. 2011-09-02 12:26:18 -04:00
Gavin Andresen
b53e277ba1 Stay connected to seed nodes; disconnecting causes problems if you are trying to make the initial blockchain download. 2011-09-02 12:25:25 -04:00
Gavin Andresen
c591cc50eb If compiled -DDEBUG_LOCKORDER and run with -debug, print out every mutex lock/unlock (helpful for debugging something-is-holding-a-mutex-too-long problems) 2011-09-02 12:01:42 -04:00
Gavin Andresen
fb45259967 Do not try to download blockchain from 0.3.23 nodes 2011-09-02 12:00:01 -04:00
Gavin Andresen
86fd7c5af6 Give hard-coded seed nodes a random last-seen time, to randomize order they're tried. 2011-09-02 11:01:45 -04:00
Daniel Folkinshteyn
bca179e8bd Update the list of seednodes.
Nodes culled from MagicalTux's database of bitcoin nodes,
http://dump.bitcoin.it/misc/
by version and longevity, and tested for connectivity.
2011-09-02 00:02:45 -04:00
Gavin Andresen
2f4c30fd85 Fix bad merge: getaccountaddress was broken for new accounts 2011-09-01 18:40:18 -04:00
Gavin Andresen
36d9b2311d Fixed regression I introduced: wallets with lots of transactions were unusable in GUI. 2011-09-01 15:44:47 -04:00
Gavin Andresen
783c636c73 Merge pull request #467 from gavinandresen/keypoolzero
Logic running with -keypool=0 was wrong (empty keys were being returned).
2011-09-01 12:01:29 -07:00
Gavin Andresen
dd7868364d Merge branch 'code-cleanup' of git://github.com/muggenhor/bitcoin 2011-09-01 11:52:07 -04:00
Gavin Andresen
ed02c95d50 obtain cs_wallet mutex to protect vchDefaultKey 2011-09-01 10:58:08 -04:00
Gavin Andresen
123e5bd998 Fix RPC call name in error message. 2011-09-01 10:12:59 -04:00
Gavin Andresen
7db3b75b3e Logic running with -keypool=0 was wrong (empty keys were being returned). Fixes #445
Renames GetOrReuseKeyFromKeyPool to GetKeyFromPool, with fAllowReuse arg and bool result.
2011-09-01 10:12:59 -04:00
Gavin Andresen
f662cefd85 Merge pull request #470 from fabianhjr/master
Checkpoints
2011-09-01 06:58:14 -07:00
Gavin Andresen
e3c26b2573 SetCrypted() obtains keystore lock, to be safe. 2011-08-31 14:00:41 -04:00
Gavin Andresen
541e585d8e Fix typo ("you own security") 2011-08-31 14:28:14 -03:00
Gavin Andresen
cb6c4b883d Merge pull request #480 from gavinandresen/deadlocks
Simplify mutex locking, fix deadlocks. Fixes issue #453
2011-08-31 10:24:45 -07:00
Gavin Andresen
471426fb3b Fixed potential deadlocks in GUI code.
Also changed semantics of CWalletTx::GetTxTime(); now always returns the time the transaction was received by this node, not the average block time.
And added information about -DDEBUG_LOCKORDER to coding.txt.
2011-08-31 12:55:16 -04:00
Gavin Andresen
6cc4a62c0e Fix rpc-hanging deadlocks
Collapsed multiple wallet mutexes to a single cs_wallet, to avoid deadlocks with wallet methods that acquired locks in different order.
Also change master RPC call handler to acquire cs_main and cs_wallet locks before executing RPC calls; requiring each RPC call to acquire the right set of locks in the right order was too error-prone.
2011-08-31 12:55:16 -04:00
Gavin Andresen
b0243da77c Highlight mis-matching locks 2011-08-31 12:53:57 -04:00
Jeff Garzik
21189a42a7 Merge pull request #463 from TheBlueMatt/encreadme
Encryption readme update and minor rpc.cpp fixes
2011-08-31 09:32:42 -07:00
Jeff Garzik
927aaa0f27 Add reference python miner, in contrib/pyminer/ 2011-08-31 12:27:41 -04:00
Jeff Garzik
ce39dfe425 Merge pull request #475 from ovdeathiam/patch-1
Edited locale/pl/LC_MESSAGES/bitcoin.po via GitHub
2011-08-31 09:23:30 -07:00
Jeff Garzik
8af99d1893 Merge pull request #464 from TheBlueMatt/upnp1.6
Upgrade dependancies and tweak build process.
2011-08-31 09:16:56 -07:00
Gavin Andresen
829e21733b CHECKMULTISIG unit tests. 2011-08-26 18:43:58 -04:00
Dev Random
e40bef3c0a Add Gitian Build descriptors for Boost and wxWidgets. 2011-08-25 14:34:41 -04:00
Gavin Andresen
1224a14ae4 Merge pull request #474 from xHire/master
Updated czech translation [only .po]
2011-08-24 07:37:38 -07:00
Dev Random
3bb23e5c8b Mingw gitian build with deterministic bitcoin.exe by use of faketime 2011-08-23 13:00:34 -04:00
Dev Random
bef41ada0d Mingw gitian with separate wxWidgets and boost 2011-08-23 13:00:34 -04:00
Dev Random
d2cbb14d7c Linux gitian config with separate wxWidgets build 2011-08-23 13:00:34 -04:00
Matt Corallo
b4ada906c0 Upgrade dependancies and tweak build process.
* Upgrade to use miniupnpc 1.6
* Upgrade to wxWidgets 2.9.2
* Upgrade to Bost 1.47 for Win32 Builds
2011-08-23 13:00:34 -04:00
ovdeathiam
98deeaef15 Edited locale/pl/LC_MESSAGES/bitcoin.po via GitHub 2011-08-22 01:55:41 +03:00
Giel van Schijndel
e4dde849ae Move CInv to protocol.[ch]pp
This commit does *not* and should not modify *any* code, it only moves
it from net.h and splits it across protocol.cpp and protocol.hpp.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-08-19 07:24:38 +02:00
Giel van Schijndel
33e28c9948 Move CAddress to protocol.[ch]pp
This commit does *not* and should not modify *any* code, it only moves
it from net.h and splits it across protocol.cpp and protocol.hpp.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-08-19 07:24:38 +02:00
Giel van Schijndel
507fd9d15b Start moving protocol-specific code to protocol.[ch]pp
Move CMessageHeader from net.h to protocol.[ch]pp, with the
implementation in the .cpp compilation unit (compiling once is enough).

This commit does *not* and should not modify *any* code, it only moves
it from net.h and splits it across protocol.cpp and protocol.hpp.

Indentation changes aside the closest thing to a modification of code is
the addition of the 'TODO' comment (the execution of which requires code
modifications and thus doesn't belong in this commit).

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-08-19 07:24:38 +02:00
Giel van Schijndel
82dc6426b4 Move func 'REF' from util.h to serialize.h
util.h doesn't use REF, serialize.h does, creating a dependency of
serialize.h on util.h, but util.h already depends on serialize.h.  To
resolve this circular dependency the function 'REF' has now been moved
closer to one of its two points of use.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-08-19 07:24:38 +02:00
Giel van Schijndel
e49b83bb12 Cleanup makefiles such that diffs to them are smaller
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-08-19 07:24:37 +02:00
Giel van Schijndel
99860de3c9 Make some global variables less-global (static)
Explicitly make these global variables less-global to reduce the maximum
scope of this global state.

In my experience global variables tend to be a major source of bugs. As
such the less accessible they are the less likely they are to be the
source of a bug.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-08-19 07:24:37 +02:00
Gavin Andresen
865ed8a1e5 Compile with DEBUG_LOCKORDER to detect inconsistent lock orderings that can cause deadlocks 2011-08-17 10:22:28 -04:00
Michal Zima
dac48972d5 Updated czech translation 2011-08-17 11:45:13 +02:00
Gavin Andresen
c7286112ef Remove unused ScanMessageStart function 2011-08-16 11:20:56 -04:00
Jeff Garzik
b2fd0ca1cb src/makefile.unix: remove -DFOURWAYSSE2
Spotted by Venkatesh Srinivas <me@endeavour.zapto.org>
2011-08-16 10:10:39 -04:00
Fabian H jr.
d0d9486f44 Updated checkpoints, maybe Tx fee should be reduced to 0.0001 from 0.0005 and maximum minimum tx should be 0.0010. 2011-08-15 21:33:00 -03:00
Gavin Andresen
eb72eae304 Don't std::advance past beginning of transactions array. Fixes #465 2011-08-12 15:39:12 -04:00
Matt Corallo
59ed5cb398 Add specific wallet encryption details to doc/README 2011-08-11 19:41:21 +02:00
Matt Corallo
8acb491eef Fix incorrect RPC error messages 2011-08-11 19:41:21 +02:00
Matt Corallo
2f8f51d1e4 Missed a 'password' should be 'passphrase'. 2011-08-11 19:41:21 +02:00
Gavin Andresen
498a2c9b16 Merge pull request #458 from TheBlueMatt/copyright
Unify copyright notices.
2011-08-11 10:34:29 -07:00
Gavin Andresen
c648b589be Merge pull request #459 from jgarzik/char-msgstart
Use 'unsigned char' rather than 'char' for pchMessageStart.
2011-08-10 20:01:37 -07:00
Gavin Andresen
72173ffaca Merge pull request #460 from jgarzik/make-tuple
Qualify make_tuple with boost:: namespace.
2011-08-10 20:01:14 -07:00
Venkatesh Srinivas
25133bd74b Use 'unsigned char' rather than 'char' for pchMessageStart.
Regarding https://bitcointalk.org/index.php?topic=28022.0

main.cpp has: "char pchMessageStart[4] = { 0xf9, 0xbe, 0xb4, 0xd9 };"
Per discussion on the thread linked, leaving the signedness of
pchMessageStart is unsafe for values > 0x80. This patch specifies
'unsigned char' in main.cpp and net.h.

Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2011-08-10 22:42:43 -04:00
Venkatesh Srinivas
7c3002bf27 Qualify make_tuple with boost:: namespace.
db.cpp has a number of uses of make_tuple and has 'using namespace
std' and 'using namespace boost'. Without qualifying make_tuple,
std::make_tuple is preferred, which is incorrect. This patch qualifies
make_tuple.

Signed-off-by: Jeff Garzik <jgarzik@exmulti.com>
2011-08-10 22:40:10 -04:00
Venkatesh Srinivas
ec93a0e219 Test for SO_NOSIGPIPE rather than assuming all BSDs support it.
Signed-off-by: Jeff Garzik <jgarzik@exmulti.com>
2011-08-10 22:36:20 -04:00
Gavin Andresen
9f0ac16942 Do-nothing MapPort() ifndef USE_UPNP. fixes #450 2011-08-09 12:38:17 -04:00
Matt Corallo
b2120e223a Unify copyright notices.
To a variation on:
// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2011 The Bitcoin developers
2011-08-09 13:32:52 +02:00
Matt Corallo
2c3691d53d Cleanup test suite output to be more useful. 2011-08-08 14:31:08 -04:00
Matt Corallo
3c8cecda1f Add file for transaction tests. 2011-08-08 14:31:08 -04:00
Vegard Nossum
a8330e0049 Add a file for script tests 2011-08-08 14:31:08 -04:00
Vegard Nossum
5f6a654d3e Add prototype for EvalScript() to script.h
This is needed for the script unit tests.
2011-08-08 14:31:08 -04:00
Vegard Nossum
e707d29dd6 Fix testing setup
There were some problems with the existing testing setup:

 - Makefile rules for test-file compilation used CFLAGS instead of
   CXXFLAGS in makefile.unix
2011-08-08 14:31:08 -04:00
Matt Corallo
02962ba848 Add missing include to serialize.h 2011-08-08 14:31:08 -04:00
Vegard Nossum
8a62fec3ee Add missing includes to net.h 2011-08-08 14:31:08 -04:00
Vegard Nossum
437173f430 Add missing include to script.h 2011-08-08 14:31:08 -04:00
Vegard Nossum
fcedd45c3c Add missing includes to key.h 2011-08-08 14:31:07 -04:00
Gavin Andresen
4e5d88ce26 Merge pull request #443 from TheBlueMatt/dupin
Check for duplicate txins in CheckTransaction.
2011-08-08 11:16:40 -07:00
Jeff Garzik
bd1e54bc0b Merge branch 'tmp2' 2011-08-04 15:22:05 -04:00
Jeff Garzik
eb20f3c8f5 Merge pull request #448 from sipa/cbitcoinaddress
avoid strAddress + validity checks
2011-08-04 11:47:15 -07:00
Jeff Garzik
95699e1730 Merge pull request #446 from WakiMiko/upnp-desc
Identify as "Bitcoin + version number" when mapping UPnP port
2011-08-04 11:40:44 -07:00
Jeff Garzik
32de8cd062 Merge pull request #451 from TheBlueMatt/tornolisten
Don't listen if on TOR (resolves #441).
2011-08-04 11:40:06 -07:00
Matt Corallo
01a509fa26 Don't listen if on TOR (resolves #441). 2011-08-03 22:16:29 +02:00
Matt Corallo
918150048a Make it clear that setting proxy requires restart to fully apply. 2011-08-03 21:02:07 +02:00
Pieter Wuille
4d2ef6e5b6 avoid strAddress + validity checks
Avoid references to addresses using strings, and use CBitcoinAddress
as much as possible. Also added some validity checks on addresses
entered using RPC.
2011-08-03 13:01:09 +02:00
Pieter Wuille
ce364b2d7a Merge pull request #444 from Jeroenz0r/patch-2
Translation from "Open Bitcoin" to "Verstuur Bitcoins"
2011-08-01 13:41:43 -07:00
Johannes Henninger
1565698169 Identify as "Bitcoin + version number" when mapping UPnP port
Makes Bitcoin identify itself as "Bitcoin + version number" instead of
the nondescript "libminiupnpc" when forwarding a port via UPnP.
2011-08-01 16:34:59 +02:00
Gavin Andresen
9326234109 Merge pull request #437 from codler/patch-2
Comment "deprecated"
2011-07-31 16:56:56 -07:00
Jeroenz0r
364685e195 Translation from "Open Bitcoin" to "Verstuur Bitcoins" 2011-08-01 02:03:19 +03:00
Matt Corallo
33208fb557 Check for duplicate txins in CheckTransaction. 2011-07-31 14:20:10 +02:00
Han Lin Yap
8c2143d4d8 Comment "deprecated" 2011-07-30 19:58:22 +03:00
Pieter Wuille
e1f13129e8 Merge pull request #436 from TheBlueMatt/master
Fix EncryptKeys crash introduced by a9ba471, identified by TD.
2011-07-27 13:10:47 -07:00
Matt Corallo
687c82558c Fix EncryptKeys crash introduced by a9ba4710, identified by TD. 2011-07-27 18:02:39 +02:00
Jeff Garzik
a139ed74f2 CAddrDB::LoadAddresses: properly initialize CAddress
Fixes issue #424
2011-07-26 15:15:55 -04:00
Pieter Wuille
aa7c5e7ceb Merge pull request #435 from sipa/fixextract
Bugfix: don't overuse limited ExtractAddress
2011-07-26 10:43:00 -07:00
Pieter Wuille
b63241d451 Bugfix: don't overuse limited ExtractAddress
ExtractAddress was called with the keystore as argument in RPC and
UI, limiting results to own keys. This caused empty "address"
fields.
2011-07-26 19:41:47 +02:00
Pieter Wuille
a0eb1d151f Merge pull request #434 from laanwj/addkey_retval
make SetHash160 return a value (as specified in the function signature)
2011-07-26 08:46:48 -07:00
Wladimir J. van der Laan
690c723e5f make SetHash160 return a value (as specified in the function signature) 2011-07-26 16:59:31 +02:00
JoelKatz
67ed7d9d49 Fix UNIX-specific thread handle leak. 2011-07-25 15:06:45 -07:00
Jeff Garzik
a9ba47101a Merge pull request #403 from sipa/cbitcoinaddress
keys indexed by address + introduced CBitcoinaddress
2011-07-24 15:38:38 -07:00
Pieter Wuille
b6d19aefa0 Merge pull request #428 from sipa/mintxfeefix
Fix for small change outputs
2011-07-24 08:08:33 -07:00
Pieter Wuille
a7dd11c6da Fix for small change outputs
With the separation of CENT and MIN_TX_FEE, it is now reasonable
to create change outputs between 0.01 and 0.0005, as these are
spendable according to the policy, even though they require a fee
to be paid.

Also, when enough fee was already present, everything can go into
a change output, without further increasing the fee.
2011-07-24 16:37:09 +02:00
Jeff Garzik
c2da35319d Merge pull request #423 from TheBlueMatt/mapalreadyaskedforfix
Actually use mapAlreadyAskedFor.
2011-07-21 19:05:38 -07:00
Matt Corallo
643160f6e7 Actually use mapAlreadyAskedFor.
Previously, mapAlreadyAskedFor was read from, but never added to.
The original intent was to use mapAlreadyAskedFor to keep track
of the time an item was requested and "Each retry is 2 minutes
after the last".
This implements that intent.
2011-07-21 22:06:20 +02:00
Pieter Wuille
ca40e581eb Merge pull request #1 from AbrahamJewowich/cbitcoinaddress
Cbitcoinaddress
2011-07-18 06:38:54 -07:00
Abraham Jewowich
03f8b54565 Fix bug with accessing vchData[0] when vchData is empty.
Fix typo in CBase58Data::CompareTo
2011-07-18 06:26:54 -07:00
Gavin Andresen
9e3e21efeb Merge pull request #419 from mibe/translation-de
Updated German translation
2011-07-17 17:52:40 -07:00
Gavin Andresen
993d37b90b Merge pull request #395 from mibe/issue-395
Error in Russian Translation
2011-07-17 17:51:08 -07:00
Pieter Wuille
cb61b8dc4c split off CBase58Data from CBitcoinAddress
Split off features unrelated to addresses from CBitcoinAddress to
CBase58Data, so they can be reused.
2011-07-17 12:09:17 +02:00
Pieter Wuille
2ffba736e9 Use CBitcoinAddress instead of string/uint160
Instead of conversion functions between pubkey/uint160/address in
base58.h, have a fully fledged class CBitcoinAddress (CAddress was
already taken) to represent addresses.
2011-07-17 12:09:14 +02:00
Pieter Wuille
03fbd79049 get rid of mapPubKeys
Make CKeyStore's interface work on uint160's instead of pubkeys, so
no separate global mapPubKeys is necessary anymore.
2011-07-17 12:07:59 +02:00
Michael Bemmerl
6801782096 Changed Russian translation according to comment in issue 395 2011-07-17 04:22:50 +02:00
Michael Bemmerl
e609c468d9 Added German wallet encryption messages translation. 2011-07-17 02:56:10 +02:00
Michael Bemmerl
241844eab0 Basically some grammatical fixes of the German translation. 2011-07-17 02:19:49 +02:00
Jeff Garzik
133ccbe408 Merge pull request #418 from EricJ2190/master
Update makefile.vc for wallet encryptions.
2011-07-15 21:11:34 -07:00
Eric Hosmer
88cab1e4a3 Added crypter to makefile.vc. 2011-07-15 23:38:46 -04:00
Jeff Garzik
5b0fc31b1c Merge pull request #414 from spiechu/polish-translation
added polish wallet encryption messages
2011-07-14 20:43:22 -07:00
Dawid Spiechowicz
494fc9a857 added polish wallet encryption messages 2011-07-14 19:13:26 +02:00
Jeff Garzik
065d743019 Merge pull request #413 from TheBlueMatt/loadwalletret
Fix bad return values in LoadWallet.
2011-07-14 09:37:50 -07:00
Matt Corallo
3a10d1c493 Fix bad return values in LoadWallet. 2011-07-14 18:15:50 +02:00
Pieter Wuille
24271c542b Merge pull request #412 from sgimenez/db-transactions
Single DB transactions
2011-07-14 05:29:09 -07:00
Stéphane Gimenez
d655a26c9d Single DB transaction for addresses from DNS seeds 2011-07-14 03:50:06 +02:00
Gavin Andresen
36cd1ad5c9 Merge pull request #411 from TheBlueMatt/master
Fix Build in GetReservedKey() in wallet.cpp
2011-07-13 18:36:56 -07:00
Matt Corallo
a2606bad09 Fix Build in GetReservedKey() in wallet.cpp 2011-07-14 03:34:07 +02:00
Gavin Andresen
3fd18faaf6 Merge pull request #410 from TheBlueMatt/master
Generate Warning when using default key.
2011-07-13 18:29:55 -07:00
Patrick Varilly
8c41469140 Single DB transaction for all addresses in a message
Cuts disk activity at startup immensely
2011-07-14 03:29:07 +02:00
Matt Corallo
cee69980b0 Generate Warning when using default key. 2011-07-14 03:28:31 +02:00
Jeff Garzik
60d2f8662c Merge pull request #409 from TheBlueMatt/master
Fix crashes when a wallet is locked and GetReservedKey() is called
2011-07-13 18:22:19 -07:00
Matt Corallo
0d7b28e52e Fix crashes when a wallet is locked and GetReservedKey() is called 2011-07-14 03:11:40 +02:00
Jeff Garzik
9cd22ab862 Merge pull request #406 from muggenhor/warning-fixes
Warning fixes
2011-07-13 08:55:49 -07:00
Jeff Garzik
b8cbbc2c28 Merge pull request #405 from sipa/syncdefault
Bugfix: add autogenerated addresses to address book
2011-07-13 08:53:57 -07:00
Giel van Schijndel
84c3c2ebe7 fix warning: control reaches end of non-void function [-Wreturn-type]
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 14:25:45 +02:00
Giel van Schijndel
93752b8a39 fix warning: variable ‘nMinDepth’ set but not used [-Wunused-but-set-variable]
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 13:43:24 +02:00
Pieter Wuille
225e60ce34 Merge pull request #404 from TheBlueMatt/newenc
Fix makefile.linux-mingw
2011-07-13 04:14:16 -07:00
Matt Corallo
d5e9d0000d Fix makefile.linux-mingw 2011-07-13 13:12:49 +02:00
Pieter Wuille
d5115a71a1 Bugfix: add autogenerated addresses to address book 2011-07-13 13:05:08 +02:00
Jeff Garzik
e9fd7d9fad doc/README: word wrap into something readable 2011-07-13 01:21:49 -04:00
Jeff Garzik
24a0def8cd Bump version to 0.3.25
Yes, we might release as v0.4, but let's just do a simple increment
for now.
2011-07-13 01:19:26 -04:00
Jeff Garzik
116df55e21 Update CWallet::LoadWallet for proper return type. 2011-07-13 01:07:49 -04:00
Jeff Garzik
4ea952d5c0 Merge pull request #399 from muggenhor/warning-fixes
Warning fixes
2011-07-12 20:22:38 -07:00
Giel van Schijndel
d0538a81bb fix warning: unused function 'SigIllHandlerSSE2' [-Wunused-function]
Only declare & define SigIllHandlerSSE2 when its used.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 05:10:15 +02:00
Giel van Schijndel
858cebed7d fix warning: unused variable 'X' [-Wunused-variable]
Remove several unused variables.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 05:10:15 +02:00
Giel van Schijndel
225f222c9f fix warning: X enumeration values not handled in switch [-Wswitch-enum]
Add default cases to opcode switches to assert that they should never
occur.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 05:10:15 +02:00
Giel van Schijndel
d7f1d200ab fix warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
Don't check for a negative parameter count, because not only will it
never happen, it doesn't make any sense either.

Invalid sockets (as returned by socket(2)) are always exactly -1 (not
just negative as negative file descriptors are technically not
prohibited by POSIX) on POSIX systems.  Since we store them in SOCKET
(unsigned int), however, that really is ~0U (or MAX_UINT) which happens
to be what INVALID_SOCKET is already defined to, so an additional check
for being negative is not only unnecessary (unsigned integers aren't
*ever* negative) its redundant as well (the INVALID_SOCKET comparison is
enough).

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 05:07:44 +02:00
Giel van Schijndel
f85c097449 fix warnings: using the result of an assignment as a condition without parentheses [-Wparentheses]
Don't unnecessarily assign to variables within the *boolean* expression
of a conditional.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 05:07:44 +02:00
Giel van Schijndel
ecf1c79aad fix warnings: expression result unused [-Wunused-value]
In the assert()s take advantage of the fact that string constants
("string") are effectively of type 'const char []', which when used in
an expression yield a non-NULL pointer.

An assertion that should always fail can thus be formulated as:
  assert(!"fail);

An assertion where a text message should be added to the expression can
be written as such:
  assert("message" && expression);

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 05:07:44 +02:00
Giel van Schijndel
df40181417 fix warning on 64bit systems: cast to pointer from integer of different size [-Wint-to-pointer-cast]
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-07-13 05:07:44 +02:00
Matt Corallo
0ca8324f59 Update makefile.linux-mingw to work with crypter and UPnP fix. 2011-07-12 22:44:00 -04:00
Jeff Garzik
0fa89d8e81 Merge pull request #381 from TheBlueMatt/nminversion
Add minversion to wallet.
2011-07-12 19:34:30 -07:00
Jeff Garzik
61e3c011f5 Merge pull request #402 from jayschwa/hirez-icon
High resolution Windows icon
2011-07-12 19:18:52 -07:00
Jeff Garzik
696d34069a Merge pull request #396 from jayschwa/nsis-branding
Add bitcoin.org logos/branding to NSIS installer.
2011-07-12 19:18:21 -07:00
Jeff Garzik
0bad8e4237 Merge pull request #352 from TheBlueMatt/newenc
Wallet Private Key Encryption (on CWallet)
2011-07-12 19:10:12 -07:00
Jay Weisskopf
aaa468563b Increase resolution of Windows icon.
The .ico file has changed in the following ways:
* Added 64x64 layer (max size for "Classic Mode").
* Added 256x256 layer (max size for Vista and 7).
* Removed copies with no alpha channel:
  * Display depths lower than 32-bits are rare nowadays.
  * 8-bit alpha channels in icons has been supported since XP.
  * If the display depth is lowered, they look no better than the
    downsampled versions that Windows automatically generates.

Tested various sizes on both XP and Win 7. It looks fine
(unchanged) on XP and downright sexy on Win 7.
2011-07-12 20:13:44 -05:00
Matt Corallo
7414733bea Make an invalid addrIncoming so that old clients crash.
This prevents old clients from opening, and thus corrupting
or otherwise causing harm to encrypted wallets.
2011-07-13 02:11:25 +02:00
Matt Corallo
96f34cd5c4 Use DB Transactions when encrypting wallet.
This speeds up the encryption process significantly.
2011-07-13 02:11:25 +02:00
Pieter Wuille
0efda1a79e Do not use obsolete CPrivKey for passing keys around 2011-07-13 02:11:25 +02:00
Matt Corallo
b6b039d84e Add Wallet Encryption section to README 2011-07-13 02:11:25 +02:00
Matt Corallo
fbeb5fb483 Add the walletlock RPC method to lock the wallet manually. 2011-07-13 02:11:25 +02:00
Matt Corallo
81598083e7 Dynamically remove/insert the Options for encryption in the menus. 2011-07-13 02:11:25 +02:00
Matt Corallo
98545d2cdf Push unlocked_until in getinfo. 2011-07-13 02:11:25 +02:00
Matt Corallo
ddebdd9a8f Set the number of SHA512 rounds based on the speed of the computer. 2011-07-13 02:11:25 +02:00
Matt Corallo
4e87d341f7 Add wallet privkey encryption.
This commit adds support for ckeys, or enCrypted private keys, to the wallet.
All keys are stored in memory in their encrypted form and thus the passphrase
is required from the user to spend coins, or to create new addresses.

Keys are encrypted with AES-256-CBC using OpenSSL's EVP library. The key is
calculated via EVP_BytesToKey using SHA512 with (by default) 25000 rounds and
a random salt.

By default, the user's wallet remains unencrypted until they call the RPC
command encryptwallet <passphrase> or, from the GUI menu, Options->
Encrypt Wallet.

When the user is attempting to call RPC functions which require the password
to unlock the wallet, an error will be returned unless they call
walletpassphrase <passphrase> <time to keep key in memory> first.

A keypoolrefill command has been added which tops up the users keypool
(requiring the passphrase via walletpassphrase first).
keypoolsize has been added to the output of getinfo to show the user the
number of keys left before they need to specify their passphrase (and call
keypoolrefill).

Note that walletpassphrase will automatically fill keypool in a separate
thread which it spawns when the passphrase is set. This could cause some
delays in other threads waiting for locks on the wallet passphrase, including
one which could cause the passphrase to be stored longer than expected,
however it will not allow the passphrase to be used longer than expected as
ThreadCleanWalletPassphrase will attempt to get a lock on the key as soon
as the specified lock time has arrived.

When the keypool runs out (and wallet is locked) GetOrReuseKeyFromPool
returns vchDefaultKey, meaning miners may start to generate many blocks to
vchDefaultKey instead of a new key each time.

A walletpassphrasechange <oldpassphrase> <newpassphrase> has been added to
allow the user to change their password via RPC.

Whenever keying material (unencrypted private keys, the user's passphrase,
the wallet's AES key) is stored unencrypted in memory, any reasonable attempt
is made to mlock/VirtualLock that memory before storing the keying material.
This is not true in several (commented) cases where mlock/VirtualLocking the
memory is not possible.

Although encryption of private keys in memory can be very useful on desktop
systems (as some small amount of protection against stupid viruses), on an
RPC server, the password is entered fairly insecurely. Thus, the only main
advantage encryption has for RPC servers is for RPC servers that do not spend
coins, except in rare cases, eg. a webserver of a merchant which only receives
payment except for cases of manual intervention.

Thanks to jgarzik for the original patch and sipa, gmaxwell and many others
for all their input.

Conflicts:

	src/wallet.cpp
2011-07-13 02:11:25 +02:00
Jay Weisskopf
aa0bcaaf2b Remove NSIS branding from bottom divider. 2011-07-12 01:18:57 -05:00
Jay Weisskopf
230b894779 Set default compression for NSIS installer to LZMA.
Use of LZMA (versus the current zlib) shaves a few MB off the installer.
2011-07-11 17:44:44 -05:00
Jay Weisskopf
6c9498147f Add logos/branding currently found on bitcoin.org into NSIS installer. 2011-07-11 02:09:07 -05:00
Doug Huff
a48c671957 Make mlock() and munlock() portable to systems that require the address to be on a page boundary. 2011-07-10 18:15:05 +02:00
Jeff Garzik
354f2dd094 Merge pull request #392 from laanwj/antimagic
Remove another magic number: change threshold for nLockTime to constant
2011-07-09 10:09:13 -07:00
Wladimir J. van der Laan
aa496b75c2 remove magic number: change threshold for nLockTime to constant 2011-07-09 10:11:28 +02:00
Jeff Garzik
f08736405e Compile 'sv' translation 2011-07-08 13:38:24 -04:00
Jeff Garzik
c05d011fba Merge pull request #376 from codler/translate
Minor translation changes for latest build (Swedish)
2011-07-08 10:36:49 -07:00
Dylan Noblesmith
c1aacf0be3 mlock() all private keys in memory
Inline comment and idea come from the encprivkeys branch
by Matt Corallo <matt@bluematt.me>.
2011-07-08 15:46:47 +02:00
Pieter Wuille
acd6501610 Prepare codebase for Encrypted Keys. 2011-07-08 15:46:47 +02:00
Jeff Garzik
e94010b239 Merge pull request #383 from sipa/syncdefault
Fix synchronization of default key
2011-07-05 11:52:13 -07:00
Jeff Garzik
bb0d9ce226 Merge pull request #384 from TheBlueMatt/upnp
Fix UPnP building, entirely my fault.
2011-07-05 10:10:26 -07:00
Matt Corallo
7ec552676c Add minversion to wallet. 2011-07-05 18:36:01 +02:00
Matt Corallo
09923991e5 Enable UPnP by default on bitcoin, but not on bitcoind (on gitian)
Also fix a minor type in gitian.yml
2011-07-05 18:21:35 +02:00
Matt Corallo
3f0950ea01 Revert "Make UPnP default on Bitcoin but not on Bitcoind."
This reverts commit ee1f884229.

Stupid, stupid me...there is exactly 0 way to convince make to
execute a conditional based on a target-specific variable.
2011-07-05 18:19:34 +02:00
Pieter Wuille
e9f61c8787 Fix synchronization of default key 2011-07-05 17:42:44 +02:00
Gavin Andresen
9390431ce4 Merge pull request #379 from gavinandresen/nocommas
Do not use comma as thousands separator
2011-07-04 19:26:10 -07:00
Jeff Garzik
06c903b26c Merge pull request #380 from TheBlueMatt/buildupdates
Added a couple minor things to match newer build process.
2011-07-04 16:34:18 -07:00
Matt Corallo
fa105b1d3a Added a couple minor things to match newer build process.
This adds the relevent patches which are applied to wx,
and updates for cross compiling.
2011-07-05 00:59:00 +02:00
Gavin Andresen
59f9c8e8c9 Do not use comma as thousands separator
Using the comma as thousands separator causes problems for parts of the world
where comma == decimal point.  Germans sending 0,001 bitcoins are unpleasantly
surprised when that results in 1 BTC getting sent.
2011-07-04 09:41:58 -04:00
Gavin Andresen
d547a44332 Block-chain lock-in at 134444 2011-07-03 11:20:39 -04:00
Han Lin Yap
096a890097 Minor translation changes for latest build 2011-07-03 15:24:47 +02:00
Jeff Garzik
fc27eb188f Bump OSX version to 0.3.24 (missed in previous commit) 2011-07-02 16:57:45 -04:00
Jeff Garzik
b4b536d782 Bump version to 0.3.24. 2011-07-02 16:55:11 -04:00
Jeff Garzik
a76899624a Merge branch 'tmp2' into tmp3 2011-07-02 16:46:07 -04:00
Jeff Garzik
1a19fc17b2 Merge pull request #374 from TheBlueMatt/neterror
Give more detailed error messages for connection failure.
2011-07-02 12:04:09 -07:00
Matt Corallo
013df1cc3b Give more detailed error messages for connection failure. 2011-07-02 13:25:18 +02:00
Jeff Garzik
9cd1dfe898 Merge pull request #372 from TheBlueMatt/upnp
Make UPnP default on Bitcoin but not on Bitcoind.
2011-07-01 19:39:05 -07:00
Jeff Garzik
cfbcb1de66 Merge pull request #373 from EricJ2190/master
Another Visual C++ Makefile Update
2011-07-01 17:38:24 -07:00
Eric Hosmer
58d9badfe2 Add keystore.h to makefile.vs's header list. 2011-07-01 20:17:10 -04:00
Eric Hosmer
12a4af47c2 Further updated Visual C++ makefile. 2011-07-01 20:14:02 -04:00
Matt Corallo
ee1f884229 Make UPnP default on Bitcoin but not on Bitcoind.
This is a bit of an ugly hack, but its the only way to do it.
2011-07-02 01:46:22 +02:00
Jeff Garzik
c4286dc6ee Merge pull request #343 from muggenhor/proper-http-server-rejection
rpc server: send '403 Forbidden' to rejected clients
2011-07-01 16:34:49 -07:00
Jeff Garzik
b73ab2d885 Merge pull request #368 from TheBlueMatt/dnsseed
Only use dnsseeds when not on testnet.
2011-07-01 16:33:28 -07:00
Jeff Garzik
056d2ad312 Merge pull request #371 from EricJ2190/master
Updated Visual C++ Makefile
2011-07-01 16:31:33 -07:00
Jeff Garzik
362efb24c1 Enable DNS seeding by default. 2011-07-01 17:58:03 -04:00
Jeff Garzik
7fbeca05c9 Merge pull request #369 from sipa/limitblocksend
Limit size of response to getblocks
2011-07-01 14:51:48 -07:00
Eric Hosmer
f8b5028cd1 Updated Visual C++ makefile. 2011-07-01 12:58:48 -04:00
Matt Corallo
ce8f78a7bb Only use dnsseeds and static seeds when not on testnet. 2011-07-01 17:33:19 +02:00
Pieter Wuille
4973174534 Limit response to getblocks to half of output buffer size
Introduce SendBufferSize() and ReceiveBufferSize(), and limit
the blocks sent as response to the "getblocks" message to
half of the active send buffer size.
2011-07-01 09:39:44 +02:00
Jeff Garzik
44d16327c1 Merge pull request #367 from TheBlueMatt/dnsseed
Add new DNSSeed dnsseed.bluematt.me.
2011-06-30 14:51:55 -07:00
Matt Corallo
f03c31db82 Add new DNSSeed dnsseed.bluematt.me.
This seed will pull a random set of 20 nodes from the network which
are tested to be online instead of a static list.
2011-06-30 23:42:59 +02:00
Gavin Andresen
20f3f4ac16 Merge pull request #357 from jrmithdobbs/osx-appbundle
Add OSX App bundle and correct build instructions to reflect reality.
2011-06-29 07:52:14 -07:00
Gavin Andresen
786bfc3bb7 Merge pull request #361 from spiechu/polish-translation
added polish translation
2011-06-29 07:13:04 -07:00
Pieter Wuille
3a3eabb57a Merge pull request #362 from ius/issue340
Fix connection failure debug output
2011-06-28 13:47:08 -07:00
Joerie de Gram
ecd3e728b7 Fix connection failure debug output 2011-06-28 22:34:52 +02:00
Dawid Spiechowicz
3e76df7481 added polish translation 2011-06-28 20:37:51 +02:00
Stéphane Gimenez
4d410cfce9 Fix AddressBook syncrhonization between a CWallet and CWalletDB
This problem was reported independently by laanwj in Issue #350.
2011-06-27 23:22:30 +02:00
Gavin Andresen
8111e27905 Merge pull request #356 from gavinandresen/unitTest
Boost unit-testing framework. Thanks to Steve (gasteve in irc) for original code.
2011-06-27 13:30:44 -07:00
Doug Huff
d8dda9de84 Add OSX App bundle and correct build instructions to reflect reality. 2011-06-27 15:11:35 -05:00
Gavin Andresen
8baf865c94 Boost unit-testing framework.
make -f makefile.{unix,osx,mingw} test_bitcoin
to compile dumb, do-almost-nothing placeholder unit tests.
2011-06-27 14:12:48 -04:00
Giel van Schijndel
e913574e02 rpc: don't send 403 when using SSL to prevent DoS
Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-06-26 21:07:59 +02:00
Giel van Schijndel
c9e70d4c0a rpc server: send '403 Forbidden' to rejected clients
In order to be a proper HTTP implementation clients that aren't allowed
to connect to the RPC server (using -rpcallowip), should receive a
proper HTTP response.  So instead of closing the connection on them send
a '403 Forbidden' status.

Signed-off-by: Giel van Schijndel <me@mortis.eu>
2011-06-26 21:07:59 +02:00
Pieter Wuille
d0d80170a2 Merge pull request #347 from sipa/delkeyuser
Fix segfault when creating new wallet
2011-06-26 03:04:39 -07:00
Pieter Wuille
d3800d59d5 Fix segfault when creating new wallet
The initialization of the default key used keyUser instead
of vchDefaultKey. keyUser is now complete removed.
2011-06-26 02:37:52 +02:00
Gavin Andresen
c774b16976 Merge branch 'totalblocksestimate1' of https://github.com/laanwj/bitcoin 2011-06-24 11:17:22 -04:00
Jeff Garzik
77ba3ab99c Merge pull request #342 from jburkle/datadir_check
Edited init.cpp to include a check that -datadir exists
2011-06-23 21:43:30 -07:00
James Burkle
ed2c01405f Edited init.cpp to include a check that -datadir exists 2011-06-23 23:43:26 -04:00
Pieter Wuille
1179257bfd Merge pull request #334 from sipa/walletclass
Bugfixes walletclass
2011-06-20 11:10:58 -07:00
Pieter Wuille
98705aa51c Bugfixes walletclass
Some problems found by ius:
* compiler complains with no return after critical section block
* CKeyStore::GetPrivKey(key) was undefined for unknown key
* missing return statement in GetChange()
2011-06-20 20:07:28 +02:00
Jeff Garzik
04e442070d Merge pull request #332 from shanew/master
Include missing Boost header
2011-06-19 20:04:24 -07:00
Jeff Garzik
2207f5e201 Merge pull request #331 from TheBlueMatt/translatefix
Update translations and remove obsolete translations.
2011-06-19 20:03:08 -07:00
Shane Wegner
926e14b362 Fix missing includes needed for Boost 1.46. 2011-06-19 15:12:31 -07:00
Jeff Garzik
aa0c5e87e8 CWalletTx::GetAmounts(): pass NULL for CKeyStore*, rather than false
to fix warning.
2011-06-18 21:50:05 -04:00
Pieter Wuille
a6b2115963 Merge pull request #288 from sipa/walletclass
CWallet class
2011-06-18 17:36:25 -07:00
Wladimir J. van der Laan
eade213197 add GetTotalBlocksEstimate() function, move magic number to constant 2011-06-19 00:12:02 +02:00
Matt Corallo
4acfe655d5 Update translations and remove obsolete translations. 2011-06-18 15:56:12 +01:00
Jeff Garzik
eeac8727bc doc/release-process.txt: minor updates 2011-06-16 17:52:38 -04:00
Pieter Wuille
64c7ee7e6b CWallet class
* A new class CKeyStore manages private keys, and script.cpp depends on access to CKeyStore.
* A new class CWallet extends CKeyStore, and contains all former wallet-specific globals; CWallet depends on script.cpp, not the other way around.
* Wallet-specific functions in CTransaction/CTxIn/CTxOut (GetDebit, GetCredit, GetChange, IsMine, IsFromMe), are moved to CWallet, taking their former 'this' argument as an explicit parameter
* CWalletTx objects know which CWallet they belong to, for convenience, so they have their own direct (and caching) GetDebit/... functions.
* Some code was moved from CWalletDB to CWallet, such as handling of reserve keys.
* Main.cpp keeps a set of all 'registered' wallets, which should be informed about updates to the block chain, and does not have any notion about any 'main' wallet. Function in main.cpp that require a wallet (such as GenerateCoins), take an explicit CWallet* argument.
* The actual CWallet instance used by the application is defined in init.cpp as "CWallet* pwalletMain". rpc.cpp and ui.cpp use this variable.
* Functions in main.cpp and db.cpp that are not used by other modules are marked static.
* The code for handling the 'submitorder' message is removed, as it not really compatible with the idea that a node is independent from the wallet(s) connected to it, and obsolete anyway.
2011-06-15 11:05:55 +02:00
Pieter Wuille
e89b9f6a2a move wallet code to separate file
This introduces two new source files, keystore.cpp and wallet.cpp with
corresponding headers. Code is moved from main and db, in a preparation
for a follow-up commit which introduces the classes CWallet and CKeyStore.
2011-06-15 11:05:55 +02:00
Jeff Garzik
19ea44208f Merge pull request #226 from jordanlewis/betterheaders
Optimize header dependencies; improve Makefile dependency graph
2011-06-14 02:05:57 -07:00
Jeff Garzik
c02ec54269 FormatFullVersion: build fix related to recent translation improvement 2011-06-14 04:50:51 -04:00
Jeff Garzik
6f460bace6 Merge pull request #314 from codler/translate
Update swedish translation
2011-06-14 01:33:04 -07:00
Jeff Garzik
40dc7e6e1d Merge pull request #315 from codler/consistent-address
Consistent Bitcoin example address
2011-06-14 01:32:40 -07:00
Han Lin Yap
c60da7355e Consistent Bitcoin example address 2011-06-14 10:17:07 +02:00
Han Lin Yap
9399225b81 Update swedish translation 2011-06-14 09:07:30 +02:00
Luke Dashjr
02d87b3aa3 Reset extraNonce only when prevBlock changes, so miners can continue updating the time on their work until it's stale 2011-06-12 20:17:01 -04:00
Jeff Garzik
ce148944c7 Merge pull request #300 from sipa/connecttimeout
non-blocking connect (by phantomcircuit)
2011-06-11 16:17:13 -07:00
Pieter Wuille
76d660ebd3 Faster timeout when connecting
Use non-blocking connects, and a select() call to wait a predefined
time (5s by default, but configurable with -timeout) for either
success or failure. This allows much more connections to be tried
per time unit.

Based on a patch by phantomcircuit.
2011-06-12 00:29:05 +02:00
Han Lin Yap
ca93cc563e Double check translation and improved a translation string 2011-06-12 00:18:34 +02:00
Jeff Garzik
e051f1b510 Merge pull request #312 from codler/patch-1
Remove unused variable
2011-06-11 09:58:02 -07:00
Han Lin Yap
a299e551fe Remove unused variable 2011-06-11 03:21:32 -07:00
Jeff Garzik
18e39300e6 Merge pull request #311 from codler/master
Added Swedish translation
2011-06-11 00:27:16 -07:00
Han Lin Yap
b734954a63 Added Swedish translation 2011-06-11 08:52:07 +02:00
Jeff Garzik
6854a2ade6 Add minimal release process docs. 2011-06-10 02:14:56 -04:00
Jeff Garzik
6de1326ba4 Lower minimum relay TX fee to 0.0001 (from 0.0005) BTC. 2011-06-10 02:07:13 -04:00
Jeff Garzik
65ee333ae0 Merge pull request #304 from TheBlueMatt/cpufix
Fix CPU Usage bug when using -nolisten and have no connections.
2011-06-09 22:42:25 -07:00
Jeff Garzik
2661f2f7c4 Merge pull request #310 from xslidian/master
Updated Chinese Simp translation
2011-06-09 12:11:07 -07:00
Dean Lee
3a8182c105 Updated Chinese Simp translation 2011-06-09 16:47:17 +08:00
Gavin Andresen
60152827e3 Merge pull request #293 from tcatm/keypool-fix
create keypool in LoadWallet()
2011-06-07 11:38:35 -07:00
Matt Corallo
c6710c7a70 Fix CPU Usage bug when using -nolisten and have no connections. 2011-06-07 00:54:41 +02:00
Jeff Garzik
04bc3f0a63 Merge pull request #303 from jrmithdobbs/demystify-magic-numbers
Demystify a few magic numbers.
2011-06-06 11:17:39 -07:00
Doug Huff
a9d3af8821 Demystify a few magic numbers. 2011-06-06 12:49:11 -05:00
Jeff Garzik
352b4ea5b9 Reduce minimum TX fee for new transactions, to 0.0005. 2011-06-05 14:28:14 -04:00
Jeff Garzik
6f07e22210 Bump version to 0.3.23. 2011-06-05 10:39:01 -04:00
Jeff Garzik
09d1484b22 Merge pull request #264 from sipa/mintxfeefix
Fix for small change outputs
2011-06-05 07:32:58 -07:00
Jeff Garzik
e3d884479a Merge pull request #291 from jrmithdobbs/ignore-vim-swp-files
Add common temp files to .gitignore.
2011-06-05 07:31:09 -07:00
Jeff Garzik
7a234cdae5 Merge pull request #255 from sipa/rescanupdate
Update transactions already in the wallet when rescanning.
2011-06-05 07:30:47 -07:00
Jeff Garzik
39105dac1b Merge pull request #290 from jrmithdobbs/ip-filter-rfc1918-rfc3927
Fix rfc1918 and rfc3927 compliance for ignoring non-internet-routable hosts
2011-06-05 07:30:05 -07:00
Nils Schneider
ca81b168d9 create keypool in LoadWallet() 2011-06-03 18:04:41 +02:00
Doug Huff
4e6303d397 Add common temp files to .gitignore. 2011-06-02 20:27:27 -05:00
Doug Huff
482cb65690 Fix rfc1918 and rfc3927 compliance for ignoring non-internet-routable hosts. 2011-06-02 14:46:41 -05:00
Pieter Wuille
e104c79374 Bugfix for dnsseed introduced by dnslookup 2011-06-02 16:22:49 +02:00
Pieter Wuille
7c05877df2 Merge remote branch 'upstream/master' 2011-06-02 16:17:37 +02:00
Pieter Wuille
5fecb27c1e Merge pull request #278 from TheBlueMatt/win32ssl
Update to openssl-1.0.0d and enable RPC-SSL on Win32
2011-05-28 13:00:33 -07:00
Pieter Wuille
12a1256c1d bugfix: accept free transactions 2011-05-28 16:43:49 +02:00
Pieter Wuille
a452d9ee2d Merge remote branch 'bluematt/dpifix' 2011-05-27 12:44:56 +02:00
Matt Corallo
af531f0449 Fix GUI build on UNIX. 2011-05-27 12:38:10 +02:00
Matt Corallo
0649b6af90 Update to openssl-1.0.0d and enable RPC-SSL on Win32 2011-05-27 02:53:13 +02:00
Jeff Garzik
1d418728b0 Merge pull request #277 from TheBlueMatt/dpifix
Handle high DPI a bit more gracefully on Win32.
2011-05-26 17:24:56 -07:00
Matt Corallo
bd39b48f19 Handle high DPI a bit more gracefully on Win32. #243
Not ideal, icons for send and address book don't show, just the
standard bitcoin icon, and balance is still cut off, but the
number is readable.
2011-05-27 02:20:11 +02:00
Pieter Wuille
5e1e458ecb loss of significance in difficulty (by lfm)
For instance any nBits compressed value from 0x1a44b800 thru
0x1a44b9ff will show as difficulty 244139.4816. This patch will
more accurately convert the nBits compressed values to the double
difficulty.

This will display any of the recent difficulty levels slightly
differently though. Early difficulties and testnet difficulties are
not large enough to trigger this bug.

None of the actual targets or compressed targets are changed, only
the conversion to the floating point difficulty is changed and afaik
it is only ever displayed, never converted back so the patch does not
effect the target calculations, binary files, databases nor the binary
protocol.
2011-05-26 23:35:00 +02:00
Matt Corallo
db69432dcd Reset Last-Translator on de po to the proper value.
Sorry, Jakob, it was changed on accident by poedit.
2011-05-26 23:09:37 +02:00
xHire
7709ee622c Czech translation 2011-05-26 23:09:37 +02:00
Pieter Wuille
a757ed886a Merge remote branch 'bluematt/itfix2' 2011-05-26 22:44:41 +02:00
Pieter Wuille
6740ad3706 Merge remote branch 'bluematt/defix2' 2011-05-26 22:44:35 +02:00
Jakob Kramer
7609e35f10 Fixed some mistakes in the German translation. 2011-05-26 22:40:44 +02:00
Pieter Wuille
3d962315f2 Merge pull request #267 from sipa/mintxrelay
Separate required fee for relaying and creation
2011-05-26 13:33:51 -07:00
HostFat
db3b14c960 Fixed 2 things on the italian translation 2011-05-26 22:31:08 +02:00
Jeff Garzik
20d28e6031 Merge pull request #268 from TheBlueMatt/deletefix
Fixes #240 and #244 - delete delete[] mismatch.
2011-05-26 13:25:58 -07:00
Matt Corallo
77172463a3 Fixes #240 and #244 - delete delete[] mismatch. 2011-05-26 02:24:01 +02:00
Pieter Wuille
2bfda1be11 Separate required fee for relaying and creation
Transactions created with the new minimal fee policy would not be
relayed by the network. Therefore, we separate the minimal fee that
is necessary to relay and to create, leaving the creation one at
the old amount, for now.
2011-05-26 00:54:58 +02:00
Pieter Wuille
e426776598 Merge pull request #265 from TheBlueMatt/esfix2
Updated spanish translation
2011-05-25 12:31:16 -07:00
Pieter Wuille
ca253d5911 Fix for small change outputs
With the separation of CENT and MIN_TX_FEE, it is now reasonable
to create change outputs between 0.01 and 0.0005, as these are
spendable according to the policy, even though they require a fee
to be paid.

Also, when enough fee was already present, everything can go into
a change output, without further increasing the fee.
2011-05-25 21:30:14 +02:00
ariel
00af90ab3c Updated spanish translation 2011-05-25 19:47:31 +02:00
Pieter Wuille
a9ea3cd76d Updated dutch translation 2011-05-25 02:11:18 +02:00
Jeff Garzik
d21876cdb8 Merge branch 'chfix' of https://github.com/TheBlueMatt/bitcoin into tmp 2011-05-24 19:41:01 -04:00
Jeff Garzik
54c465f25d Merge pull request #250 from TheBlueMatt/macbuildfix
Revert "OSX build tweaks (laszlo)"
2011-05-24 16:31:15 -07:00
dabaopku
e295947d04 Chinese Translation 2011-05-25 01:28:25 +02:00
Jeff Garzik
32a1753e61 Merge pull request #249 from TheBlueMatt/nsisfix
Update NSIS Installer file to support the new directory structure.
2011-05-24 16:21:45 -07:00
Jeff Garzik
1fcf6f038e Merge pull request #251 from TheBlueMatt/itfix
Update Italian translation to latest git.
2011-05-24 16:21:23 -07:00
Jeff Garzik
ec39b59a03 Merge pull request #259 from TheBlueMatt/rufix
Update russian translation to latest git.
2011-05-24 16:20:38 -07:00
Jeff Garzik
95f748c54e Merge pull request #260 from TheBlueMatt/eotranslation
Add esperanto translation.
2011-05-24 16:20:08 -07:00
Danube
08cf0629f5 Add esperanto translation. 2011-05-25 01:13:58 +02:00
m0ray
11adda400f Update russian translation to latest git. 2011-05-24 17:15:17 +02:00
Pieter Wuille
1c528eeee9 Update transactions already in the wallet when rescanning.
When rescanning, if the scanned transaction is already in the wallet, it
is skipped. However, if someone sends a transaction, does not wait for
confirmation, switches wallets, waits for a block that contains his original
transaction, and switches wallets again, a rescan will leave his wallet
transaction (which has no merkle branch, so no confirmations) untouched.
2011-05-22 17:12:20 +02:00
Federico Faggiano
e4c3232f42 Update Italian translation to latest git. 2011-05-21 16:16:33 +02:00
Matt Corallo
7ee8e5bf86 Revert "OSX build tweaks (laszlo)"
This reverts commit 69ae372b51 which
removes support for building the Mac version of Bitcoin with UPnP
support and UPnP disabled by default (which should be the default,
according to the community vote and as its the default on all
other platforms).
2011-05-21 14:14:34 +02:00
Matt Corallo
cbb2b59a90 Update NSIS Installer file to support the new directory structure. 2011-05-21 13:46:51 +02:00
Jeff Garzik
69a27a4ec6 irc: #bitcoin is overflowing. split up into 100 randomly-joined channels.
From laszlo
2011-05-20 20:54:51 -04:00
Jeff Garzik
69ae372b51 OSX build tweaks (laszlo) 2011-05-20 20:48:44 -04:00
Jeff Garzik
813a3b438f Merge pull request #229 from TheBlueMatt/esfix
Update spanish translation to newest git.
2011-05-18 10:37:11 -07:00
Jeff Garzik
fbe6d5defa Merge pull request #230 from TheBlueMatt/defix
Update German translation to latest git.
2011-05-18 10:36:43 -07:00
Jeff Garzik
98199faa0b Merge pull request #234 from TheBlueMatt/ltfix
Update Lithuanian Translation to latest git.
2011-05-18 10:36:22 -07:00
Jeff Garzik
010ca705df Merge pull request #235 from TheBlueMatt/gitianfix
Update Gitian Build Descriptor to match new directory layout.
2011-05-18 10:35:52 -07:00
Matt Corallo
6c5064b5c3 Update Gitian Build Descriptor to match new directory layout. 2011-05-18 16:04:38 +02:00
Anonymous
97c9d444ae Update Lithuanian Translation to latest git. 2011-05-18 15:52:35 +02:00
Jordan Lewis
31f2931281 Only include certain boost headers if necessary. 2011-05-17 18:58:47 -05:00
Jordan Lewis
6b783965c4 Remove some globally unused headers from headers.h 2011-05-17 18:58:47 -05:00
Pieter Wuille
b201c1f600 Bugfix for dnslookup: irc.cpp still used old CAddress constructor 2011-05-17 17:54:06 +02:00
Blitzboom
769e457d94 Update German translation to latest git. 2011-05-17 14:02:10 +02:00
Carlos Pizarro
b3ff4878f8 Update spanish translation to newest git. 2011-05-17 12:27:53 +02:00
Jeff Garzik
0c97aa9e14 Merge branch 'master' of git://github.com/bitcoin/bitcoin 2011-05-17 01:38:15 -04:00
Jeff Garzik
270e944e30 doc/README: bump version to 0.3.22 2011-05-17 01:36:31 -04:00
Jeff Garzik
112262cb24 Merge pull request #221 from gavinandresen/portoption
-port option to listen on arbitrary port
2011-05-16 22:29:28 -07:00
Jeff Garzik
6d62d2fb56 Merge pull request #222 from TheBlueMatt/lt
Add Lithuanian translation.
2011-05-16 22:24:59 -07:00
Jordan Lewis
fdd7d04744 Only include strlcpy.h when we have to 2011-05-15 22:23:42 -05:00
Jordan Lewis
edd309e537 Only include init.h when we have to 2011-05-15 22:23:37 -05:00
Jordan Lewis
40c2614ef4 Only include net.h when we have to 2011-05-15 22:19:17 -05:00
Jordan Lewis
ed0c143242 Only included rpc.h when necessary 2011-05-15 22:19:16 -05:00
Jordan Lewis
1512d5ce64 Only include db.h when we have to. 2011-05-15 22:19:16 -05:00
Jordan Lewis
f23f9a03c8 Only include irc.h when needed 2011-05-15 22:19:16 -05:00
Gavin Andresen
f441949515 Build error mingw, missing std:: 2011-05-15 13:13:50 -04:00
Gavin Andresen
00bcfe0b7e -port option to listen on arbitrary port 2011-05-15 12:36:21 -04:00
Wladimir J. van der Laan
223b6f1ba4 make bitcoin include files more modular 2011-05-15 12:04:20 +02:00
Pieter Wuille
c22feee634 Merge pull request #224 from TheBlueMatt/mingwbuildfix
Fix MinGW build due to bad pointers to ui.rc pixmaps stuff.
2011-05-14 10:09:05 -07:00
Matt Corallo
bcb971f930 Fix MinGW build due to bad pointers to ui.rc pixmaps stuff. 2011-05-14 18:51:52 +02:00
Pieter Wuille
f53faffb91 Merge pull request #223 from sipa/dnslookup
bugfix in dnslookup code: didn't compile in mingw
2011-05-14 09:48:42 -07:00
Pieter Wuille
545a679aed bugfix in dnslookup code: didn't compile in mingw 2011-05-14 18:13:58 +02:00
mewantsbitcoins
95f5b36772 Add Lithuanian translation. 2011-05-14 01:07:22 +02:00
Jeff Garzik
efe06e1efd Merge pull request #215 from gavinandresen/negativemove
Allow move RPC to take account balances negative
2011-05-12 14:46:13 -07:00
Jeff Garzik
73eb306cfd Merge branch 'fUseUPnPfix' of https://github.com/TheBlueMatt/bitcoin into tmp 2011-05-12 17:36:42 -04:00
Jeff Garzik
9398bf946c Merge pull request #192 from sipa/dnslookup
Support for name lookups in -connect and -addnode
2011-05-12 14:31:25 -07:00
Daniel Holbert
5d1d69453a Add #ifdef USE_UPNP around usage of fUseUPnP to fix build failure. 2011-05-12 23:30:27 +02:00
Jeff Garzik
4b2e21e7ee Merge pull request #218 from jgarzik/fee-update
Update TX fee to 0.0005 BTC
2011-05-11 18:16:36 -07:00
Luke Dashjr
aa4a9c5250 Reset extraNonce only every 15 seconds, just in case some miner is updating time himself and stuff 2011-05-11 17:13:04 -04:00
Luke Dashjr
3a8029f033 Update nTime after nExtraNonce to avoid potential race
(extraNonce being reset due to just-occurred time change after nTime is set)
2011-05-11 16:50:18 -04:00
Jeff Garzik
2a2487514a Decrease minimum TX fee to 0.0005 BTC. 2011-05-11 16:50:09 -04:00
Jeff Garzik
a630da6400 Replace CENT with new constant MIN_TX_FEE, where appropriate.
MIN_TX_FEE==CENT remains true (until next commit).
2011-05-11 16:48:51 -04:00
Pieter Wuille
a6a5bb7c20 Support for name lookups in -connect and -addnode
* A new option -dns is introduced that enables name lookups in
  -connect and -addnode, which is not enabled by default,
  as it may be considered a security issue.
* A Lookup function is added that supports retrieving one or
  more addresses based on a host name
* CAddress constructors (optionally) support name lookups.
* The different places in the source code that did name lookups
  are refactored to use NameLookup or CAddress instead (dns seeding,
  irc server lookup, getexternalip, ...).
* Removed ToStringLog() from CAddress, and switched to ToString(),
  since it was empty.
2011-05-10 23:49:30 +02:00
Jeff Garzik
04a667b076 Merge pull request #150 from jgarzik/settxfee
Add 'settxfee' RPC, to change TX fee setting at runtime
2011-05-09 11:54:16 -07:00
Gavin Andresen
832fb114a7 Allow move RPC to take account balances negative
Use case:  Customer owes you bitcoins, so you create a payment address
associated with an account with a negative balance (the amount they owe).
When customer pays, that account balance will go to zero.
2011-05-09 14:45:52 -04:00
Jeff Garzik
d9068ad5a1 Add settxfee RPC, to permit setting default TX fee at runtime. 2011-05-09 14:35:30 -04:00
Gavin Andresen
e8adcf88cd Help for sendtoaddress/sendfrom was wrong: amounts are rounded to 0.00000001 2011-05-09 14:26:41 -04:00
Gavin Andresen
91b8932eb1 Merge branch 'master' of github.com:bitcoin/bitcoin 2011-05-09 14:04:24 -04:00
Gavin Andresen
59d18adc4c listtransactions number-of-params check was wrong. 2011-05-09 14:03:54 -04:00
Jeff Garzik
b17be7e14b Manual merge of jaromil's source tree reorg commit.
Conflicts:
	src/sha256.cpp
2011-05-09 14:00:14 -04:00
Gavin Andresen
c0430f42b8 Fix broken build (invalid use of qualified name std::advance) 2011-05-09 13:31:10 -04:00
Gavin Andresen
6244e44999 Merge pull request #160 from CAFxX/listtransactions-from
add parameter "from" to listtransactions (range queries)
2011-05-09 09:42:29 -07:00
Gavin Andresen
752e598a16 Merge pull request #205 from forrestv/caseinsensitive_rpc_headers
Case-Insensitive JSON-RPC HTTP Headers
2011-05-09 09:37:31 -07:00
Forrest Voight
e6ad2c8792 Initial commit of changes to make JSON-RPC HTTP headers case-insensitive, as per RFC 2616 2011-05-08 20:33:46 -04:00
Carlo Alberto Ferraris
ec86134a0d Allow using the [from] parameter also from command-line 2011-05-07 18:34:32 +02:00
Jeff Garzik
2fb1124b0f Merge branch 'remove-4way' of github.com:jgarzik/bitcoin into tmp
Conflicts:
	makefile.unix
2011-05-06 08:04:50 -04:00
Jeff Garzik
4408034bcd Merge pull request #197 from TheBlueMatt/errorfix
Fix GUI crash
2011-05-06 04:33:44 -07:00
Matt Corallo
2f62b1299f When an error is returned, the client crashes as EndModal is called twice.
This fixes that and simply returns instead.  At least GTK won't complain.
2011-05-06 13:32:20 +02:00
Jeff Garzik
62b427ec55 Merge pull request #196 from amiryal/master
Improve UPNP build instructions
2011-05-06 04:24:32 -07:00
Amir Yalon
894031bbd9 Clarify the meaning of USE_UPNP in build-unix.txt 2011-05-06 10:55:38 +03:00
Gavin Andresen
5c4aeb779f Merge pull request #194 from johnmaguire2013/tray
Removed tooltip balance until it's fixed.
2011-05-05 08:17:14 -07:00
Gavin Andresen
5f56b28629 Merge pull request #193 from TheBlueMatt/nogenoption
Remove the option to generate coins from the Options Dialog.
2011-05-05 07:50:57 -07:00
John Maguire
d299c28ecc removed tooltip balance until it can be made to change without opening the UI 2011-05-05 10:49:20 -04:00
Matt Corallo
3451c5a9b3 Remove the option to generate coins from the Options Dialog. 2011-05-05 15:00:49 +02:00
Gavin Andresen
e5577d5541 Fix broken build (remove declarations of GUI generate methods) 2011-05-03 15:02:41 -04:00
Gavin Andresen
b99c23af40 Merge pull request #142 from jgarzik/remove-gui-gen.
Remove GUI 'generate coins' option.
2011-05-03 08:27:45 -07:00
Gavin Andresen
519365cfa5 Merge pull request #173 from gavinandresen/testnet_isstandard.
Accept non-standard transactions on testnet.
2011-05-03 08:24:57 -07:00
Gavin Andresen
8737e1ee20 Merge pull request #190 from johnmaguire2013/tray.
Added balance to tooltip and send coin option to tray menu
2011-05-03 08:16:13 -07:00
Pieter Wuille
fbfbf94deb Merge pull request #178 from wizeman/link-pthread.
Link with libpthread on Linux, required by libboost_thread.
2011-05-01 09:33:40 -07:00
John Maguire
d67cfd146a fixed some translations which was... weird 2011-05-01 10:20:30 -04:00
John Maguire
bd3bd83dda added balance to tooltips 2011-05-01 10:20:29 -04:00
John Maguire
3b7925eb7d added "Send Bitcoins" option in the tray menu 2011-05-01 10:20:28 -04:00
Gavin Andresen
76160f784a Merge pull request #179 from wizeman/segfault-lockfile.
Fix segfault when we're unable to create the lock file.
2011-05-01 06:41:49 -07:00
Gavin Andresen
2296647e01 Merge pull request #181 from sipa/fixcheckconf.
Bugfix in recursive check in IsConfirmed()
2011-05-01 06:41:20 -07:00
Gavin Andresen
249aff45c2 Merge pull request #186 from TheBlueMatt/nopng.
Remove unnecessary line which creates a dependency on wx's png library.
2011-05-01 06:39:31 -07:00
Gavin Andresen
06d9156b8d Merge pull request #187 from devrandom/master.
New gitian descriptor for 0.3.21
2011-05-01 06:38:56 -07:00
Gavin Andresen
ddbc4647fa Bump version number to 0.3.22
Doing this now because I always forget to do it later.
(I'm hoping the next release will actually be 0.4.0)
2011-04-28 14:01:57 -04:00
devrandom
dec289e821 gitian: strip binaries 2011-04-28 11:01:28 -07:00
devrandom
26e0de41c3 gitian descriptor with miniupnpc 2011-04-27 16:26:14 -07:00
Matt Corallo
2d9b9fecd5 Remove unnecessary line which creates a dependency on wx's png library.
This should allow the bitcoin binaries to run on ever so slightly more installs,
specifically those who use a different libpng library (many distros use 1.4 which is imcompatible with 1.2.
2011-04-25 17:00:12 +02:00
Pieter Wuille
be2fa90b94 Bugfix in recursive check in IsConfirmed()
When one single dependency of an unconfirmed transaction is already verified, this does not mean the parent is confirmed. We can skip checking its own dependencies though.
2011-04-23 15:33:52 +02:00
Jaromil
84c3fb07b0 directory re-organization (keeps the old build system)
there is no internal modification of any file in this commit

files are moved into directories according to established standards in
sourcecode distribution; these directories contain:

 src - Files that are used in constructing the executable binaries,
       but are not installed.

 doc - Files in HTML and text format that document usage, quirks of
       the implementation, and contributor checklists.

 locale - Files that contain human language translation of strings
          used in the program

 contrib - Files contributed from distributions or other third party
 	   implementing scripts and auxiliary programs
2011-04-23 12:10:25 +02:00
Ricardo M. Correia
a925c32cca Fix segfault when we're unable to create the lock file. 2011-04-23 01:40:23 +02:00
Ricardo M. Correia
1a5364bd19 Link with libpthread on Linux, required by libboost_thread.
Fixes link failure when using the 'gold' linker.
2011-04-23 01:39:20 +02:00
Gavin Andresen
64ad448adc Better wording for transaction fee notification messages 2011-04-20 18:08:01 -04:00
Gavin Andresen
ca5884873e More 0.3.21 release prep
Bump version number in Windows installer file
Update READMEs.
2011-04-20 14:45:43 -04:00
Gavin Andresen
344888addd Update date in license.txt 2011-04-20 12:03:31 -04:00
Pieter Wuille
8857aeb223 Monitor incoming transactions for spends by (a copy of) your own wallet 2011-04-20 11:39:15 -04:00
Gavin Andresen
5ec05f0a28 Accept non-standard transactions on testnet. 2011-04-20 11:20:33 -04:00
Gavin Andresen
72e962cf55 getbalance '*' was ignoring minconf param. 2011-04-18 20:57:13 -04:00
Pieter Wuille
6a76c60e6c Automatically rescan after restoring wallet.dat
Information about the best known chain is added to wallet.dat. If this
information does not match the data in blkindex.dat, a rescan is automatically
performed, starting from the the last known block. When upgrading from a wallet
which does not have this information, no rescan is done automatically.
2011-04-18 17:37:47 -04:00
Jeff Garzik
e93e5349cb Remove GUI's "Generate Coins" option from the menu.
CPU mining remains available via command line option [until/unless
the community decides to remove that completely].
2011-04-18 15:10:27 -04:00
Gavin Andresen
657cfe721b Merge branch 'upnpfix' of https://github.com/TheBlueMatt/bitcoin 2011-04-18 14:53:13 -04:00
Dan Helfman
f285d4f4f3 Fix for #156: UPnP segfault when no valid UPnP IGDs are found. 2011-04-16 21:58:42 +02:00
Gavin Andresen
bf3a0902ef Merge branch 'master' of https://github.com/gjs278/bitcoin 2011-04-15 12:09:50 -04:00
Gavin Andresen
9a189be740 Merge branch 'localefix' 2011-04-15 12:03:50 -04:00
Gavin Andresen
9ff411f7f7 Set time locale to POSIX in rfc1123Time so weekday/months in http responses are correct. 2011-04-15 12:01:34 -04:00
Gavin Andresen
a381eb8ddb Merge branch 'http-version' of https://github.com/jgarzik/bitcoin 2011-04-15 11:41:39 -04:00
Jeff Garzik
17616eac17 Send/return full bitcoin version string in Server and User-Agent HTTP headers 2011-04-15 03:58:42 -04:00
Jeff Garzik
a584320357 Ensure version number->string conversion is consistent 2011-04-15 03:58:28 -04:00
Carlo Alberto Ferraris
5aef2c0d55 add parameter from to listtransactions this allows querying for ranges, i.e. transactions [from, from+count) 2011-04-15 08:56:54 +02:00
Matt Corallo
973800b52f Exit when no UPnP router found and fUseUPnP gets set to 0. 2011-04-15 00:37:50 +02:00
Dan Loewenherz
d7f0287235 build: add note for Snow Leopard users and fix typos in linking instructions 2011-04-13 13:38:24 -07:00
Gavin Andresen
b37f09aa2e New checkpoint at block 118,000 2011-04-13 14:30:22 -04:00
gjs278
66fb32d267 pidfile support for daemon 2011-04-12 19:15:19 -05:00
Gavin Andresen
485dda9774 Merge branch 'listimmature' of /Users/gavin/src/gavin_btc 2011-04-12 17:31:31 -04:00
Gavin Andresen
d89d456655 Merge branch 'spentpertxout' of https://github.com/sipa/bitcoin 2011-04-12 17:27:15 -04:00
Pieter Wuille
c59b6f704c Bugfix for spentpertxout: slow startup
When starting the client, ReacceptWalletTransaction didn't skip spent transactions in its loop, and processed all old spent transactions again.
2011-04-12 21:01:11 +02:00
Gavin Andresen
79706a8e48 Merge branch 'upnp' of https://github.com/TheBlueMatt/bitcoin 2011-04-12 14:22:12 -04:00
Gavin Andresen
2e8b33824f Merge branch 'spentpertxout' of https://github.com/sipa/bitcoin 2011-04-12 13:31:44 -04:00
Pieter Wuille
aca3f961db select transaction outputs separately
Update to SelectCoins and CreateTransaction to select source transaction outputs separately instead of per whole transaction.
2011-04-12 19:29:36 +02:00
Pieter Wuille
335e878be8 Spent per txout
Change some internal data structures to keep track of spentness of each wallet transaction output separately, to support partially-spent transactions:
* an update to the data structures (vfSpent in CWalletTx instead of fSpent)
* a backward-compatible update to the wallet disk format. Old clients reading back an updated wallet will ignore partially spent transactions when creating new ones, and may report a wrong balance, though.
* some helper functions (CWalletTx: IsSpent, MarkSpent, MarkDirty to reset cached values, GetAvailableCredit which only counts unredeemed outputs)
2011-04-12 19:29:36 +02:00
tcatm
d12ea887bc disable -daemon on windows; bitcoind forks only with -daemon set
[added setsid() call to ui.cpp, to regain consistency with init.cpp -jgarzik]
2011-04-08 23:59:32 -04:00
Jeff Garzik
d98beea894 rfc1123Time: increase buffer size for time string
Make sure we can accomodate all possibilities.
2011-04-08 22:50:14 -04:00
Gavin Andresen
198fd7b0bd Report immature coinbase transactions in listtransactions
Report coin generation transactions as 'category':'immature' until they have 120 confirmations (when they are reported as 'category':'generate', as before).
If the block they are in is not part of the main chain (you lost a 'block race'), then they are reported as 'category':'orphan' (with 0 confirmations).
2011-04-05 21:18:26 -04:00
Eric Swanson
0a4cb86976 Fixed issue 76 -- RPC error where addresses from addressbook's sending tab appear in listaccounts 2011-04-05 20:00:01 -04:00
Gavin Andresen
57b7fe4e6f Merge branch 'deadlock-fixes' of https://github.com/jgarzik/bitcoin 2011-04-05 19:34:06 -04:00
Jeff Garzik
6f074b71bb RPC sendmany must acquire cs_main lock 2011-04-05 15:15:20 -04:00
Jeff Garzik
f5f1878ba1 Fix deadlocks in setaccount, sendfrom RPC calls
SendMoney*() now requires caller to acquire cs_main.
GetAccountAddress() now requires caller to acquire cs_main, cs_mapWallet.

Ordering is intended to match these two callchains[1]:

1. CRITICAL_BLOCK(cs_main)
    ProcessMessage(pfrom, strCommand, vMsg)
        AddToWalletIfMine()
              AddToWallet(wtx)
                  CRITICAL_BLOCK(cs_mapWallet)

2. CRITICAL_BLOCK(cs_main)
    ProcessMessage(pfrom, strCommand, vMsg)
        AddToWalletIfMine()
              AddToWallet(wtx)
                  CRITICAL_BLOCK(cs_mapWallet)
                      walletdb.WriteName(PubKeyToAddress(vchDefaultKey), "")
                          CRITICAL_BLOCK(cs_mapAddressBook)

Spotted by ArtForz.  Additional deadlock fixes by Gavin.

[1] http://www.bitcoin.org/smf/index.php?topic=4904.msg71897#msg71897
2011-04-04 22:24:35 -04:00
Jeff Garzik
b26141e2c5 Remove 4way SSE2 scanhash implementation. 2011-04-03 14:21:52 -04:00
Jeff Garzik
a2b6c1930d Update DNS seed list 2011-04-01 11:33:35 -04:00
Matt Corallo
8bb5edc1c9 Allow UPnP mapping when USE_UPNP is defined and miniupnpc is installed at build time(statically linked).
Thanks joepie91 for the translation of the new copyright notices into Dutch.
Thanks sipa for the translation of the new copyright notices into French.
Thanks megu for the translation of the new copyright notices into Spanish.
Thanks justmoon/Blitzboom for the translation of the new copyright notices into German.
Thanks Joozero for the translation of the new copyright notices into Italian.
Remaining translations were provided by Google Translate.
2011-03-30 20:45:56 +02:00
tcatm
454bc86479 allow coredumps by not catching SIGSEGV 2011-03-25 13:23:43 +01:00
Jeff Garzik
3a47bf7265 Merge branch 'master' of git://github.com/bitcoin/bitcoin 2011-03-23 18:28:50 -04:00
Jeff Garzik
8203ec4b11 [locale] Regenerate es, nl binary message catalogs 2011-03-23 18:27:09 -04:00
Jeff Garzik
0b8e4738f9 Merge branch 'master' of https://github.com/smola/bitcoin into tmp 2011-03-23 18:21:22 -04:00
Jeff Garzik
d38e683a6f Merge branch 'dutchloc' of https://github.com/sipa/bitcoin into tmp 2011-03-23 18:21:10 -04:00
tcatm
c3f140033c catch SIGINT, SIGHUP and SIGSEGV and shutdown cleanly 2011-03-23 18:27:30 +01:00
tcatm
1c09a4adb2 daemon-mode: add sleep() loop to prevent defunct child process, call setsid() in child 2011-03-21 12:11:05 +01:00
Sven Slootweg
a07dca7cd2 Updated dutch translation 2011-03-19 00:58:16 +01:00
Gavin Andresen
b7ebc662eb Update copyright in About box from 2010 to 2011 2011-03-17 15:09:41 +01:00
Santiago M. Mola
f30dabb2ac Update Spanish translation. 2011-03-16 20:56:03 +01:00
Jeff Garzik
e2e5f5cd9d Fix -logtimestamps to only print time prefix once per output line
Incorporate BlueMatt's fix to only timestamp upon new line, and
move -logtimestamp checking outside OutputDebugPrintF() to better
future-proof it.
2011-03-16 15:42:04 -04:00
Gavin Andresen
27b7f3b43a Merge branch 'shy' 2011-03-14 09:15:06 -04:00
Gavin Andresen
4b88647966 Merge branch 'dns-seed' of https://github.com/jgarzik/bitcoin 2011-03-13 17:15:59 -04:00
Gavin Andresen
d43fd8a038 Merge branch 'log-timestamp' of https://github.com/TheBlueMatt/bitcoin 2011-03-13 17:15:57 -04:00
Gavin Andresen
2abd56f428 Merge branch 'limitfree' of /Users/gavin/src/integration_btc 2011-03-13 17:15:44 -04:00
Gavin Andresen
1bf9b3b06f Merge branch 'daemon-mode' of https://github.com/tcatm/bitcoin 2011-03-13 17:15:34 -04:00
Gavin Andresen
dfd059173d Merge branch 'subcent-change' of https://github.com/tcatm/bitcoin 2011-03-13 17:15:28 -04:00
Gavin Andresen
b931ed8563 sendmany RPC command, to send to multiple recipients in one transaction. 2011-03-13 17:11:49 -04:00
Gavin Andresen
88abf70386 Make sure rate-limiting code is thread-safe 2011-03-13 14:38:07 -04:00
Gavin Andresen
5de8b54c51 Continuously rate-limit free transactions.
Changed algorithm to use continuous exponential function instead of discrete 10-minute window.
Changed -limitfreerelay to be kilobytes-per-minute instead of boolean.
2011-03-13 13:38:09 -04:00
tcatm
f4f2987273 remove from/message field from uiproject 2011-03-13 18:35:39 +01:00
Jeff Garzik
8f58d0dbc8 Merge branch 'smalltxfix' of https://github.com/gavinandresen/bitcoin-git into tmp 2011-03-10 14:32:19 -05:00
Jeff Garzik
12e091842f Merge branch 'master' of https://github.com/devrandom/bitcoin into tmp 2011-03-10 12:58:49 -05:00
Gavin Andresen
81d3b1c825 Update copyright in About box from 2010 to 2011 2011-03-10 10:50:46 -05:00
Gavin Andresen
32fb5dfef7 Bump version number to 0.3.21 (lest we forget) 2011-03-10 10:50:46 -05:00
Matt Corallo
ca221e6c21 Only log timestamps if -logtimestamps is set. 2011-03-09 21:48:11 +01:00
Matt Corallo
fe460d47b0 Add timestamp prefix to each line in the debug log (this time with human-readable times) 2011-03-09 19:53:40 +01:00
Jeff Garzik
448b4516ff dnsseed: fix printf 2011-03-08 22:55:29 -05:00
Jeff Garzik
f684aec4f3 DNS seeding 2011-03-08 22:40:50 -05:00
Gavin Andresen
cbc920d474 shy patch from Hal 2011-03-05 17:13:07 -05:00
tcatm
b104df742d Merge branch 'TheBlueMatt-setaccountfix' into integration 2011-03-05 17:26:14 +01:00
tcatm
8e5aaada2e Merge branch 'setaccountfix' of https://github.com/TheBlueMatt/bitcoin into TheBlueMatt-setaccountfix 2011-03-05 17:24:34 +01:00
Matt Corallo
c1f74f152b throw JSONRPCError(-5, "Invalid bitcoin address") instead. 2011-03-05 16:45:56 +01:00
Matt Corallo
279ab5e62f setaccount should return if an invalid address is provided.
This prevents setaccount from creating new accounts which do not have any addresses.
2011-03-05 15:32:32 +01:00
tcatm
e1205e4d15 -help: do not show -server and -daemon in bitcoind 2011-03-03 22:34:13 +01:00
tcatm
ea7cd31751 force fDaemon in bitcoind 2011-03-03 22:31:44 +01:00
tcatm
a79409afa9 fix whitespace 2011-03-03 22:27:20 +01:00
tcatm
dda48ccd0f fix -daemon switch 2011-03-03 22:26:00 +01:00
Gavin Andresen
f36b494aeb Make send/receive limits bigger (10MB each) 2011-03-03 16:25:05 -05:00
Gavin Andresen
395c1f44bd Fix minimum transaction fee calculation mismatch between CreateTransaction and CreateBlock 2011-03-02 16:27:24 -05:00
Gavin Andresen
411493b1f7 Merge branch 'rounding' 2011-03-02 15:03:49 -05:00
Luke Dashjr
a14bf1946d Bugfix: avoid sub-cent change (lost in fees) whenever possible 2011-03-01 02:10:07 +01:00
Gavin Andresen
8a9cad44a5 Avoid sprintf decimal-point localization 2011-02-28 21:34:36 +00:00
tcatm
6665aca024 fix missing newline in help 2011-02-28 04:53:22 +01:00
tcatm
c993ac6932 Merge branch 'rounding' of https://github.com/gavinandresen/bitcoin-git into gavinandresen-rounding 2011-02-26 04:37:13 +01:00
Matt Giuca
a357424a25 Added .gitignore, which prevents 'bitcoin' and 'bitcoind' from showing up in git. 2011-02-26 11:50:23 +11:00
tcatm
5078a54b52 Merge branch 'mgiuca-wx-config' into integration 2011-02-26 00:59:55 +01:00
Matt Giuca
84711b18bc build-unix.txt: Updated (now OK to use wxWidgets > 2.9.0). 2011-02-26 09:17:49 +11:00
Matt Giuca
84778a5b46 makefile.unix: Fixed errors building bitcoind without wxWidgets installed.
WXINCLUDEPATHS and WXLIBS now assigned with '=' instead of ':='.
    This means they are only evaluated on-demand, and they will never be
    requested by 'make bitcoind', so it won't try to call wx-config.
2011-02-26 09:12:42 +11:00
Matt Giuca
3415b15a56 makefile.unix: WXINCLUDEPATHS now only used for building GUI object files.
Moved it out of CXXFLAGS and into the command-line for the GUI objects.
    It will no longer be invoked for non-GUI and crypto object files.
2011-02-26 09:10:10 +11:00
Matt Giuca
8314b7f5e6 makefile.unix: Removed redundant use of wx-config in DEFS (it was being included twice).
Also changed wx-config --cppflags to --cxxflags. I am not sure what the
    difference is supposed to be, but --cppflags does not include -pthread.
2011-02-26 08:58:15 +11:00
Matt Giuca
32e94947dc Merge https://github.com/ojab/bitcoin into wx-config 2011-02-26 08:45:38 +11:00
Gavin Andresen
b0ad55a08a ParseMoney: allow full precision 2011-02-23 16:26:15 -05:00
Gavin Andresen
87504abb07 FormatMoney: show full-precision values 2011-02-23 16:01:17 -05:00
Gavin Andresen
789259d2e7 Do not round input amounts; allow RPC full precision. 2011-02-23 14:41:19 -05:00
Gavin Andresen
83b9f42796 Use ValueFromAmount consistently 2011-02-23 14:24:16 -05:00
Gavin Andresen
ccd7fe8de5 Bump version to 0.3.20.02 2011-02-23 14:12:20 -05:00
tcatm
2175c9dae1 Set SO_REUSEADDR on JSON port 2011-02-23 01:08:27 +01:00
tcatm
10e135af70 Merge branch 'master' of https://github.com/sandos/bitcoin into sandos-master 2011-02-23 01:07:43 +01:00
tcatm
4d9b223ac2 remove From/Message fields from SendDialog 2011-02-23 00:48:30 +01:00
tcatm
6696beed45 Merge branch 'master' of https://github.com/tcatm/bitcoin into tcatm-master 2011-02-22 03:00:09 +01:00
Gavin Andresen
d787e00a3b Changed setup for mingw toolchain 2011-02-18 10:39:24 -05:00
Gavin Andresen
e6e87891a9 Windows mingw32 makefile and build notes (thanks m0mchil) 2011-02-18 09:49:00 -05:00
Gavin Andresen
930a07c3f5 Bump version to 0.3.20.01 2011-02-17 19:22:08 -05:00
devrandom
0d0bd331ae move gitian descriptor file 2011-02-17 01:53:52 -08:00
Gavin Andresen
5a3e82f9f5 Set maxconnections default to 125 2011-02-16 14:43:04 -05:00
Gavin Andresen
9cbae55a6e Denial-of-service flood control
Drop connections that are either sending messages too fast to handle or are processing messages so slowly data starts to back up.
Adds two new options:
  -maxreceivebuffer  Default: 2000 (2000*1000 bytes)
  -maxsendbuffer     Default: 256  (256*1000 bytes)
2011-02-16 13:18:11 -05:00
Gavin Andresen
cf7c1874fe Update windows build process for 0.3.20 release 2011-02-14 17:26:24 +00:00
Gavin Andresen
47908a8907 Visual C++ compatibility fixes 2011-02-10 19:24:22 -05:00
sandos
8fd402bfcf Set SO_REUSEADDR for JSON-RPC port 2011-02-10 09:25:42 +01:00
Daniel Folkinshteyn
d2e2cb0d27 Added 320 fresh seednodes to replace the old ones.
Thanks to MagicalTux for providing the data for node uptime
Thanks to sgornick for scapy script to test node connectivity

Closes https://github.com/bitcoin/bitcoin/issues#issue/22
2011-02-07 14:06:17 +01:00
David FRANCOIS
98ba262a48 Reset testnet with a new genesis block 2011-02-03 14:21:21 +01:00
devrandom
768b41017c add gitian build descriptor 2011-02-01 09:27:14 -08:00
Gavin Andresen
bd7d9140f9 new checkpoint at block 105,000 2011-01-31 11:26:02 -05:00
tcatm
b1ca5eb58a do not create 'Your Address' account 2011-01-31 17:13:02 +01:00
ojab
f0b7952caa 1. Change hardcoded g++ to $(CXX)
2. Change CFLAGS to CXXFLAGS
3. Add binaries to clean target
4. Generate wxWidgets includes/ldflags/etc from wx-config
2011-01-31 15:07:55 +03:00
Gavin Andresen
b1a657a00d Explicitly state that make -f makfile.unix is the way to build 2011-01-25 09:29:13 -05:00
Chris Moore
d9711a5798 Don't scan the time offsets vector repeatedly once we've displayed the warning that the user's clock may be wrong. 2011-01-24 16:25:41 -08:00
Chris Moore
10abe4f26e Repeatedly resetting the timestamp for seed nodes in the database was slow. Only update the database if it's a real change. 2011-01-24 14:47:36 -08:00
Gavin Andresen
84e7ad922b Bump version number to 0.3.20 2011-01-24 11:13:25 -05:00
Chris Moore
4698dd9a02 Fix -maxconnections. It used to account for the 8 outbound connections twice when calculating the number of slots left for incoming connections. 2011-01-23 00:08:09 -08:00
Gavin Andresen
c90ea2bd6d cpuid instruction clobbers eax/ebx/ecx/edx 2011-01-22 16:04:07 -05:00
Chris Moore
fdec7fe203 Merge branch show-version-in-help-2 of https://github.com/dooglus/bitcoin 2011-01-21 12:14:20 -08:00
Chris Moore
18cb92ab18 Merge branch 'display-version-in-help' of https://github.com/mhanne/bitcoin 2011-01-21 12:09:32 -08:00
Chris Moore
86c0af514b Merge branch 'rpcssl-help' of github.com:dooglus/bitcoin into dooglus-rpcssl-help 2011-01-21 11:59:56 -08:00
Chris Moore
2aadc8bb5b The -rpcssl command line option is a boolean, like -server, -daemon, -testnet, etc. Specifying -rpcssl=1 is the same as just -rpcssl, as for any other boolean flag, so let's show it the same in the help text. 2011-01-21 10:14:33 -08:00
Gavin Andresen
ae42d69d72 Updated development process description 2011-01-21 10:52:48 -05:00
Chris Moore
5284e1b60e Add const bool VERSION_IS_BETA to serialize.h and use it when formatting the version string. Show the version string in --help text too. 2011-01-21 02:37:34 -08:00
Gavin Andresen
05563e9ef2 Add -rescan option to --help output 2011-01-20 16:29:07 -05:00
Gavin Andresen
458cf9070b Merge branch 'printtoconsole' of https://github.com/dooglus/bitcoin into integration 2011-01-20 16:22:33 -05:00
Gavin Andresen
245e1b4fdb Merge branch '4wayswitch' of https://github.com/dooglus/bitcoin into integration 2011-01-20 16:21:59 -05:00
Gavin Andresen
87c1947d49 Merge branch 'showdefaultsinhelp' of https://github.com/dooglus/bitcoin into integration 2011-01-20 16:20:11 -05:00
Chris
8b8d59eefb Don't use GetBoolArg() and mapArgs; use one or the other. 2011-01-20 12:26:33 -08:00
Gavin Andresen
dbe79d3451 Fix bus error in DebugPrint if -datadir given non-existent directory. 2011-01-20 14:57:46 -05:00
Chris
10152506fe The --help text wasn't showing the default values for three of the options, as follows:
-rpcport (default: 8332)
    -rpcconnect (default: 127.0.0.1)
    -keypool (default: 100)

Edited the --help text to include the defaults.
2011-01-20 11:49:29 -08:00
Chris
aaac71d38f Add new command line argument "-printtoconsole" to send debugging output to the console instead of to debug.log. The code for this was already in place, but there was no way other than editing the source and rebuilding to turn it on. 2011-01-20 11:45:01 -08:00
Gavin Andresen
415535e47b Merge branch 'fix-statusbar-color' of https://github.com/mhanne/bitcoin into FIXES 2011-01-20 14:20:52 -05:00
Gavin Andresen
3475caf8f5 Merge branch 'issue34' of https://github.com/dooglus/bitcoin into FIXES 2011-01-20 14:18:51 -05:00
Gavin Andresen
f1307515b7 print -rescan timing info in debug.log 2011-01-20 14:12:10 -05:00
Chris
ab931be45b Fix issue 34: correct spelling of -rpcsslcertificatechainfile in --help text. 2011-01-20 10:49:44 -08:00
Gavin Andresen
d9574c2f14 Reconcile getbalance and listaccounts 0 in the shared-wallet case
If you copied your wallet and used it on two different machines, the balance reported by getbalance and the sum(listaccounts) could disagree, because you might receive payments for an address that is in your wallet but not your address book.  Now all such transactions are credited to the default empty-string account.
2011-01-20 13:10:01 -05:00
Gavin Andresen
1d23c74361 ReacceptWalletTransactions bugfix
Fix two bugs that can happen if you copy your wallet to another machine
and perform transactions on both.

First, ReacceptWalletTransactions would notice if the other wallet spent coins, and
would correctly mark the receiving transaction spent.  However, it did not add the spending
transaction to the wallet.  Now it does.

Second, account balances could get out of sync with 'getbalance' because coins received
by the other copy of the wallet were not necessarily detected.  Now ReacceptWalletTransactions
will scan the entire blockchain for transactions that should be in the wallet if it runs
across a 'spent in the other wallet' transaction.

Finally, there was a small bug in the accounts getbalance code-- generated coins with between
100 and 119 confirmations were not being counted in the balance of account "".
2011-01-19 16:50:20 -05:00
Marius Hanne
0654e1c4ef include version information in help output 2011-01-19 22:49:12 +01:00
Marius Hanne
ed4e8830d7 don't set statusbar background color
people with dark system theme otherwise have white text on light-grey bg
2011-01-19 01:27:58 +01:00
Gavin Andresen
c9f70b381d Merge branch 'integration' into FIXES 2011-01-18 14:46:46 -05:00
Gavin Andresen
b4671902f2 Merge branch 'listaccountsbug' of https://github.com/gavinandresen/bitcoin-git into integration 2011-01-18 14:35:50 -05:00
Gavin Andresen
76e97c4002 Merge branch 'gettransaction' of https://github.com/gavinandresen/bitcoin-git into integration 2011-01-18 14:35:03 -05:00
Gavin Andresen
1aefe491fb Merge branch 'setaccountbug' of https://github.com/gavinandresen/bitcoin-git into integration 2011-01-18 14:33:18 -05:00
David FRANCOIS
04a9217dcf Add the -keypool option description to help output 2011-01-14 20:55:36 +01:00
Gavin Andresen
fa446a563e Fix setaccount/getaccountaddress interaction bug
See https://github.com/bitcoin/bitcoin/issues#issue/29
2011-01-13 20:04:56 -05:00
Gavin Andresen
2eb09b66ef Fix so listaccounts with minconf works. 2011-01-10 13:54:39 -05:00
Gavin Andresen
80be6e69a9 Add account/address details to gettransaction output 2011-01-07 14:10:08 -05:00
Gavin Andresen
009d5fb41f Merge branch 'listaddresses' into integration 2011-01-06 08:56:10 -05:00
Gavin Andresen
f86655fddd Add time to category:move transactions. 2011-01-05 09:52:52 -05:00
Gavin Andresen
0ded557af6 Merge branch 'listaddresses' of https://github.com/gavinandresen/bitcoin-git 2011-01-03 14:45:49 -05:00
Witchspace
72b9861635 don't advertise on IRC if we don't allow external connections 2010-12-24 10:25:21 +01:00
Witchspace
5f88e8887a add -nolisten command line option 2010-12-22 14:08:00 +01:00
Gavin Andresen
ddb68acebe Add address to listtransactions output 2010-12-21 13:39:10 -05:00
Gavin Andresen
2d96276e24 EndModal fix for Mac from piotrp 2010-12-20 12:51:26 -05:00
Gavin Andresen
86c2bdfd5d EndModal fix for Mac from piotrp 2010-12-20 10:36:48 -05:00
Gavin Andresen
cba3a1741a Straw-man for dev process 2010-12-19 10:39:36 -05:00
Gavin Andresen
5568d82c26 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-12-17 16:23:47 -05:00
gavinandresen
1c0bf23ba2 Missed a int64_t cast when I added transaction time output
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@205 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-12-17 20:16:27 +00:00
Gavin Andresen
8250760617 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-12-16 13:24:47 -05:00
gavinandresen
59948a6e1c listtransactions was reporting address instead of account for 'receive'
setgenerate true 0  is now the same as setgenerate false
And return transaction time



git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@204 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-12-16 18:17:26 +00:00
Gavin Andresen
55c43da5d8 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-12-16 11:36:47 -05:00
gavinandresen
809ee79592 New RPC command: listaccounts. New RPC setting -rpctimeout. And listtransactions '*'
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@203 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-12-16 01:06:03 +00:00
s_nakamoto
629e37dde1 get external ip from irc
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@202 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-12-15 22:43:51 +00:00
Gavin Andresen
bc530fe89f Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-12-13 14:28:59 -05:00
s_nakamoto
fc73ad644f -- version 0.3.19 release
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@201 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-12-13 16:26:14 +00:00
Gavin Andresen
9c17a685bd Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-12-12 16:03:42 -05:00
s_nakamoto
986b5e257e correction
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@200 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-12-12 18:38:02 +00:00
s_nakamoto
97ee01ad89 added some DoS limits, removed safe mode
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@199 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-12-12 18:20:36 +00:00
Gavin Andresen
d12e53ea09 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-12-08 20:06:44 -05:00
s_nakamoto
8220180133 -- version 0.3.18 release
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@198 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-12-08 23:23:48 +00:00
gavinandresen
a206a23980 IsStandard() check for CScripts: only relay/include in blocks CScripts we can understand.
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@197 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-12-07 13:43:31 +00:00
Gavin Andresen
0a87c91692 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-12-06 18:58:31 -05:00
s_nakamoto
865c3a2383 fix wallet.dat compatibility problem if you downgrade from 0.3.17 and then upgrade again
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@196 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-12-06 15:59:28 +00:00
s_nakamoto
f03304a9c7 preps for future client-only mode,
jgarzik's initial download speedup

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@195 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-12-05 09:29:30 +00:00
gavinandresen
bdde31d787 All boolean options/flags now work the same way.
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@194 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-12-03 19:38:09 +00:00
Gavin Andresen
0575c0a667 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-12-01 09:20:49 -05:00
gavinandresen
bfd471f53e JSON methods: listtransactions, gettransaction, move, sendfrom and getbalance <account>
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@193 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-30 18:58:11 +00:00
Gavin Andresen
6f8ba620c2 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-11-28 10:56:51 -05:00
s_nakamoto
84d7c981dc added boost tuples to serialize.h
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@192 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-27 23:12:41 +00:00
s_nakamoto
24324d83e8 -- version 0.3.17 release
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@191 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-25 20:41:57 +00:00
s_nakamoto
b7ccd48dd8 still working on account-based commands getbalance, move and sendfrom, they're only for testing for now
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@190 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-25 16:40:25 +00:00
Gavin Andresen
94073ecf7b Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-11-23 15:01:34 -05:00
s_nakamoto
776d0f3459 new getwork
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@189 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-23 19:16:36 +00:00
Gavin Andresen
262430f705 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-11-22 11:34:13 -05:00
gavinandresen
e4ff4e6898 Depracate "label" API, replacing with account
New RPC methods: move, sendfrom
Change to getbalance (now takes optional [account] argument)
Renamed methods with "label" in their names.
sendtoaddress returns hexadecimal transaction ID instead of "sent".



git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@188 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-22 15:53:20 +00:00
Gavin Andresen
593f74b9cb Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-11-22 00:06:42 -05:00
s_nakamoto
298a771494 added transaction fee setting in UI options menu,
cut free transaction area from 50KB to 26KB

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@187 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-21 22:46:19 +00:00
Gavin Andresen
2d8b65e837 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-11-21 15:48:48 -05:00
s_nakamoto
51d9b435cd small bugfix
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@186 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-20 02:12:03 +00:00
s_nakamoto
f35e21e2e4 require some minimal priority for free transactions to slow down transaction spam
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@185 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-19 23:37:05 +00:00
s_nakamoto
683bcb9154 efficiently sort transaction dependencies in one pass
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@184 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-19 20:22:46 +00:00
Gavin Andresen
11c570cfb4 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-11-17 20:51:36 -05:00
gavinandresen
c4679ad0f1 OutputDebugStringF fix for Mac FileVault problem, take 3
(cannot use a CRITICAL_BLOCK because of undefined order calling static destructors;
instead, keep debug.log open, and tell people to use copytruncate when doing
log rotation)


git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@183 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-18 00:11:33 +00:00
gavinandresen
2f7a9997c8 Make OutputDebugStringF thread-safe again (thanks ArtForz for catching)
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@182 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-16 17:41:44 +00:00
Gavin Andresen
8595d31ee8 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-11-16 09:04:24 -05:00
gavinandresen
026c5f7617 Re-open debug.log every ten minutes instead of every printf; fixes performance problem with Mac FileVault.
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@181 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-16 02:32:36 +00:00
gavinandresen
222e3de4be Update websites used for GetMyExternalIP
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@180 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-15 21:37:33 +00:00
s_nakamoto
910bd45756 -- version 0.3.15 release
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@179 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-14 00:06:10 +00:00
Gavin Andresen
a0cd439788 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-11-10 11:45:51 -05:00
gavinandresen
838e8c9166 Add paytxfee to getinfo output
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@178 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-10 16:43:31 +00:00
Gavin Andresen
695aa2d5a2 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-11-09 17:10:43 -05:00
s_nakamoto
e2a186af10 SelectCoins first pass tries not to use coins with less than 6 confirmations
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@177 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-09 19:47:07 +00:00
Gavin Andresen
5d4b0c9026 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-11-08 18:05:34 -05:00
s_nakamoto
461764cbbe -paytxfee is now per KB,
BitcoinMiner prioritise transactions by how old their dependencies are

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@176 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-08 22:06:07 +00:00
Gavin Andresen
de374ba6b1 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-11-03 20:24:50 -04:00
gavinandresen
3b8848fa4e Fix IsInitialBlockDownload if running on testnet
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@175 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-04 00:23:00 +00:00
gavinandresen
3cac997e19 Prevent double-sends from quick double-button-clicks
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@174 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-11-03 23:40:43 +00:00
Gavin Andresen
be7eecafd2 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-10-23 21:32:19 -04:00
s_nakamoto
c891967b6f bugfixes from Dean Gores,
addr system changes,
make sure no gen before block 74000

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@173 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-23 17:43:53 +00:00
Gavin Andresen
2ea321d85a Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-10-22 11:23:12 -04:00
gavinandresen
c285051c08 testnet and keypoololdest added to RPC getinfo output. And RPC now sends proper HTTP Date headers.
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@172 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-22 15:15:20 +00:00
s_nakamoto
2ce73dbe85 -- version 0.3.14 release
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@171 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-21 16:47:16 +00:00
Gavin Andresen
07c46dac87 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-10-20 12:35:35 -04:00
s_nakamoto
d9c6b09ac4 Gavin Andresen: multiple instance check, -testnet use port 18333
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@170 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-20 16:12:23 +00:00
gavinandresen
2ea5fa0710 validateaddress RPC command
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@169 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-20 15:58:16 +00:00
Gavin Andresen
bcd88403e2 Update README now that main svn has -testnet built in 2010-10-19 16:43:50 -04:00
Gavin Andresen
d1e4a866ad Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-10-19 14:17:18 -04:00
s_nakamoto
5cbf75324d Gavin's TEST network as -testnet switch, misc fixes
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@168 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-19 17:16:51 +00:00
Gavin Andresen
2bda554be4 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-10-14 16:46:16 -04:00
gavinandresen
2fad3d34b7 makefile.unix tweak from Xunie so bitcoind links on Ubuntu 10.04 x86_64
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@167 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-14 13:33:03 +00:00
Gavin Andresen
cc8005b4e7 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-10-11 15:15:09 -04:00
gavinandresen
77cd030ac3 Fixed description of -rpcuser/-rpcpassword options.
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@166 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-11 18:32:33 +00:00
gavinandresen
ed54768f5f -rpcssl=1 option, allowing secure HTTPS JSON-RPC connections on OSX/Unix.
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@165 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-11 18:23:41 +00:00
s_nakamoto
83082f04a4 dkaparis: boost::bind build fix for c++0x
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@164 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-11 15:12:17 +00:00
Gavin Andresen
687c5ef794 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-10-09 17:59:38 -04:00
s_nakamoto
103849419a key pool for safer wallet backup
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@163 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-09 19:33:35 +00:00
Gavin Andresen
7d5d89856d Merge remote branch 'remotes/svn/trunk' into svn 2010-10-06 21:20:16 -04:00
s_nakamoto
0a27bd065e updated Russian translation
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@162 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-06 15:43:04 +00:00
Gavin Andresen
1b5e57e935 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-10-05 23:27:30 -04:00
s_nakamoto
b22c884231 recursive function to determine if own unconfirmed transaction can be spent
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@161 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-06 02:19:47 +00:00
Gavin Andresen
a2ae4a8a0f Merge remote branch 'remotes/svn/trunk' into svn 2010-10-05 14:14:17 -04:00
s_nakamoto
dc8adc3b48 Russian translation by eurekafag
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@160 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-10-04 01:40:50 +00:00
Gavin Andresen
5ccee900a0 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-10-01 11:25:09 -04:00
s_nakamoto
178152f604 fixed linux build,
dkaparis: _WIN32_WINNT 0x500
-- version 0.3.13 release

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@159 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-30 23:54:15 +00:00
Gavin Andresen
369010406e Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-09-30 14:28:23 -04:00
s_nakamoto
a790fa46f4 don't count or spend payments until they have 1 confirmation,
misc cleanup,
changed internal version number from 312 to 31300
-- version 0.3.13

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@158 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-30 16:23:07 +00:00
Gavin Andresen
6ce5af574f Merge commit 'svn/trunk' into svn 2010-09-23 18:15:51 +00:00
Gavin Andresen
81b2d877fb Update README.md 2010-09-23 18:06:50 +00:00
Gavin Andresen
3764c12b1f Merge remote branch 'svn/trunk' into svn 2010-09-23 13:14:52 -04:00
s_nakamoto
9b8eb4d690 changed free transactions per block threshold
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@157 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-23 16:01:44 +00:00
s_nakamoto
8d13ca1f11 changed free transactions per block threshold
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@157 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-23 16:01:44 +00:00
Gavin Andresen
645cc8cf49 Add branch README.md 2010-09-23 14:56:43 +00:00
Gavin Andresen
1c21b7943d Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-09-19 19:29:03 -04:00
s_nakamoto
172f006020 only accept transactions sent by IP address if -allowreceivebyip is specified
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@156 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-19 21:20:34 +00:00
s_nakamoto
6aeb45187b only accept transactions sent by IP address if -allowreceivebyip is specified
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@156 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-19 21:20:34 +00:00
Gavin Andresen
a43a7dfa58 Merge remote branch 'remotes/svn/trunk' into svn 2010-09-15 22:31:09 -04:00
s_nakamoto
efae3da41d config option -rpcallowip= to accept json-rpc connections from another machine
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@155 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-15 22:10:13 +00:00
s_nakamoto
fe37c35018 config option -rpcallowip= to accept json-rpc connections from another machine
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@155 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-15 22:10:13 +00:00
Gavin Andresen
4b36f34d6d Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-09-15 10:47:41 -04:00
s_nakamoto
3df62878c3 reorganize BitcoinMiner to make it easier to add different SHA256 routines
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@154 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-13 22:14:24 +00:00
s_nakamoto
71cc095cb2 reorganize BitcoinMiner to make it easier to add different SHA256 routines
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@154 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-13 22:14:24 +00:00
Gavin Andresen
43e4a2a289 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-09-13 10:46:31 -04:00
s_nakamoto
fdbf76d4f4 dropped DB_PRIVATE from dbenv.open
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@153 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-12 17:30:15 +00:00
s_nakamoto
c8ad9b8375 dropped DB_PRIVATE from dbenv.open
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@153 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-12 17:30:15 +00:00
Gavin Andresen
41016bfc46 Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-09-10 19:18:27 -04:00
s_nakamoto
c39b06866e fix build on non-intel architectures, thanks teknohog
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@152 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-10 18:07:48 +00:00
s_nakamoto
2323664a37 fix build on non-intel architectures, thanks teknohog
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@152 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-10 18:07:48 +00:00
s_nakamoto
4968232490 fix problem sending the last cent with sub-cent fractional change
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@151 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-10 16:58:59 +00:00
s_nakamoto
00728c24e7 fix problem sending the last cent with sub-cent fractional change
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@151 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-10 16:58:59 +00:00
Gavin Andresen
90e165aa0c Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-09-09 14:26:53 -04:00
s_nakamoto
7629d36a53 try to auto-detect whether to use 128-bit 4-way SSE2
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@150 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-09 01:00:40 +00:00
s_nakamoto
8555125a1a try to auto-detect whether to use 128-bit 4-way SSE2
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@150 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-09 01:00:40 +00:00
s_nakamoto
3f64753779 Gavin Andresen: clean shutdown on SIGTERM
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@149 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-08 19:24:32 +00:00
s_nakamoto
14002c8eba Gavin Andresen: clean shutdown on SIGTERM
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@149 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-08 19:24:32 +00:00
Gavin Andresen
a2120986ff Merge remote branch 'refs/remotes/svn/trunk' into svn 2010-09-06 21:51:27 -04:00
s_nakamoto
f1e1fb4bde cleanup,
catch some recoverable exceptions and continue

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@148 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-07 01:12:53 +00:00
s_nakamoto
8c9479c6bb cleanup,
catch some recoverable exceptions and continue
-- version 0.3.12 release

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@148 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-07 01:12:53 +00:00
Gavin Andresen
6690680538 Merge remote branch 'remotes/svn/trunk' into svn 2010-09-06 19:05:27 -04:00
s_nakamoto
d743f03552 Gavin Andresen: json-rpc return standard error objects with error code numbers,
json-rpc command line client return exit code,
added rpc backupwallet command

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@147 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-09-06 21:03:04 +00:00
Gavin Andresen
2742fdfda2 Merge remote branch 'remotes/svn/trunk' into svn 2010-09-02 13:42:31 -04:00
s_nakamoto
0a61b0df12 propset svn:eol-style native
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@146 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-29 16:58:15 +00:00
Satoshi Nakamoto
343328c6b8 added -testsafemode switch
-- version 0.3.11 release
2010-08-28 00:55:50 +00:00
Satoshi Nakamoto
d3631907d6 change switch name to -disablesafemode 2010-08-28 00:55:19 +00:00
Satoshi Nakamoto
87cfcfd374 more rpc methods allowed in safe mode 2010-08-28 00:54:37 +00:00
Satoshi Nakamoto
522dfe3422 alert system
-- version 0.3.11
2010-08-28 00:51:52 +00:00
Satoshi Nakamoto
c545563d46 warning message if clock is too far off 2010-08-28 00:50:40 +00:00
Satoshi Nakamoto
7a37c906a1 block index checking on load, extra redundant checks, misc refactoring 2010-08-28 00:49:30 +00:00
s_nakamoto
5b721607b1 added -testsafemode switch
-- version 0.3.11 release

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@145 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-25 17:53:09 +00:00
s_nakamoto
2ef9cfa5b8 change switch name to -disablesafemode
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@144 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-25 16:33:38 +00:00
s_nakamoto
7d7797b141 more rpc methods allowed in safe mode
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@143 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-25 14:18:56 +00:00
s_nakamoto
401926283a alert system
-- version 0.3.11

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@142 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-25 00:05:37 +00:00
s_nakamoto
2201a0808e warning message if clock is too far off
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@141 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-20 16:55:14 +00:00
s_nakamoto
05454818dc block index checking on load, extra redundant checks, misc refactoring
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@140 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-19 22:43:19 +00:00
Satoshi Nakamoto
43deefa435 do an extra CheckBlock in ConnectBlock 2010-08-16 20:55:54 +00:00
Satoshi Nakamoto
21ca2d833b erase the bad chain after disconnecting it 2010-08-16 20:54:47 +00:00
Satoshi Nakamoto
bb3fd02930 blocks-1,
verify block chain on load, so wouldn't have needed to delete blk*.dat, it would have done a reorg automatically
2010-08-16 20:53:49 +00:00
Satoshi Nakamoto
c923cdbd5b wrap sha256.cpp in FOURWAYSSE2 #ifdef 2010-08-16 20:52:36 +00:00
Satoshi Nakamoto
019b456605 added -march=amdfam10 to sha256.cpp in makefile.unix 2010-08-16 20:51:46 +00:00
Satoshi Nakamoto
7d489192fd makefile.unix to build with option to enable tcatm's 4-way SSE2 SHA-256 with -4way switch on Linux 2010-08-16 20:50:37 +00:00
s_nakamoto
44a0de1861 do an extra CheckBlock in ConnectBlock
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@139 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-16 18:46:02 +00:00
s_nakamoto
a01d5876fa erase the bad chain after disconnecting it
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@138 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-16 17:51:10 +00:00
s_nakamoto
15399da9fe blocks-1,
verify block chain on load, so wouldn't have needed to delete blk*.dat, it would have done a reorg automatically

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@137 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-16 17:05:50 +00:00
s_nakamoto
6da916d4ac wrap sha256.cpp in FOURWAYSSE2 #ifdef
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@136 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-16 13:37:00 +00:00
s_nakamoto
e540144b2e added -march=amdfam10 to sha256.cpp in makefile.unix
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@135 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-16 13:11:32 +00:00
Satoshi Nakamoto
76793dc969 fix for block 74638 overflow output transaction 2010-08-15 23:09:29 +00:00
Satoshi Nakamoto
6ac7f9f144 misc changes 2010-08-15 23:06:05 +00:00
s_nakamoto
08fee75201 makefile.unix to build with option to enable tcatm's 4-way SSE2 SHA-256 with -4way switch on Linux
-- version 0.3.10 release

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@134 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-15 22:46:58 +00:00
s_nakamoto
85de7d7c0c scanback check to prevent adding to the 74638 overflow chain
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@133 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-15 22:21:03 +00:00
s_nakamoto
d4c6b90ca3 fix for block 74638 overflow output transaction
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@132 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-15 21:35:24 +00:00
s_nakamoto
4bd188c438 misc changes
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@131 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-15 21:05:16 +00:00
Gavin Andresen
2d12315c94 Quick fix: bad block 74,652 2010-08-15 20:28:01 +00:00
Satoshi Nakamoto
7f71fd13ae fix -datadir=./subdir relative path,
autostart off by default except on windows,
fix occasional "vector iterator not dereferencable" assertion with msvc,
fix readlink compile warning on linux build,
use sys/param.h and BSD define instead of __BSD__,
-paytxfee switch
2010-08-13 02:23:46 +00:00
s_nakamoto
01cd2fdaf3 fix -datadir=./subdir relative path,
autostart off by default except on windows,
fix occasional "vector iterator not dereferencable" assertion with msvc,
fix readlink compile warning on linux build,
use sys/param.h and BSD define instead of __BSD__,
-paytxfee switch

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@130 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-12 21:13:43 +00:00
Satoshi Nakamoto
819adfff6f fix build, thanks jgarzik 2010-08-12 13:28:22 +00:00
Satoshi Nakamoto
f5d2bc8a36 disable SSE2 on 32-bit 2010-08-12 13:26:20 +00:00
Satoshi Nakamoto
9db7bf5f52 gethashespersec and added version and hashespersec to getinfo 2010-08-12 13:23:02 +00:00
Satoshi Nakamoto
410b618d18 json-spirit print reals with 8 decimal places,
bitcoind help <command> instead of bitcoind <command> -?
2010-08-12 13:20:57 +00:00
s_nakamoto
4287732797 fix build, thanks jgarzik
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@129 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-11 01:38:24 +00:00
s_nakamoto
0cff7a8aa7 disable SSE2 on 32-bit
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@128 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-10 23:43:37 +00:00
s_nakamoto
fb83d28768 gethashespersec and added version and hashespersec to getinfo
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@127 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-10 22:55:23 +00:00
s_nakamoto
342e1b7338 json-spirit print reals with 8 decimal places,
bitcoind help <command> instead of bitcoind <command> -?

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@126 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-10 19:21:17 +00:00
Satoshi Nakamoto
c2fa70ddfd always make 8 outbound connections even if have inbound,
limit one outbound connection per a.b.?.? range,
switch -maxconnections=#
2010-08-10 16:03:01 +00:00
Satoshi Nakamoto
8a38d5663a enable SSE2 in all builds to fix crypto++ SHA-256 on 64-bit 2010-08-10 16:01:23 +00:00
Satoshi Nakamoto
dd9e71843b correct typo for mac compile, update makefile to use llvm 2010-08-10 15:57:38 +00:00
s_nakamoto
94cfec07fd always make 8 outbound connections even if have inbound,
limit one outbound connection per a.b.?.? range,
switch -maxconnections=#

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@125 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-09 20:00:17 +00:00
s_nakamoto
e6b7ab5749 enable SSE2 in all builds to fix crypto++ SHA-256 on 64-bit
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@124 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-09 19:54:40 +00:00
laszloh
0c50722270 correct typo for mac compile, update makefile to use llvm
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@123 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-04 04:15:38 +00:00
Satoshi Nakamoto
b34e8c3c36 new safety feature displays a warning message and locks down RPC if it detects a problem that may require an upgrade
-- version 0.3.8
2010-08-04 01:51:34 +00:00
s_nakamoto
2c06be915d new safety feature displays a warning message and locks down RPC if it detects a problem that may require an upgrade
-- version 0.3.8

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@122 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-08-03 18:25:05 +00:00
Satoshi Nakamoto
73aa262647 fixed segfault in bignum.h, additional security limits, refactoring
-- version 0.3.7
2010-07-31 20:12:05 +00:00
s_nakamoto
6ff5f718b6 fixed segfault in bignum.h,
additional security limits,
refactoring
-- version 0.3.7

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@121 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-31 19:15:48 +00:00
--author=Satoshi Nakamoto
e1cb7ce017 simplified makefile.unix, updated build-unix.txt instructions to include boost 1.37 2010-07-31 14:14:41 +00:00
s_nakamoto
01bed1828b simplified makefile.unix, updated build-unix.txt instructions to include boost 1.37
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@120 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-30 23:22:55 +00:00
s_nakamoto
757f0769d8 reverted makefile.unix wx-config -- version 0.3.6
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@119 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-29 20:27:12 +00:00
s_nakamoto
17b2740289 Fredrik Roubert: simplified makefile.unix with wx-config,
misc

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@118 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-29 15:34:48 +00:00
s_nakamoto
f6f8237a74 fixed makefile.osx
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@117 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-28 21:17:35 +00:00
s_nakamoto
0bd084011a fixed makefile.vc
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@116 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-28 21:11:09 +00:00
s_nakamoto
f79751c299 better IsInitialBlockDownload
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@115 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-27 19:43:04 +00:00
s_nakamoto
813505cc13 added a subset of Crypto++ 5.6.0 with 48% faster ASM SHA-256, combined speedup 2.5x faster vs 0.3.3, thanks BlackEye for figuring out the alignment problem
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@114 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-27 18:14:32 +00:00
s_nakamoto
520f367319 tcatm's cached SHA256 state idea, about 70% faster generating
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@113 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-27 01:14:33 +00:00
s_nakamoto
793200e5e9 bitcoind now compiles without wxWidgets or wxBase
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@112 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-26 17:15:18 +00:00
s_nakamoto
6966768a55 Gavin: BIO_FLAGS_BASE64_NO_NL
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@111 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-25 21:49:21 +00:00
s_nakamoto
7d46f9250c Lachesis: remove newlines every 64 characters in EncodeBase64
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@110 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-25 21:29:07 +00:00
s_nakamoto
3b7cd5d89a Gavin Andresen's JSON-RPC HTTP authentication,
faster initial block download
-- version 0.3.3

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@109 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-25 16:45:21 +00:00
s_nakamoto
e8bff10f07 minor UI tweaks, removed some outdated txt files,
(and json-rpc password -rpcpw= switch, which we're going to revert)

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@108 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-18 20:47:29 +00:00
s_nakamoto
ae922a36a4 security safeguards,
limited addr messages
-- version 0.3.2

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@107 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-17 23:51:16 +00:00
s_nakamoto
673a6d15d9 version 0.3.1 release
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@106 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-16 23:12:58 +00:00
s_nakamoto
0bbc812f48 Spanish translation by milkiway,
French translation by aidos

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@105 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-15 19:11:51 +00:00
s_nakamoto
d01eaf0421 version 0.3.1 rc1
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@104 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-15 16:46:46 +00:00
s_nakamoto
a30b56ebe7 fix openssl linkage problems,
disable minimize to tray on Linux because it has too many problems including a CPU peg bug

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@103 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-15 00:18:45 +00:00
s_nakamoto
6e5d67e827 switched from wxStandardPaths to GetDefaultDataDir, fixes bug reported by m0mchil when username contains non-lower-ASCII characters
-- version 0.3.1

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@102 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-09 15:29:48 +00:00
s_nakamoto
20c6bfad1e Gavin Andresen: implementation of autostart on system startup option on Linux
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@101 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-09 02:11:50 +00:00
s_nakamoto
50d49d9c2e Portuguese translation by Tiago Faria
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@100 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-08 18:07:14 +00:00
s_nakamoto
d882773789 Laszlo's fix to make generate threads idle priority on Linux,
replaced some wxBase dependencies: wxMutex, wxFileExists, wxStandardPaths, wxGetLocalTimeMillis

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@99 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-08 16:14:56 +00:00
s_nakamoto
d77eac25b2 version 0.3 release
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@97 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-04 06:15:06 +00:00
s_nakamoto
f077bc0f48 reduced max outbound connections from 15 to 8 --version 0.3 rc4
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@96 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-07-02 23:43:29 +00:00
s_nakamoto
06c4716396 version 0.3 rc2
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@95 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-06-26 15:47:45 +00:00
s_nakamoto
8700fae12a build-unix.txt: updated a few version numbers
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@94 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-06-26 00:23:16 +00:00
s_nakamoto
340120853f updated build-unix.txt instructions: sudo apt-get install libboost-all-dev
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@93 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-06-24 16:07:51 +00:00
s_nakamoto
3c3fc50c79 added instructions to build-unix.txt for building wxBase, which is needed to compile bitcoind
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@92 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-06-23 22:51:31 +00:00
s_nakamoto
6344edc36f version 0.3 rc1
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@91 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-06-22 17:59:00 +00:00
s_nakamoto
445520bf38 added new files to setup.nsi, updated version numbers
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@90 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-06-22 16:28:15 +00:00
s_nakamoto
8efd8f7f47 re-enable hiding taskbar button on minimize on linux, though it doesn't work cleanly
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@89 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-06-22 03:45:37 +00:00
s_nakamoto
36bb88e1b9 fix system tray icon on windows
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@88 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-06-21 18:41:34 +00:00
s_nakamoto
161c38ba60 80x80 xpm icon for ubuntu, alignment tweaked to scale nicely to 20x20 and 16x16
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@87 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-06-21 17:11:26 +00:00
s_nakamoto
68b973a913 fixed colors on ubuntu lucid,
enabled -O2 in makefile.unix,
boost removed -mt from their library names in 1.40,
updated bitcoin icon,
hashmeter,
generated and hashmeter log entries
-- version 0.2.13

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@86 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-06-21 01:33:44 +00:00
s_nakamoto
24ba1b64e9 use seed nodes as fallback if IRC fails or with TOR
-- version 0.2.12

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@85 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-06-18 03:14:24 +00:00
s_nakamoto
6a4a35549b German translation by DataWraith
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@84 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-06-16 16:35:34 +00:00
s_nakamoto
e5681bb121 more addr message error checking
-- version 0.2.11

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@83 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-06-15 18:26:32 +00:00
s_nakamoto
bed005b639 revert makefile.unix from -02 back to -00 to fix compile on linux, -02 doesn't really help on linux anyway
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@82 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-06-14 22:34:33 +00:00
s_nakamoto
f93d5f9ffe automatically change displayed address whenever it receives anything,
added help and -? for daemon command line rpc commands,
only relay addr messages to 5 random nodes to save bandwidth,
started setting wtx.fFromMe flag,
trickle out tx inventory messages to protect privacy
 -- version 0.2.10

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@81 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-06-10 23:10:30 +00:00
s_nakamoto
2ca1758832 Dutch translation by Xunie (93% complete)
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@80 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-06-02 22:10:06 +00:00
s_nakamoto
1da44d2e96 Italian translation by Joozero
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@79 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-05-27 14:11:03 +00:00
s_nakamoto
42605ce8bc better prevention of inventory relaying during initial download,
message checksum between nodes with 0.2.9 or higher,
optimization level up from -O0 to -O2,
rpc functions: setlabel, getlabel, getaddressesbylabel, getreceivedbyaddress, getreceivedbylabel, listreceivedbyaddress, listreceivedbylabel
 -- version 0.2.9

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@78 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-05-26 00:05:26 +00:00
s_nakamoto
124baa4ccb build-osx.txt build instructions and makefile.osx from Laszlo
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@77 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-05-25 23:58:27 +00:00
s_nakamoto
2d98de1b3a Mac OS build fixes by laszlo
-- version 0.2.8

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@76 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-05-19 00:26:56 +00:00
s_nakamoto
966cca4bd4 misc
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@75 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-03-05 02:55:09 +00:00
s_nakamoto
2cffa7ce31 fixed runaway memory alloc bug on 64-bit in ParseString found by sirius-m
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@74 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-03-05 01:13:27 +00:00
s_nakamoto
d7d80a74d5 fix unsafe string handling in wxGetTranslation
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@73 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-28 15:00:32 +00:00
s_nakamoto
6557910ccf wx/utils.h and wx/clipbrd.h not needed on bitcoind wxbase build
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@72 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-26 16:09:43 +00:00
s_nakamoto
c2430126d7 GUI-less build target bitcoind that links to wxBase and shouldn't need GTK,
split init and shutdown from ui.cpp into init.cpp,
support wxUSE_GUI=0
-- version 0.2.7

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@71 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-25 21:55:27 +00:00
s_nakamoto
cb420a1dfc run as daemon without GUI,
hooked wxApp::Initialize to ignore gtk-init-check failure if no GUI,
fork to daemonize,
rpc getinfo, getconnectioncount, getbalance, getgenerate, setgenerate,
-- version 0.2.6

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@70 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-23 22:01:39 +00:00
s_nakamoto
0184604aaf transaction filter tabs instead of view->show generated
-- version 0.2.5

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@69 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-21 21:42:01 +00:00
s_nakamoto
75199de534 Address Book with tabs instead of separate Your Address book,
with live update of default address in main window, 
New... button on main window for creating new receiving address, 
made receiving address labels more visible, 
ask user before paying transaction fee, 
when sending to bitcoin address also use a bitcoin address for the change, 
added some event.Skip() to fix UI glitches 
-- version 0.2.4

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@68 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-20 21:59:59 +00:00
s_nakamoto
c6ab3cf6d9 safer wxGetTranslation wrapper
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@67 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-17 23:55:43 +00:00
s_nakamoto
e480659765 all builds are now with wxWidgets-2.9.0, we are now using UTF-8,
added support for language translation file locale/<lang>/LC_MESSAGES/bitcoin.mo 
-- version 0.2.2

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@66 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-17 17:22:01 +00:00
s_nakamoto
2b63e68bbf fix mingw makefile to use correct wxWidgets include,
this is the last version of makefile and makefile.vc for wxWidgets-2.8

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@65 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-15 20:36:55 +00:00
s_nakamoto
5253d1ab77 strip out unfinished product, review and market stuff,
enable _() instead of wxT() in uiproject.fbp so it uses wxGetTranslation for the wxFormBuilder generated part of the UI

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@64 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-15 04:03:07 +00:00
s_nakamoto
64a474a49b renamed a few rpc methods
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@63 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-14 22:27:13 +00:00
s_nakamoto
c4319e678f Workaround for bug on wxWidgets 2.9.0 Ubuntu 9.10 64-bit where first character of the hidden columns were displayed so status column had three numbers overprinted. Fixed by adding a leading space to the hidden columns. 64-bit compile with wxWidgets 2.9.0 seems to be fully working normally now.
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@62 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-14 00:08:27 +00:00
s_nakamoto
c85dfb148a updated build-unix.txt
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@61 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-13 02:09:07 +00:00
s_nakamoto
98500d70a8 command line and JSON-RPC first draft, requires Boost 1.35 or higher for boost::asio,
added SetBitcoinAddress and GetBitcoinAddress methods on CScript, 
critsect interlocks around mapAddressBook, 
added some random delays in tx broadcast to improve privacy, 
now compiles with MSVC 8.0

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@60 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-12 20:38:44 +00:00
s_nakamoto
fa9dbd6b62 better error message in check_type(), tell the types by name instead of by number
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@59 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-10 19:46:04 +00:00
s_nakamoto
75990a46a7 JSON Spirit library from http://www.codeproject.com/KB/recipes/JSON_Spirit.aspx, MIT license
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@58 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-10 19:41:22 +00:00
s_nakamoto
c41226d847 revert revision 56, going in different direction with boost::asio and JSON-RPC
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@57 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-10 19:33:04 +00:00
sirius-m
082e725b33 Added some basic IPC functionality using wxServer, wxClient and wxConnection.
Added the -blockamount command line option for an example of usage.


git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@56 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-04 15:31:46 +00:00
s_nakamoto
53d508072b update fSpent flag on wallet transactions if they're seen spent in case copy of wallet.dat was used elsewhere or restored from backup,
better error dialog box if try to spend already spent coins, 
got rid of unused notebook with only one tab on main dialog, 
nicer looking About dialog, 
resize About dialog better on linux

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@55 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-02-03 22:58:40 +00:00
s_nakamoto
8be979d9ae now compiles on 64-bit Ubuntu Karmic with wxWidgets-2.9.0,
fixes for wxWidgets-2.9.0, 
added superfluous GetEventHandler()'s, 
there's still a bug on wx2.9.0 that the status number is mashed up for some reason otherwise seems to run fine

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@54 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-01-28 21:49:20 +00:00
s_nakamoto
cb0f89646f simplify AddAddress,
readcompactsize limit, 
fixed a 64-bit compile error in serialize.h, 
change status "# blocks" to "# confirmations" and widen the column.

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@53 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2010-01-28 00:31:00 +00:00
s_nakamoto
9a36562347 command line switch -noui
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@52 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-12-17 23:16:27 +00:00
s_nakamoto
312c2c42b6 a few header changes for freebsd from madhatter
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@51 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-12-17 18:15:50 +00:00
s_nakamoto
e2c2648c14 filter out duplicate getblocks and don't relay inv messages during initial block download -- 0.2 rc2
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@49 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-12-14 02:12:01 +00:00
s_nakamoto
adb50ffe32 misc
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@48 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-12-13 02:34:45 +00:00
s_nakamoto
e899779450 restrict file permissions on linux to the user only
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@47 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-12-13 02:13:43 +00:00
s_nakamoto
e39bc50eb4 misc exit code, updated setup.nsi
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@46 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-12-13 00:13:16 +00:00
s_nakamoto
651d335569 misc
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@45 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-12-11 17:19:51 +00:00
s_nakamoto
4ea3f3da1a retry IRC if name in use,
resize to fit ubuntu's giant default font, 
scroll debug.log, 
pause gen during initial block download

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@44 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-12-11 16:49:21 +00:00
s_nakamoto
b075bbf986 misc
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@43 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-12-06 00:38:11 +00:00
s_nakamoto
107d9e288d fix transaction fee bug in CreateTransaction, higher size cutoff for free transactions in GetMinFee
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@42 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-12-06 00:29:09 +00:00
s_nakamoto
52f4cb4859 minor fix to batched initial download in case requester has more than 500 block non-main branch
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@41 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-11-24 21:04:50 +00:00
s_nakamoto
c5c7911dab bugfix Db::open/close and zombie sockets bugs fix double-close of socket handle,
keep databases open,
close db cursors,
initial block download in batches of 500 blocks,
fix misc warnings,
subver linux-test8

git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@40 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-11-18 19:19:41 +00:00
s_nakamoto
b349e3dca8 misc compile error
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@39 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-11-14 18:04:08 +00:00
s_nakamoto
70e79525c9 monitor ThreadSocketHandler and terminate and restart if hung, convert _beginthread to CreateThread wrapper, disconnect inactive connections, ping, break up long messages to speed up initial download, better priorities for initiating connections, track how many nodes have requested our blocks and transactions, status #/offline and warning message on unsent blocks, minimize on close as separate option -- linux-test5
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@38 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-11-13 01:23:08 +00:00
s_nakamoto
956468c29a Get local host IP on Linux, Shutdown() a little cleaner -- linux-0.1.6-test1 waypoint
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@37 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-11-08 04:24:52 +00:00
s_nakamoto
b4e235f9f2 ui tweaks, multiple xpm icon sizes
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@36 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-11-07 18:51:41 +00:00
s_nakamoto
8b4cefd324 UI tweaks, use BindListenPort to detect instance already running, setsockopt(SO_REUSEADDR) so can bind during TIME_WAIT after exit and restart
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@35 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-11-07 05:05:03 +00:00
s_nakamoto
8acda009d9 UIThreadCall, ThreadSafeMessageBox
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@34 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-11-06 18:53:26 +00:00
s_nakamoto
300d4608f2 got rid of CheckForShutdown, replaced some thread-unsafe wxWidgets calls, Linux fixes, socket send MSG_NOSIGNAL, bind INADDR_ANY, works reliably on Linux now except if wxMessageBox is used in a thread other than the GUI thread
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@33 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-11-06 05:50:05 +00:00
s_nakamoto
e4c05d3177 unix build merged in, bitmap resources from xpm instead of rc, better addr relay, better selection of addrs by time last seen for faster connect
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@32 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-11-05 04:41:36 +00:00
s_nakamoto
b7362c07ae renamed build.txt to build-msw.txt
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@28 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-11-04 04:58:46 +00:00
s_nakamoto
4ac57f013e move debug.log and db.log to data dir, portable GetDataDir, optimize GetBalance, fix repaint bogdown, -addnode and -? switches
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@25 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-11-01 01:16:51 +00:00
sirius-m
5750932cdf added wx/stdpaths.h
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@24 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-10-31 09:52:24 +00:00
sirius-m
fe9f3d626d Linux alternatives for the Windows headers and PerformanceCounter. Some typedefs and #defines for the Linux build. Fixed GetDataDir.
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@23 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-10-31 09:11:43 +00:00
s_nakamoto
32d490313b make CheckDiskSpace portable
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@22 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-10-30 00:57:05 +00:00
sirius-m
a0c17c03eb setup script removes startup shortcut and runs with highest exec level
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@21 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-10-30 00:45:35 +00:00
s_nakamoto
e8474beb6f better wallet.dat flush, consolidated QueryPerformanceCounter, PRI64d printf portability
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@20 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-10-29 20:10:46 +00:00
s_nakamoto
dc73b326f9 CCriticalSection using wxWidgets instead of Windows OS calls
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@19 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-10-29 05:55:56 +00:00
s_nakamoto
dd519206a6 addr relaying fixes, proxy option and privacy patches, detect connect to self, non-final tx locktime changes, fix hide unconfirmed generated
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@18 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-10-29 02:52:48 +00:00
s_nakamoto
fa2a0338d3 fix display of new generated coins, fix assertion in bitcoinminer
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@17 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-10-25 04:35:01 +00:00
sirius-m
e39dfe8ea6 Removed autorun regkey creation
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@16 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-10-24 16:50:39 +00:00
s_nakamoto
99cef996c7 flush wallet.dat, multi-proc, reorg options, revert to startup folder shortcut
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@15 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-10-21 01:08:05 +00:00
sirius-m
0cc05617d1 Fixed the installer script and made the autostart registry based.
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@14 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-10-04 11:38:29 +00:00
sirius-m
661f878002 Added NSIS installer generation script
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@13 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-10-03 17:02:59 +00:00
sirius-m
429187c6a8 Startup folder shortcut opens the program minimized. Restoring a minimized-to-tray window works correctly.
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@12 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-10-03 11:52:21 +00:00
sirius-m
6d97df0e99 startup shortcut works
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@11 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-10-02 10:14:05 +00:00
sirius-m
dba0fd9b6a tray icon + ask before closing
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@10 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-09-24 04:09:56 +00:00
sirius-m
8dca7864f7 No dll's here
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@8 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-09-16 13:26:04 +00:00
sirius-m
465e1d99f2 Added changelog.txt
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@2 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-08-30 03:50:53 +00:00
sirius-m
e071a3f6c0 First commit
git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@1 1a98c847-1fd6-4fd8-948a-caf3550aa51b
2009-08-30 03:46:39 +00:00
176 changed files with 33506 additions and 16604 deletions

11
.gitignore vendored Normal file
View File

@@ -0,0 +1,11 @@
src/*.exe
src/bitcoin
src/bitcoind
.*.swp
*.*~*
*.bak
*.rej
*.orig
*.o
*.patch
.bitcoin

View File

@@ -1,4 +1,4 @@
Copyright (c) 2009-2010 Satoshi Nakamoto
Copyright (c) 2009-2011 Bitcoin Developers
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

1
README Symbolic link
View File

@@ -0,0 +1 @@
README.md

30
README.md Normal file
View File

@@ -0,0 +1,30 @@
Bitcoin integration/staging tree
Development process
===================
Developers work in their own trees, then submit pull requests when
they think their feature or bug fix is ready.
If it is a simple/trivial/non-controversial change, then one of the
bitcoin development team members simply pulls it.
If it is a more complicated or potentially controversial
change, then the patch submitter will be asked to start a
discussion (if they haven't already) on the mailing list:
http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development
The patch will be accepted if there is broad consensus that it is a
good thing. Developers should expect to rework and resubmit patches
if they don't match the project's coding conventions (see coding.txt)
or are controversial.
The master branch is regularly built and tested, but is not guaranteed
to be completely stable. Tags are regularly created to indicate new
official, stable release versions of Bitcoin. If you would like to
help test the Bitcoin core, please contact QA@BitcoinTesting.org.
Feature branches are created when there are major new features being
worked on by several people.

201
base58.h
View File

@@ -1,201 +0,0 @@
// Copyright (c) 2009-2010 Satoshi Nakamoto
// Distributed under the MIT/X11 software license, see the accompanying
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
//
// Why base-58 instead of standard base-64 encoding?
// - Don't want 0OIl characters that look the same in some fonts and
// could be used to create visually identical looking account numbers.
// - A string with non-alphanumeric characters is not as easily accepted as an account number.
// - E-mail usually won't line-break if there's no punctuation to break at.
// - Doubleclicking selects the whole number as one word if it's all alphanumeric.
//
static const char* pszBase58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
inline string EncodeBase58(const unsigned char* pbegin, const unsigned char* pend)
{
CAutoBN_CTX pctx;
CBigNum bn58 = 58;
CBigNum bn0 = 0;
// Convert big endian data to little endian
// Extra zero at the end make sure bignum will interpret as a positive number
vector<unsigned char> vchTmp(pend-pbegin+1, 0);
reverse_copy(pbegin, pend, vchTmp.begin());
// Convert little endian data to bignum
CBigNum bn;
bn.setvch(vchTmp);
// Convert bignum to string
string str;
str.reserve((pend - pbegin) * 138 / 100 + 1);
CBigNum dv;
CBigNum rem;
while (bn > bn0)
{
if (!BN_div(&dv, &rem, &bn, &bn58, pctx))
throw bignum_error("EncodeBase58 : BN_div failed");
bn = dv;
unsigned int c = rem.getulong();
str += pszBase58[c];
}
// Leading zeroes encoded as base58 zeros
for (const unsigned char* p = pbegin; p < pend && *p == 0; p++)
str += pszBase58[0];
// Convert little endian string to big endian
reverse(str.begin(), str.end());
return str;
}
inline string EncodeBase58(const vector<unsigned char>& vch)
{
return EncodeBase58(&vch[0], &vch[0] + vch.size());
}
inline bool DecodeBase58(const char* psz, vector<unsigned char>& vchRet)
{
CAutoBN_CTX pctx;
vchRet.clear();
CBigNum bn58 = 58;
CBigNum bn = 0;
CBigNum bnChar;
while (isspace(*psz))
psz++;
// Convert big endian string to bignum
for (const char* p = psz; *p; p++)
{
const char* p1 = strchr(pszBase58, *p);
if (p1 == NULL)
{
while (isspace(*p))
p++;
if (*p != '\0')
return false;
break;
}
bnChar.setulong(p1 - pszBase58);
if (!BN_mul(&bn, &bn, &bn58, pctx))
throw bignum_error("DecodeBase58 : BN_mul failed");
bn += bnChar;
}
// Get bignum as little endian data
vector<unsigned char> vchTmp = bn.getvch();
// Trim off sign byte if present
if (vchTmp.size() >= 2 && vchTmp.end()[-1] == 0 && vchTmp.end()[-2] >= 0x80)
vchTmp.erase(vchTmp.end()-1);
// Restore leading zeros
int nLeadingZeros = 0;
for (const char* p = psz; *p == pszBase58[0]; p++)
nLeadingZeros++;
vchRet.assign(nLeadingZeros + vchTmp.size(), 0);
// Convert little endian data to big endian
reverse_copy(vchTmp.begin(), vchTmp.end(), vchRet.end() - vchTmp.size());
return true;
}
inline bool DecodeBase58(const string& str, vector<unsigned char>& vchRet)
{
return DecodeBase58(str.c_str(), vchRet);
}
inline string EncodeBase58Check(const vector<unsigned char>& vchIn)
{
// add 4-byte hash check to the end
vector<unsigned char> vch(vchIn);
uint256 hash = Hash(vch.begin(), vch.end());
vch.insert(vch.end(), (unsigned char*)&hash, (unsigned char*)&hash + 4);
return EncodeBase58(vch);
}
inline bool DecodeBase58Check(const char* psz, vector<unsigned char>& vchRet)
{
if (!DecodeBase58(psz, vchRet))
return false;
if (vchRet.size() < 4)
{
vchRet.clear();
return false;
}
uint256 hash = Hash(vchRet.begin(), vchRet.end()-4);
if (memcmp(&hash, &vchRet.end()[-4], 4) != 0)
{
vchRet.clear();
return false;
}
vchRet.resize(vchRet.size()-4);
return true;
}
inline bool DecodeBase58Check(const string& str, vector<unsigned char>& vchRet)
{
return DecodeBase58Check(str.c_str(), vchRet);
}
static const unsigned char ADDRESSVERSION = 0;
inline string Hash160ToAddress(uint160 hash160)
{
// add 1-byte version number to the front
vector<unsigned char> vch(1, ADDRESSVERSION);
vch.insert(vch.end(), UBEGIN(hash160), UEND(hash160));
return EncodeBase58Check(vch);
}
inline bool AddressToHash160(const char* psz, uint160& hash160Ret)
{
vector<unsigned char> vch;
if (!DecodeBase58Check(psz, vch))
return false;
if (vch.empty())
return false;
unsigned char nVersion = vch[0];
if (vch.size() != sizeof(hash160Ret) + 1)
return false;
memcpy(&hash160Ret, &vch[1], sizeof(hash160Ret));
return (nVersion <= ADDRESSVERSION);
}
inline bool AddressToHash160(const string& str, uint160& hash160Ret)
{
return AddressToHash160(str.c_str(), hash160Ret);
}
inline bool IsValidBitcoinAddress(const char* psz)
{
uint160 hash160;
return AddressToHash160(psz, hash160);
}
inline bool IsValidBitcoinAddress(const string& str)
{
return IsValidBitcoinAddress(str.c_str());
}
inline string PubKeyToAddress(const vector<unsigned char>& vchPubKey)
{
return Hash160ToAddress(Hash160(vchPubKey));
}

View File

@@ -1,114 +0,0 @@
Copyright (c) 2009-2010 Satoshi Nakamoto
Distributed under the MIT/X11 software license, see the accompanying
file license.txt or http://www.opensource.org/licenses/mit-license.php.
This product includes software developed by the OpenSSL Project for use in
the OpenSSL Toolkit (http://www.openssl.org/). This product includes
cryptographic software written by Eric Young (eay@cryptsoft.com).
WINDOWS BUILD NOTES
===================
Compilers Supported
-------------------
MinGW GCC (recommended)
MSVC 6.0 SP6: You'll need Boost version 1.34 because they dropped support
for MSVC 6.0 after that. However, they didn't add Asio until 1.35.
You should still be able to build with MSVC 6.0 by adding Asio to 1.34 by
unpacking boost_asio_*.zip into the boost directory:
http://sourceforge.net/projects/asio/files/asio
MSVC 8.0 (2005) SP1 has been tested. Note: MSVC 7.0 and up have a habit of
linking to runtime DLLs that are not installed on XP by default.
Dependencies
------------
Libraries you need to download separately and build:
default path download
wxWidgets-2.9 \wxwidgets http://www.wxwidgets.org/downloads/
OpenSSL \openssl http://www.openssl.org/source/
Berkeley DB \db http://www.oracle.com/technology/software/products/berkeley-db/index.html
Boost \boost http://www.boost.org/users/download/
Their licenses:
wxWidgets LGPL 2.1 with very liberal exceptions
OpenSSL Old BSD license with the problematic advertising requirement
Berkeley DB New BSD license with additional requirement that linked software must be free open source
Boost MIT-like license
Versions used in this release:
MinGW GCC 3.4.5
wxWidgets 2.9.0
OpenSSL 0.9.8k
Berkeley DB 4.7.25.NC
Boost 1.42.1
Notes
-----
The UI layout is edited with wxFormBuilder. The project file is
uiproject.fbp. It generates uibase.cpp and uibase.h, which define base
classes that do the rote work of constructing all the UI elements.
The release is built with GCC and then "strip bitcoin.exe" to strip the debug
symbols, which reduces the executable size by about 90%.
wxWidgets
---------
cd \wxwidgets\build\msw
make -f makefile.gcc
or
nmake -f makefile.vc
OpenSSL
-------
Bitcoin does not use any encryption. If you want to do a no-everything
build of OpenSSL to exclude encryption routines, a few patches are required.
(instructions for OpenSSL v0.9.8k)
Edit engines\e_gmp.c and engines\e_capi.c and add this #ifndef around
the openssl/rsa.h include:
#ifndef OPENSSL_NO_RSA
#include <openssl/rsa.h>
#endif
Edit ms\mingw32.bat and replace the Configure line's parameters with this
no-everything list. You have to put this in the batch file because batch
files can't take more than nine command line parameters.
perl Configure mingw threads no-rc2 no-rc4 no-rc5 no-idea no-des no-bf no-cast no-aes no-camellia no-seed no-rsa no-dh
Also REM out the following line in ms\mingw32.bat after the mingw32-make
line. The build fails after it's already finished building libeay32, which
is all we care about, but the failure aborts the script before it runs
dllwrap to generate libeay32.dll.
REM if errorlevel 1 goto end
Build
cd \openssl
ms\mingw32.bat
If you want to use it with MSVC, generate the .lib file
lib /machine:i386 /def:ms\libeay32.def /out:out\libeay32.lib
Berkeley DB
-----------
Using MinGW and MSYS:
cd \db\build_unix
sh ../dist/configure --enable-mingw --enable-cxx
make
Boost
-----
download bjam.exe from
http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=72941
cd \boost
bjam toolset=gcc --build-type=complete stage
or
bjam toolset=msvc --build-type=complete stage

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDisplayName</key>
<string>Bitcoin</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>bitcoin</string>
<key>CFBundleIdentifier</key>
<string>org.bitcoin.bitcoin</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Bitcoin</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.4.00</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>400</string>
<key>LSMinimumSystemVersion</key>
<string>10.5</string>
<key>CFBundleIconFile</key>
<string>BitcoinAppIcon.icns</string>
<key>LSMultipleInstancesProhibited</key>
<true/>
</dict>
</plist>

View File

@@ -0,0 +1,38 @@
---
name: "boost"
suites:
- "lucid"
architectures:
- "i386"
packages:
- "mingw32"
- "faketime"
- "zip"
reference_datetime: "2011-01-30 00:00:00"
remotes: []
files:
- "boost_1_47_0.tar.bz2"
script: |
TMPDIR="$HOME/tmpdir"
mkdir -p $TMPDIR/bin/$GBUILD_BITS $TMPDIR/include
tar xjf boost_1_47_0.tar.bz2
cd boost_1_47_0
echo "using gcc : 4.4 : i586-mingw32msvc-g++
:
<rc>i586-mingw32msvc-windres
<archiver>i586-mingw32msvc-ar
<cxxflags>-frandom-seed=boost1
;" > user-config.jam
./bootstrap.sh --without-icu
./bjam toolset=gcc target-os=windows threadapi=win32 threading=multi variant=release link=static --user-config=user-config.jam --without-mpi --without-python -sNO_BZIP2=1 -sNO_ZLIB=1 --layout=tagged --build-type=complete $MAKEOPTS stage
for lib in chrono date_time exception filesystem graph iostreams math_c99f math_c99l math_c99 math_tr1f math_tr1l math_tr1 prg_exec_monitor program_options random regex serialization signals system test_exec_monitor thread_win32 unit_test_framework wave wserialization; do
mkdir $lib
(cd $lib ; ar xf ../stage/lib/libboost_${lib}-mt-s.a)
mv $lib $TMPDIR/bin/$GBUILD_BITS
done
cp -a boost $TMPDIR/include
cd $TMPDIR
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
zip -r boost-win32-1.47.0-gitian.zip *
cp boost-win32-1.47.0-gitian.zip $OUTDIR

View File

@@ -0,0 +1,92 @@
---
name: "bitcoin"
suites:
- "lucid"
architectures:
- "i386"
packages:
- "mingw32"
- "git-core"
- "unzip"
- "nsis"
- "faketime"
- "wine"
reference_datetime: "2011-01-30 00:00:00"
remotes:
- "url": "https://github.com/bitcoin/bitcoin.git"
"dir": "bitcoin"
files:
- "wxwidgets-win32-2.9.2-gitian.zip"
- "boost-win32-1.47.0-gitian.zip"
- "openssl-1.0.0d.tar.gz"
- "db-4.8.30.NC.tar.gz"
- "miniupnpc-1.6.tar.gz"
script: |
#
mkdir wxWidgets-2.9.2
cd wxWidgets-2.9.2
mkdir lib
unzip ../wxwidgets-win32-2.9.2-gitian.zip
cd bin/$GBUILD_BITS
for lib in wx_mswu; do
i586-mingw32msvc-ar rc ../../lib/lib${lib}-2.9-i586-mingw32msvc.a $lib/*.o
i586-mingw32msvc-ranlib ../../lib/lib${lib}-2.9-i586-mingw32msvc.a
done
cp -a wx ../../lib
cd ../..
mv include/wx-2.9/wx include
cd ..
#
mkdir boost_1_47_0
cd boost_1_47_0
mkdir -p stage/lib
unzip ../boost-win32-1.47.0-gitian.zip
cd bin/$GBUILD_BITS
for lib in *; do
i586-mingw32msvc-ar rc ../../stage/lib/libboost_${lib}-mt-s.a $lib/*.o
i586-mingw32msvc-ranlib ../../stage/lib/libboost_${lib}-mt-s.a
done
cd ../..
mv include/boost .
cd ..
#
tar xzf openssl-1.0.0d.tar.gz
cd openssl-1.0.0d
./Configure --cross-compile-prefix=i586-mingw32msvc- mingw
make
cd ..
#
tar xzf db-4.8.30.NC.tar.gz
cd db-4.8.30.NC/build_unix
../dist/configure --enable-mingw --enable-cxx --host=i586-mingw32msvc CFLAGS="-I/usr/i586-mingw32msvc/include"
make $MAKEOPTS
cd ../..
#
tar xzf miniupnpc-1.6.tar.gz
cd miniupnpc-1.6
sed 's/dllwrap -k --driver-name gcc/$(DLLWRAP) -k --driver-name $(CC)/' -i Makefile.mingw
sed 's|wingenminiupnpcstrings $< $@|./wingenminiupnpcstrings $< $@|' -i Makefile.mingw
make -f Makefile.mingw DLLWRAP=i586-mingw32msvc-dllwrap CC=i586-mingw32msvc-gcc AR=i586-mingw32msvc-ar
cd ..
mv miniupnpc-1.6 miniupnpc
#
cd bitcoin
mkdir -p $OUTDIR/src
cp -a . $OUTDIR/src
rm -rf $OUTDIR/src/.git
cp -a $OUTDIR/src/locale $OUTDIR
cp $OUTDIR/src/doc/README_windows.txt $OUTDIR/readme.txt
cp $OUTDIR/src/COPYING $OUTDIR/license.txt
cd src
sed 's/$(DEBUGFLAGS)/-frandom-seed=bitcoin/' -i makefile.linux-mingw
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
make -f makefile.linux-mingw $MAKEOPTS DEPSDIR=$HOME/build bitcoin.exe USE_UPNP=1
make -f makefile.linux-mingw $MAKEOPTS DEPSDIR=$HOME/build bitcoind.exe USE_UPNP=0
i586-mingw32msvc-strip bitcoin.exe
i586-mingw32msvc-strip bitcoind.exe
makensis ../share/setup.nsi
cp bitcoin.exe ../share/bitcoin-*-win32-setup.exe $OUTDIR/
mkdir $OUTDIR/daemon
cp bitcoind.exe $OUTDIR/daemon

View File

@@ -0,0 +1,59 @@
---
name: "bitcoin"
suites:
- "lucid"
architectures:
- "i386"
- "amd64"
packages:
- "libdb4.8++-dev"
- "libxxf86vm-dev"
- "libgtk2.0-dev"
- "libboost-all-dev"
- "libssl-dev"
- "git-core"
- "unzip"
reference_datetime: "2011-01-30 00:00:00"
remotes:
- "url": "https://github.com/bitcoin/bitcoin.git"
"dir": "bitcoin"
files:
- "wxWidgets-2.9.2-x64-gitian.zip"
- "wxWidgets-2.9.2-x32-gitian.zip"
- "miniupnpc-1.6.tar.gz"
script: |
INSTDIR="$HOME/install"
export LIBRARY_PATH="$INSTDIR/lib"
#
tar xzf miniupnpc-1.6.tar.gz
cd miniupnpc-1.6
INSTALLPREFIX=$INSTDIR make $MAKEOPTS install
cd ..
#
mkdir -p $INSTDIR/bin $INSTDIR/lib/wx $INSTDIR/include
mkdir wxWidgets-2.9.2
cd wxWidgets-2.9.2
unzip ../wxWidgets-2.9.2-x32-gitian.zip
unzip -o ../wxWidgets-2.9.2-x64-gitian.zip
cp -a bin/$GBUILD_BITS/wx/config/gtk2-unicode-static-2.9 $INSTDIR/bin/wx-config
for lib in wx_gtk2u wxregexu wxtiff; do
ar rc $INSTDIR/lib/lib${lib}-2.9.a bin/$GBUILD_BITS/$lib/*.o
ranlib $INSTDIR/lib/lib${lib}-2.9.a
done
cp -a include/wx-2.9/* $INSTDIR/include
cp -a bin/$GBUILD_BITS/wx/include $INSTDIR/lib/wx
cd ..
#
cd bitcoin
mkdir -p $OUTDIR/src
cp -a . $OUTDIR/src
rm -rf $OUTDIR/src/.git
mv $OUTDIR/src/locale $OUTDIR
cp $OUTDIR/src/doc/README $OUTDIR
cp $OUTDIR/src/COPYING $OUTDIR
cd src
sed 's/$(DEBUGFLAGS)//' -i makefile.unix
PATH=$INSTDIR/bin:$PATH make -f makefile.unix CXX="g++ -I$INSTDIR/include -L$INSTDIR/lib" $MAKEOPTS bitcoin USE_UPNP=1
PATH=$INSTDIR/bin:$PATH make -f makefile.unix CXX="g++ -I$INSTDIR/include -L$INSTDIR/lib" $MAKEOPTS bitcoind USE_UPNP=0
mkdir -p $OUTDIR/bin/$GBUILD_BITS
install -s bitcoin bitcoind $OUTDIR/bin/$GBUILD_BITS

View File

@@ -0,0 +1,40 @@
---
name: "wxwidgets"
suites:
- "lucid"
architectures:
- "i386"
packages:
- "mingw32"
- "faketime"
- "zip"
reference_datetime: "2011-01-30 00:00:00"
remotes: []
files:
- "wxWidgets-2.9.2.tar.bz2"
script: |
INSTDIR="$HOME/install"
TMPDIR="$HOME/tmpdir"
export LIBRARY_PATH="$INSTDIR/lib"
#
tar xjf wxWidgets-2.9.2.tar.bz2
cd wxWidgets-2.9.2
CXXFLAGS=-frandom-seed=wx1 ./configure --host=i586-mingw32msvc --build=i686-linux --prefix=$INSTDIR --disable-shared --enable-monolithic --without-libpng --disable-svg
perl -i -p -e "s/__TIME__/\"$REFERENCE_TIME\"/;s/__DATE__/\"$REFERENCE_DATE\"/" include/wx/chartype.h
make $MAKEOPTS install
mkdir $TMPDIR
cd $TMPDIR
cp -af $INSTDIR/include .
mkdir -p $TMPDIR/bin/$GBUILD_BITS
cd $TMPDIR/bin/$GBUILD_BITS
cp -af $INSTDIR/lib/wx .
for lib in wx_mswu; do
mkdir $lib
(cd $lib ; ar xf $INSTDIR/lib/lib${lib}-2.9-i586-mingw32msvc.a)
done
chmod -R +w $TMPDIR
cd $TMPDIR
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
zip -r wxwidgets-win32-2.9.2-gitian.zip *
cp wxwidgets-win32-2.9.2-gitian.zip $OUTDIR

View File

@@ -0,0 +1,42 @@
---
name: "wxwidgets"
suites:
- "lucid"
architectures:
- "i386"
- "amd64"
packages:
- "libxxf86vm-dev"
- "libgtk2.0-dev"
- "faketime"
- "zip"
reference_datetime: "2011-01-30 00:00:00"
remotes: []
files:
- "wxWidgets-2.9.2.tar.bz2"
script: |
INSTDIR="$HOME/install"
TMPDIR="$HOME/tmpdir"
export LIBRARY_PATH="$INSTDIR/lib"
#
tar xjf wxWidgets-2.9.2.tar.bz2
cd wxWidgets-2.9.2
./configure --prefix=$INSTDIR --enable-monolithic --disable-shared
perl -i -p -e "s/__TIME__/\"$REFERENCE_TIME\"/;s/__DATE__/\"$REFERENCE_DATE\"/" include/wx/chartype.h
make $MAKEOPTS install
mkdir $TMPDIR
cd $TMPDIR
cp -af $INSTDIR/include .
mkdir -p $TMPDIR/bin/$GBUILD_BITS
cd $TMPDIR/bin/$GBUILD_BITS
cp -af $INSTDIR/lib/wx .
for lib in wxtiff wxregexu wx_gtk2u; do
mkdir $lib
(cd $lib ; ar xf $INSTDIR/lib/lib${lib}-2.9.a)
done
chmod -R +w $TMPDIR
cd $TMPDIR
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
zip -r wxWidgets-2.9.2-x$GBUILD_BITS-gitian.zip *
cp wxWidgets-2.9.2-x$GBUILD_BITS-gitian.zip $OUTDIR

View File

@@ -0,0 +1,30 @@
---
name: bitcoin
urls:
- http://bitcoin.org/bitcoin-latest-linux-gitian.zip
rss:
- url: http://sourceforge.net/api/file/index/project-id/244765/mtime/desc/limit/100/rss
xpath: //item/link/text()
pattern: bitcoin-\d+.\d+.\d+-linux-gitian.zip
signers:
0A82509767C7D4A5D14DA2301AE1D35043E08E54:
weight: 40
name: BlueMatt
key: bluematt
BF6273FAEF7CC0BA1F562E50989F6B3048A116B5:
weight: 40
name: Devrandom
key: devrandom
D762373D24904A3E42F33B08B9A408E71DAAC974:
weight: 40
name: Sipa
key: sipa
77E72E69DA7EE0A148C06B21B34821D4944DE5F7:
weight: 40
name: tcatm
key: tcatm
01CDF4627A3B88AAE4A571C87588242FBE38D3A8:
weight: 40
name: "Gavin Andresen"
key: gavinandresen
minimum_weight: 120

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

6
contrib/pyminer/README Normal file
View File

@@ -0,0 +1,6 @@
This is a 'getwork' CPU mining client for bitcoin.
It is pure-python, and therefore very, very slow. The purpose is to
provide a reference implementation of a miner, for study.

View File

@@ -0,0 +1,32 @@
#
# RPC login details
#
host=127.0.0.1
port=8332
rpcuser=myusername
rpcpass=mypass
#
# mining details
#
threads=4
# periodic rate for requesting new work, if solution not found
scantime=60
#
# misc.
#
# not really used right now
logdir=/tmp/pyminer
# set to 1, to enable hashmeter output
hashmeter=0

252
contrib/pyminer/pyminer.py Executable file
View File

@@ -0,0 +1,252 @@
#!/usr/bin/python
#
# Copyright (c) 2011 The Bitcoin developers
# Distributed under the MIT/X11 software license, see the accompanying
# file license.txt or http://www.opensource.org/licenses/mit-license.php.
#
import time
import json
import pprint
import hashlib
import struct
import re
import base64
import httplib
import sys
from multiprocessing import Process
ERR_SLEEP = 15
MAX_NONCE = 1000000L
settings = {}
pp = pprint.PrettyPrinter(indent=4)
class BitcoinRPC:
OBJID = 1
def __init__(self, host, port, username, password):
authpair = "%s:%s" % (username, password)
self.authhdr = "Basic %s" % (base64.b64encode(authpair))
self.conn = httplib.HTTPConnection(host, port, False, 30)
def rpc(self, method, params=None):
self.OBJID += 1
obj = { 'version' : '1.1',
'method' : method,
'id' : self.OBJID }
if params is None:
obj['params'] = []
else:
obj['params'] = params
self.conn.request('POST', '/', json.dumps(obj),
{ 'Authorization' : self.authhdr,
'Content-type' : 'application/json' })
resp = self.conn.getresponse()
if resp is None:
print "JSON-RPC: no response"
return None
body = resp.read()
resp_obj = json.loads(body)
if resp_obj is None:
print "JSON-RPC: cannot JSON-decode body"
return None
if 'error' in resp_obj and resp_obj['error'] != None:
return resp_obj['error']
if 'result' not in resp_obj:
print "JSON-RPC: no result in object"
return None
return resp_obj['result']
def getblockcount(self):
return self.rpc('getblockcount')
def getwork(self, data=None):
return self.rpc('getwork', data)
def uint32(x):
return x & 0xffffffffL
def bytereverse(x):
return uint32(( ((x) << 24) | (((x) << 8) & 0x00ff0000) |
(((x) >> 8) & 0x0000ff00) | ((x) >> 24) ))
def bufreverse(in_buf):
out_words = []
for i in range(0, len(in_buf), 4):
word = struct.unpack('@I', in_buf[i:i+4])[0]
out_words.append(struct.pack('@I', bytereverse(word)))
return ''.join(out_words)
def wordreverse(in_buf):
out_words = []
for i in range(0, len(in_buf), 4):
out_words.append(in_buf[i:i+4])
out_words.reverse()
return ''.join(out_words)
class Miner:
def __init__(self, id):
self.id = id
self.max_nonce = MAX_NONCE
def work(self, datastr, targetstr):
# decode work data hex string to binary
static_data = datastr.decode('hex')
static_data = bufreverse(static_data)
# the first 76b of 80b do not change
blk_hdr = static_data[:76]
# decode 256-bit target value
targetbin = targetstr.decode('hex')
targetbin = targetbin[::-1] # byte-swap and dword-swap
targetbin_str = targetbin.encode('hex')
target = long(targetbin_str, 16)
# pre-hash first 76b of block header
static_hash = hashlib.sha256()
static_hash.update(blk_hdr)
for nonce in xrange(self.max_nonce):
# encode 32-bit nonce value
nonce_bin = struct.pack("<I", nonce)
# hash final 4b, the nonce value
hash1_o = static_hash.copy()
hash1_o.update(nonce_bin)
hash1 = hash1_o.digest()
# sha256 hash of sha256 hash
hash_o = hashlib.sha256()
hash_o.update(hash1)
hash = hash_o.digest()
# quick test for winning solution: high 32 bits zero?
if hash[-4:] != '\0\0\0\0':
continue
# convert binary hash to 256-bit Python long
hash = bufreverse(hash)
hash = wordreverse(hash)
hash_str = hash.encode('hex')
l = long(hash_str, 16)
# proof-of-work test: hash < target
if l < target:
print time.asctime(), "PROOF-OF-WORK found: %064x" % (l,)
return (nonce + 1, nonce_bin)
else:
print time.asctime(), "PROOF-OF-WORK false positive %064x" % (l,)
# return (nonce + 1, nonce_bin)
return (nonce + 1, None)
def submit_work(self, rpc, original_data, nonce_bin):
nonce_bin = bufreverse(nonce_bin)
nonce = nonce_bin.encode('hex')
solution = original_data[:152] + nonce + original_data[160:256]
param_arr = [ solution ]
result = rpc.getwork(param_arr)
print time.asctime(), "--> Upstream RPC result:", result
def iterate(self, rpc):
work = rpc.getwork()
if work is None:
time.sleep(ERR_SLEEP)
return
if 'data' not in work or 'target' not in work:
time.sleep(ERR_SLEEP)
return
time_start = time.time()
(hashes_done, nonce_bin) = self.work(work['data'],
work['target'])
time_end = time.time()
time_diff = time_end - time_start
self.max_nonce = long(
(hashes_done * settings['scantime']) / time_diff)
if self.max_nonce > 0xfffffffaL:
self.max_nonce = 0xfffffffaL
if settings['hashmeter']:
print "HashMeter(%d): %d hashes, %.2f Khash/sec" % (
self.id, hashes_done,
(hashes_done / 1000.0) / time_diff)
if nonce_bin is not None:
self.submit_work(rpc, work['data'], nonce_bin)
def loop(self):
rpc = BitcoinRPC(settings['host'], settings['port'],
settings['rpcuser'], settings['rpcpass'])
if rpc is None:
return
while True:
self.iterate(rpc)
def miner_thread(id):
miner = Miner(id)
miner.loop()
if __name__ == '__main__':
if len(sys.argv) != 2:
print "Usage: pyminer.py CONFIG-FILE"
sys.exit(1)
f = open(sys.argv[1])
for line in f:
# skip comment lines
m = re.search('^\s*#', line)
if m:
continue
# parse key=value lines
m = re.search('^(\w+)\s*=\s*(\S.*)$', line)
if m is None:
continue
settings[m.group(1)] = m.group(2)
f.close()
if 'host' not in settings:
settings['host'] = '127.0.0.1'
if 'port' not in settings:
settings['port'] = 8332
if 'threads' not in settings:
settings['threads'] = 1
if 'hashmeter' not in settings:
settings['hashmeter'] = 0
if 'scantime' not in settings:
settings['scantime'] = 30L
if 'rpcuser' not in settings or 'rpcpass' not in settings:
print "Missing username and/or password in cfg file"
sys.exit(1)
settings['port'] = int(settings['port'])
settings['threads'] = int(settings['threads'])
settings['hashmeter'] = int(settings['hashmeter'])
settings['scantime'] = long(settings['scantime'])
thr_list = []
for thr_id in range(settings['threads']):
p = Process(target=miner_thread, args=(thr_id,))
p.start()
thr_list.append(p)
time.sleep(1) # stagger threads
print settings['threads'], "mining threads started"
print time.asctime(), "Miner Starts - %s:%s" % (settings['host'], settings['port'])
try:
for thr_proc in thr_list:
thr_proc.join()
except KeyboardInterrupt:
pass
print time.asctime(), "Miner Stops - %s:%s" % (settings['host'], settings['port'])

117
doc/README Normal file
View File

@@ -0,0 +1,117 @@
Bitcoin 0.4.0rc1 BETA
Copyright (c) 2009-2011 Bitcoin Developers
Distributed under the MIT/X11 software license, see the accompanying
file license.txt or http://www.opensource.org/licenses/mit-license.php.
This product includes software developed by the OpenSSL Project for use in
the OpenSSL Toolkit (http://www.openssl.org/). This product includes
cryptographic software written by Eric Young (eay@cryptsoft.com).
Intro
-----
Bitcoin is a free open source peer-to-peer electronic cash system that is
completely decentralized, without the need for a central server or trusted
parties. Users hold the crypto keys to their own money and transact directly
with each other, with the help of a P2P network to check for double-spending.
Setup
-----
Unpack the files into a directory and run:
bin/32/bitcoin (GUI, 32-bit)
bin/32/bitcoind (headless, 32-bit)
bin/64/bitcoin (GUI, 64-bit)
bin/64/bitcoind (headless, 64-bit)
Wallet Encryption
-----------------
Bitcoin supports native wallet encryption so that people who steal your
wallet file don't automatically get access to all of your Bitcoins.
In order to enable this feature, chose "Encrypt Wallet" from the
Options menu. You will be prompted to enter a passphrase, which
will be used as the key to encrypt your wallet and will be needed
every time you wish to send Bitcoins. If you lose this passphrase,
you will lose access to spend all of the bitcoins in your wallet,
no one, not even the Bitcoin developers can recover your Bitcoins.
This means you are responsible for your own security, store your
passphrase in a secure location and do not forget it.
Remember that the encryption built into bitcoin only encrypts the
actual keys which are required to send your bitcoins, not the full
wallet. This means that someone who steals your wallet file will
be able to see all the addresses which belong to you, as well as the
relevant transactions, you are only protected from someone spending
your coins.
It is recommended that you backup your wallet file before you
encrypt your wallet. To do this, close the Bitcoin client and
copy the wallet.dat file from ~/.bitcoin/ on Linux, /Users/(user
name)/Application Support/Bitcoin/ on Mac OSX, and %APPDATA%/Bitcoin/
on Windows (that is /Users/(user name)/AppData/Roaming/Bitcoin on
Windows Vista and 7 and /Documents and Settings/(user name)/Application
Data/Bitcoin on Windows XP). Once you have copied that file to a
safe location, reopen the Bitcoin client and Encrypt your wallet.
If everything goes fine, delete the backup and enjoy your encrypted
wallet. Note that once you encrypt your wallet, you will never be
able to go back to a version of the Bitcoin client older than 0.4.
Keep in mind that you are always responsible for your own security.
All it takes is a slightly more advanced wallet-stealing trojan which
installs a keylogger to steal your wallet passphrase as you enter it
in addition to your wallet file and you have lost all your Bitcoins.
Wallet encryption cannot keep you safe if you do not practice
good security, such as running up-to-date antivirus software, only
entering your wallet passphrase in the Bitcoin client and using the
same passphrase only as your wallet passphrase.
Technical details of wallet encryption
--------------------------------------
Wallet encryption uses AES-256-CBC to encrypt only the private keys
that are held in a wallet. The keys are encrypted with a master key
which is entirely random. This master key is then encrypted with
AES-256-CBC with a key derived from the passphrase using SHA512 and
OpenSSL's EVP_BytesToKey and a dynamic number of rounds determined by
the speed of the machine which does the initial encryption (and is
updated based on the speed of a computer which does a subsequent
passphrase change). Although the underlying code supports multiple
encrypted copies of the same master key (and thus multiple passphrases)
the client does not yet have a method to add additional passphrases.
At runtime, the client loads the wallet as it normally would, however
the keystore stores the keys in encrypted form. When the passphrase
is required (to top up keypool or send coins) it will either be queried
by a GUI prompt, or must first be entered with the walletpassphrase
RPC command. This will change the wallet to "unlocked" state where the
unencrypted master key is stored in memory (in the case of GUI, only for
long enough to complete the requested operation, in RPC, for as long as
is specified by the second parameter to walletpassphrase). The wallet is
then locked (or can be manually locked using the walletlock RPC command)
and the unencrypted master key is removed from memory.
Implementation details of wallet encryption
-------------------------------------------
When the wallet is locked, calls to sendtoaddress, sendfrom, sendmany,
and keypoolrefill will return Error -13: "Error: Please enter the wallet
passphrase with walletpassphrase first."
When the wallet is unlocked, calls to walletpassphrase will fail.
When a wallet is encrypted, the passphrase is required to top up the
keypool, thus, if the passphrase is rarely entered, it is possible that
keypool might run out. In this case, the default key will be used as the
target for payouts for mining, and calls to getnewaddress and getaccount
address will return an error. In order to prevent such cases, the keypool
is automatically refilled when walletpassphrase is called with a correct
passphrase and when topupkeypool is called (while the wallet is unlocked).
Note that the keypool continues to be topped up on various occasions when
a new key from pool is used and the wallet is unlocked (or unencrypted).
See the documentation at the bitcoin wiki:
https://en.bitcoin.it/wiki/Main_Page
... for help and more information.

34
doc/README_windows.txt Normal file
View File

@@ -0,0 +1,34 @@
Bitcoin 0.4.00rc1 BETA
Copyright (c) 2009-2011 Bitcoin Developers
Distributed under the MIT/X11 software license, see the accompanying
file license.txt or http://www.opensource.org/licenses/mit-license.php.
This product includes software developed by the OpenSSL Project for use in
the OpenSSL Toolkit (http://www.openssl.org/). This product includes
cryptographic software written by Eric Young (eay@cryptsoft.com).
Intro
-----
Bitcoin is a free open source peer-to-peer electronic cash system that is
completely decentralized, without the need for a central server or trusted
parties. Users hold the crypto keys to their own money and transact directly
with each other, with the help of a P2P network to check for double-spending.
Setup
-----
Unpack the files into a directory and run bitcoin.exe.
If you have Microsoft Security Essentials, you need to add bitcoin.exe to its
"Excluded processes" list. Microsoft Security Essentials->Settings tab,
select Excluded processes, press Add, select bitcoin.exe, OK, Save changes.
The software automatically finds other nodes to connect to. You can
enable Universal Plug and Play using a menu entry or set your firewall
to forward port 8333 (TCP) to your computer so you can receive
incoming connections. Bitcoin work without incoming connections,
but allowing incoming connections helps the Bitcoin network.
See the bitcoin wiki at: https://en.bitcoin.it/wiki/Main_Page
for more help and information.

103
doc/build-msw.txt Normal file
View File

@@ -0,0 +1,103 @@
Copyright (c) 2009-2011 Bitcoin Developers
Distributed under the MIT/X11 software license, see the accompanying
file license.txt or http://www.opensource.org/licenses/mit-license.php.
This product includes software developed by the OpenSSL Project for use in
the OpenSSL Toolkit (http://www.openssl.org/). This product includes
cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP
software written by Thomas Bernard.
WINDOWS BUILD NOTES
===================
Compilers Supported
-------------------
MinGW GCC http://tdm-gcc.tdragon.net/
TDM-GCC with gcc 4.5.1 was used to build this release.
MSYS 1.0.11 was also used (sh needed to compile some dependencies)
Candidate releases were built with MSVC 10.0 (2010), but
compiling with Visual C++ caused rendering artifacts when
bitcoin was run.
Dependencies
------------
Libraries you need to download separately and build:
default path download
wxWidgets \wxwidgets-2.9.2-mgw http://www.wxwidgets.org/downloads/
OpenSSL \openssl-1.0.0d-mgw http://www.openssl.org/source/
Berkeley DB \db-4.8.30.NC-mgw http://www.oracle.com/technology/software/products/berkeley-db/index.html
Boost \boost-1.47.0-mgw http://www.boost.org/users/download/
miniupnpc \miniupnpc-1.6-mgw http://miniupnp.tuxfamily.org/files/
Their licenses:
wxWidgets LGPL 2.1 with very liberal exceptions
OpenSSL Old BSD license with the problematic advertising requirement
Berkeley DB New BSD license with additional requirement that linked software must be free open source
Boost MIT-like license
miniupnpc New (3-clause) BSD license
Versions used in this release:
wxWidgets 2.9.2
OpenSSL 1.0.0d
Berkeley DB 4.8.30.NC
Boost 1.47.0
miniupnpc 1.6
Notes
-----
The UI layout is edited with wxFormBuilder. The project file is
uiproject.fbp. It generates uibase.cpp and uibase.h, which define base
classes that do the rote work of constructing all the UI elements.
wxWidgets
---------
DOS shell:
cd \wxWidgets-2.9.2-mgw\build\msw
mingw32-make -f makefile.gcc
OpenSSL
-------
MSYS shell:
un-tar sources with MSYS 'tar xfz' to avoid issue with symlinks (OpenSSL ticket 2377)
change 'MAKE' env. variable from 'C:\MinGW32\bin\mingw32-make.exe' to '/c/MinGW32/bin/mingw32-make.exe'
cd /c/openssl-1.0.0d-mgw
./config
make
Berkeley DB
-----------
MSYS shell:
cd /c/db-4.8.30.NC-mgw/build_unix
sh ../dist/configure --enable-mingw --enable-cxx
make
Boost
-----
DOS prompt:
downloaded boost jam 3.1.18
cd \boost-1.47.0-mgw
bjam toolset=gcc --build-type=complete stage
MiniUPnPc
---------
UPnP support is optional, make with USE_UPNP= to disable it.
MSYS shell:
cd /c/miniupnpc-1.6-mgw
make -f Makefile.mingw
mkdir miniupnpc
cp *.h miniupnpc/
Bitcoin
-------
DOS prompt:
cd \bitcoin\src
mingw32-make bitcoin.exe bitcoind.exe -f makefile.mingw
strip bitcoin.exe
strip bitcoind.exe

View File

@@ -1,13 +1,16 @@
Copyright (c) 2009-2010 Satoshi Nakamoto
Distributed under the MIT/X11 software license, see the accompanying
file license.txt or http://www.opensource.org/licenses/mit-license.php.
This product includes software developed by the OpenSSL Project for use in
the OpenSSL Toolkit (http://www.openssl.org/). This product includes
cryptographic software written by Eric Young (eay@cryptsoft.com).
Copyright (c) 2010 Laszlo Hanyecz
Portions Copyright (c) 2011 Douglas Huff
Distributed under the MIT/X11 software license, see the accompanying file
license.txt or http://www.opensource.org/licenses/mit-license.php. This
product includes software developed by the OpenSSL Project for use in the
OpenSSL Toolkit (http://www.openssl.org/). This product includes cryptographic
software written by Eric Young (eay@cryptsoft.com) and UPnP software written by
Thomas Bernard.
Mac OS X build instructions
Laszlo Hanyecz (solar@heliacal.net)
Laszlo Hanyecz <solar@heliacal.net>
Douglas Huff <dhuff@jrbobdobbs.org>
Tested on 10.5 and 10.6 intel. PPC is not supported because it's big-endian.
@@ -15,18 +18,19 @@ Tested on 10.5 and 10.6 intel. PPC is not supported because it's big-endian.
All of the commands should be executed in Terminal.app.. it's in
/Applications/Utilities
You need to install XCode with all the options checked so that the compiler
and everything is available in /usr not just /Developer
I think it comes on the DVD but you can get the current version from
http://developer.apple.com
You need to install XCode with all the options checked so that the compiler and
everything is available in /usr not just /Developer I think it comes on the DVD
but you can get the current version from http://developer.apple.com
1. Pick a directory to work inside.. something like ~/bitcoin works. The
structure I use looks like this:
(~ is your home directory)
~/bitcoin
~/bitcoin/trunk # source code
~/bitcoin/bitcoin # Upstream source tree
~/bitcoin/src # source code (symlink to ~/bitcoin/bitcoin/src)
~/bitcoin/deps # dependencies.. like libraries and headers needed to compile
~/bitcoin/Bitcoin.app # the application bundle where you can run the app
@@ -37,12 +41,15 @@ WARNING: do not use the ~ notation with the configure scripts.. use the full
name of the directory, for example /Users/james/bitcoin/deps for a user named
'james'. In my examples I am using 'macosuser' so make sure you change that.
2. Check out the trunk version of the bitcoin code from subversion:
2. Check out the bitcoin code from github:
cd ~/bitcoin
svn checkout https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk
git clone https://github.com/bitcoin/bitcoin.git
ln -s bitcoin/src src
This will make ~/bitcoin/trunk for you with all the files from subversion.
This will make ~/bitcoin/bitcoin for you with all the files from git. This puts
the actual sources in ~/bitcoin/bitcoin/src and create a symlink src in
~/bitcoin to this location.
3. Get and build the dependencies
@@ -58,7 +65,10 @@ cd ~/bitcoin/deps
tar xvjf ~/Downloads/boost_1_42_0.tar.bz2
cd boost_1_42_0
./bootstrap.sh
./bjam architecture=combined address-model=32_64 macosx-version=10.6 macosx-version-min=10.5 link=static runtime-link=static --toolset=darwin --prefix=/Users/macosuser/bitcoin/deps install
./bjam architecture=combined address-model=32_64 macosx-version=10.5 macosx-version-min=10.5 link=static runtime-link=static --toolset=darwin --prefix=/Users/macosuser/bitcoin/deps install
If you're using Snow Leopard, you will need to specify 10.6 as your Mac OS X
version instead of 10.5.
This part takes a while.. use your judgement and fix it if something doesn't
build for some reason.
@@ -76,6 +86,8 @@ This is what my output looked like at the end:
OpenSSL
-------
(System or MacPorts openssl will work fine. Optional.)
Download from http://www.openssl.org/source/
We would like to build this as a 32 bit/64 bit library so we actually build it
@@ -89,12 +101,12 @@ tar xvf ~/Downloads/openssl-1.0.0.tar
mv openssl-1.0.0 openssl-1.0.0-x86_64
# build i386 (32 bit intel) binary
cd openssl-1.0.0-i386
./Configure --prefix=/Users/macosuser/bitcoin/deps --openssldir=/Users/macosuser/deps/openssl darwin-i386-cc && make
./Configure --prefix=/Users/macosuser/bitcoin/deps --openssldir=/Users/macosuser/bitcoin/deps/openssl darwin-i386-cc && make
make install # only do this on one of the architectures, to install the headers
cd ..
# build x86_64 (64 bit intel) binary
cd openssl-1.0.0-x86_64
./Configure --prefix=/Users/macosuser/bitcoin/deps --openssldir=/Users/macosuser/deps/openssl darwin64-x86_64-cc && make
./Configure --prefix=/Users/macosuser/bitcoin/deps --openssldir=/Users/macosuser/bitcoin/deps/openssl darwin64-x86_64-cc && make
cd ..
# combine the libs
@@ -108,25 +120,71 @@ file lib/libcrypto.a
output should look like this:
ib/libcrypto.a: Mach-O universal binary with 2 architectures
lib/libcrypto.a (for architecture i386): current ar archive random library
lib/libcrypto.a (for architecture x86_64): current ar archive random library
lib/libcrypto.a: Mach-O universal binary with 2 architectures
lib/libcrypto.a (for architecture i386): current ar archive random library
lib/libcrypto.a (for architecture x86_64): current ar archive random library
miniupnpc
---------
(MacPorts miniupnpc package works fine. You will need to modify makefile.)
The process for miniupnpc (optional) is similar to that of OpenSSL.
Download from http://miniupnp.tuxfamily.org/files/.
cd ~/bitcoin/deps
tar xvf ~/Downloads/miniupnpc-1.6.tar
mv miniupnpc-1.6 miniupnpc-1.6-x86_64
tar xvf ~/Downloads/miniupnpc-1.6.tar
mv miniupnpc-1.6 miniupnpc-1.6-i386
# build x86_64 (64 bit intel) binary
cd miniupnpc-1.6-x86_64
export CFLAGS="-arch x86_64"
export LDFLAGS="-arch x86_64"
export PREFIX="/Users/macuser/bitcoin/deps"
make && make install
# build i386 (32 bit intel) binary
cd miniupnpc-1.6-i386
export CFLAGS="-arch i386"
export LDFLAGS="-arch i386"
export PREFIX="/Users/macuser/bitcoin/deps"
make
# combine the libs
cd ~/bitcoin/deps
lipo -arch i386 miniupnpc-1.6-i386/libminiupnpc.a -arch x86_64 miniupnpc-1.6-x86_64/libminiupnpc.a -o lib/libminiupnpc.a -create
Verify your binaries
file lib/libminiupnpc.a
output should look like this:
lib/libminiupnpc.a: Mach-O universal binary with 2 architectures
lib/libminiupnpc.a (for architecture i386): current ar archive random library
lib/libminiupnpc.a (for architecture x86_64): current ar archive random library
Berkeley DB
-----------
(System or MacPorts version work fine.)
Download from http://freshmeat.net/projects/berkeleydb/
cd ~/bitcoin/deps
tar xvf ~/Downloads/db-4.8.26.tar
cd db-4.8.26/build_unix
tar xvf ~/Downloads/db-4.8.30.tar
cd db-4.8.30/build_unix
../dist/configure --prefix=/Users/macosuser/bitcoin/deps --enable-cxx && make && make install
wxWidgets
---------
(The wxWidgets-devel MacPorts package will work but will throw annoying assertion dialogs.)
This is the big one..
Check it out from svn
@@ -192,26 +250,29 @@ make install
Now you should be able to build bitcoin
cd ~/bitcoin/trunk
cd ~/bitcoin/src
make -f makefile.osx bitcoin
Before you can run it, you need to create an application bundle for Mac OS.
Create the directories in terminal using mkdir and copy the files into place.
They are available at http://heliacal.net/~solar/bitcoin/mac-build/
You need the Info.plist and the .ins file. The Contents/MacOS/bitcoin file is
the output of the build.
Your directory structure should look like this:
Bitcoin.app
Bitcoin.app/Contents
Bitcoin.app/Contents/Info.plist
Bitcoin.app/Contents/MacOS
Bitcoin.app/Contents/MacOS/bitcoin
Bitcoin.app/Contents/Resources
Bitcoin.app/Contents/Resources/BitcoinAppIcon.icns
A bundle is provided in contrib/Bitcoin.app.
Copy the bitcoin binary in to it like this:
cp -pR ~/bitcoin/bitcoin/contrib/Bitcoin.app ~/bitcoin/
cp ~/bitcoin/src/bitcoin ~/bitcoin/Bitcoin.app/Contents/MacOS/
To run it you can just click the Bitcoin.app in Finder, or just do:
open ~/bitcoin/Bitcoin.app
To run it you can just click the Bitcoin.app in Finder, or just do open
~/bitcoin/Bitcoin.app
If you want to run it with arguments you can just run it without backgrounding
by specifying the full name in terminal:
~/bitcoin/Bitcoin.app/Contents/MacOS/bitcoin -addnode=192.75.207.66
You can also run it with arguments in the background with output going to the
normal places for apps (Console) like this:
open ~/bitcoin/Bitcoin.app --args -connect=192.75.207.66
It is advisable to relocate Bitcoin.app to /Applications or $HOME/Applications.

View File

@@ -3,42 +3,61 @@ Distributed under the MIT/X11 software license, see the accompanying
file license.txt or http://www.opensource.org/licenses/mit-license.php.
This product includes software developed by the OpenSSL Project for use in
the OpenSSL Toolkit (http://www.openssl.org/). This product includes
cryptographic software written by Eric Young (eay@cryptsoft.com).
cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP
software written by Thomas Bernard.
UNIX BUILD NOTES
================
To Build
--------
cd src/
make -f makefile.unix # Bitcoin with wxWidgets GUI
or
make -f makefile.unix bitcoind # Headless bitcoin
Dependencies
------------
sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev
sudo apt-get install libssl-dev
sudo apt-get install libdb4.7-dev
sudo apt-get install libdb4.7++-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libdb4.8-dev
sudo apt-get install libdb4.8++-dev
Boost 1.40+: sudo apt-get install libboost-all-dev
or Boost 1.37: sudo apt-get install libboost1.37-dev
We're now using wxWidgets 2.9, which uses UTF-8.
If using Boost 1.37, append -mt to the boost libraries in the makefile.
There isn't currently a debian package of wxWidgets we can use. The 2.8
packages for Karmic are UTF-16 unicode and won't work for us, and we've had
trouble building 2.8 on 64-bit.
Requires wxWidgets 2.9.1 or newer.
You need to download wxWidgets from http://www.wxwidgets.org/downloads/
and build it yourself. See the build instructions and configure parameters
below.
Requires miniupnpc for UPnP port mapping. It can be downloaded from
http://miniupnp.tuxfamily.org/files/. UPnP support is compiled in and
turned off by default. Set USE_UPNP to a different value to control this:
USE_UPNP= no UPnP support, miniupnp not required;
USE_UPNP=0 (the default) UPnP support turned off by default at runtime;
USE_UPNP=1 UPnP support turned on by default at runtime.
Licenses of statically linked libraries:
wxWidgets LGPL 2.1 with very liberal exceptions
Berkeley DB New BSD license with additional requirement that linked software must be free open source
Boost MIT-like license
miniupnpc New (3-clause) BSD license
Versions used in this release:
GCC 4.4.3
OpenSSL 0.9.8k
wxWidgets 2.9.0
Berkeley DB 4.7.25.NC
Boost 1.40.0
GCC 4.3.3
OpenSSL 0.9.8g
wxWidgets 2.9.2
Berkeley DB 4.8.30.NC
Boost 1.37
miniupnpc 1.6
Notes
@@ -54,30 +73,36 @@ symbols, which reduces the executable size by about 90%.
wxWidgets
---------
cd /usr/local
tar -xzvf wxWidgets-2.9.0.tar.gz
cd /usr/local/wxWidgets-2.9.0
tar -xzvf wxWidgets-2.9.2.tar.gz
cd wxWidgets-2.9.2
mkdir buildgtk
cd buildgtk
../configure --with-gtk --enable-debug --disable-shared --enable-monolithic
../configure --with-gtk --enable-debug --disable-shared --enable-monolithic --without-libpng --disable-svg
make
sudo su
make install
ldconfig
su <username>
cd ..
mkdir buildbase
cd buildbase
../configure --disable-gui --enable-debug --disable-shared --enable-monolithic
miniupnpc
---------
tar -xzvf miniupnpc-1.6.tar.gz
cd miniupnpc-1.6
make
sudo su
make install
ldconfig
Berkeley DB
-----------
You need Berkeley DB 4.8. If you have to build Berkeley DB yourself:
../dist/configure --enable-cxx
make
Boost
-----
If you want to build Boost yourself,
cd /usr/local/boost_1_40_0
su
If you need to build Boost yourself:
sudo su
./bootstrap.sh
./bjam install

99
doc/coding.txt Normal file
View File

@@ -0,0 +1,99 @@
Please be consistent with the existing coding style.
Block style:
bool Function(char* psz, int n)
{
// Comment summarising what this section of code does
for (int i = 0; i < n; i++)
{
// When something fails, return early
if (!Something())
return false;
...
}
// Success return is usually at the end
return true;
}
- ANSI/Allman block style
- 4 space indenting, no tabs
- No extra spaces inside parenthesis; please don't do ( this )
- No space after function names, one space after if, for and while
Variable names begin with the type in lowercase, like nSomeVariable.
Please don't put the first word of the variable name in lowercase like
someVariable.
Common types:
n integer number: short, unsigned short, int, unsigned int,
int64, uint64, sometimes char if used as a number
d double, float
f flag
hash uint256
p pointer or array, one p for each level of indirection
psz pointer to null terminated string
str string object
v vector or similar list objects
map map or multimap
set set or multiset
bn CBigNum
-------------------------
Locking/mutex usage notes
The code is multi-threaded, and uses mutexes and the
CRITICAL_BLOCK/TRY_CRITICAL_BLOCK macros to protect data structures.
Deadlocks due to inconsistent lock ordering (thread 1 locks cs_main
and then cs_wallet, while thread 2 locks them in the opposite order:
result, deadlock as each waits for the other to release its lock) are
a problem. Compile with -DDEBUG_LOCKORDER to get lock order
inconsistencies reported in the debug.log file.
Re-architecting the core code so there are better-defined interfaces
between the various components is a goal, with any necessary locking
done by the components (e.g. see the self-contained CKeyStore class
and its cs_KeyStore lock for example).
-------
Threads
StartNode : Starts other threads.
ThreadGetMyExternalIP : Determines outside-the-firewall IP address,
sends addr message to connected peers when it determines it.
ThreadIRCSeed : Joins IRC bootstrapping channel, watching for new
peers and advertising this node's IP address.
ThreadSocketHandler : Sends/Receives data from peers on port 8333.
ThreadMessageHandler : Higher-level message handling (sending and
receiving).
ThreadOpenConnections : Initiates new connections to peers.
ThreadTopUpKeyPool : replenishes the keystore's keypool.
ThreadCleanWalletPassphrase : re-locks an encrypted wallet after user
has unlocked it for a period of time.
SendingDialogStartTransfer : used by pay-via-ip-address code (obsolete)
ThreadDelayedRepaint : repaint the gui
ThreadFlushWalletDB : Close the wallet.dat file if it hasn't been used
in 500ms.
ThreadRPCServer : Remote procedure call handler, listens on port 8332
for connections and services them.
ThreadBitcoinMiner : Generates bitcoins
ThreadMapPort : Universal plug-and-play startup/shutdown
Shutdown : Does an orderly shutdown of everything
ExitTimeout : Windows-only, sleeps 5 seconds then exits application

48
doc/release-process.txt Normal file
View File

@@ -0,0 +1,48 @@
* update (commit) version in sources
src/serialize.h
share/setup.nsi
* update (commit) version in OSX app bundle
contrib/Bitcoin.app/Contents/Info.plist
* CFBundleShortVersionString should have value like 0.3.23
* CFBundleVersion should have value like 323
* tag version in git
$ git tag -a v0.3.23
* write release notes. git shortlog helps a lot:
$ git shortlog --no-merges v0.3.22..
* create source-only archive
$ git archive --format=tar --prefix=bitcoin-0.3.23/ HEAD | \
gzip -9c > ~/tmp/bitcoin-0.3.23-src.tar.gz
* perform gitian builds
* From the bitcoin source dir
$ cd ../gitian-builder
$ ./bin/gbuild --commit bitcoin=v0.3.23 ../bitcoin/contrib/gitian.yml
$ ./bin/gbuild --commit bitcoin=v0.3.23 ../bitcoin/contrib/gitian-win32.yml
Build output expected:
1. linux 32-bit and 64-bit binaries + source
2. windows 32-bit binary + source
3. windows installer
* upload source and builds to SF
* create SHA1SUMS for builds, and PGP-sign it
* update bitcoin.org version
* update forum version
* update wiki
* update wiki download links

391
init.cpp
View File

@@ -1,391 +0,0 @@
// Copyright (c) 2009-2010 Satoshi Nakamoto
// Distributed under the MIT/X11 software license, see the accompanying
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
#include "headers.h"
//////////////////////////////////////////////////////////////////////////////
//
// Shutdown
//
void ExitTimeout(void* parg)
{
#ifdef __WXMSW__
Sleep(5000);
ExitProcess(0);
#endif
}
void Shutdown(void* parg)
{
static CCriticalSection cs_Shutdown;
static bool fTaken;
bool fFirstThread;
CRITICAL_BLOCK(cs_Shutdown)
{
fFirstThread = !fTaken;
fTaken = true;
}
static bool fExit;
if (fFirstThread)
{
fShutdown = true;
nTransactionsUpdated++;
DBFlush(false);
StopNode();
DBFlush(true);
CreateThread(ExitTimeout, NULL);
Sleep(50);
printf("Bitcoin exiting\n\n");
fExit = true;
exit(0);
}
else
{
while (!fExit)
Sleep(500);
Sleep(100);
ExitThread(0);
}
}
//////////////////////////////////////////////////////////////////////////////
//
// Start
//
#ifndef GUI
int main(int argc, char* argv[])
{
for (int i = 1; i < argc; i++)
if (!IsSwitchChar(argv[i][0]))
fCommandLine = true;
fDaemon = !fCommandLine;
#ifdef __WXGTK__
if (!fCommandLine)
{
// Daemonize
pid_t pid = fork();
if (pid < 0)
{
fprintf(stderr, "Error: fork() returned %d errno %d\n", pid, errno);
return 1;
}
if (pid > 0)
pthread_exit((void*)0);
}
#endif
if (!AppInit(argc, argv))
return 1;
while (!fShutdown)
Sleep(1000000);
return 0;
}
#endif
bool AppInit(int argc, char* argv[])
{
bool fRet = false;
try
{
fRet = AppInit2(argc, argv);
}
catch (std::exception& e) {
PrintException(&e, "AppInit()");
} catch (...) {
PrintException(NULL, "AppInit()");
}
if (!fRet)
Shutdown(NULL);
return fRet;
}
bool AppInit2(int argc, char* argv[])
{
#ifdef _MSC_VER
// Turn off microsoft heap dump noise
_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
_CrtSetReportFile(_CRT_WARN, CreateFileA("NUL", GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, 0));
#endif
#if _MSC_VER >= 1400
// Disable confusing "helpful" text message on abort, ctrl-c
_set_abort_behavior(0, _WRITE_ABORT_MSG | _CALL_REPORTFAULT);
#endif
#ifndef __WXMSW__
umask(077);
#endif
//
// Parameters
//
ParseParameters(argc, argv);
if (mapArgs.count("-datadir"))
strlcpy(pszSetDataDir, mapArgs["-datadir"].c_str(), sizeof(pszSetDataDir));
ReadConfigFile(mapArgs, mapMultiArgs); // Must be done after processing datadir
if (mapArgs.count("-?") || mapArgs.count("--help"))
{
string strUsage = string() +
_("Usage:") + "\t\t\t\t\t\t\t\t\t\t\n" +
" bitcoin [options] \t " + "\n" +
" bitcoin [options] <command> [params]\t " + _("Send command to -server or bitcoind\n") +
" bitcoin [options] <command> -? \t\t " + _("Get help for a command\n") +
" bitcoin help \t\t\t " + _("List commands\n") +
_("Options:\n") +
" -conf=<file> \t " + _("Specify configuration file (default: bitcoin.conf)\n") +
" -gen \t " + _("Generate coins\n") +
" -gen=0 \t " + _("Don't generate coins\n") +
" -min \t " + _("Start minimized\n") +
" -datadir=<dir> \t " + _("Specify data directory\n") +
" -proxy=<ip:port>\t " + _("Connect through socks4 proxy\n") +
" -addnode=<ip> \t " + _("Add a node to connect to\n") +
" -connect=<ip> \t " + _("Connect only to the specified node\n") +
" -server \t " + _("Accept command line and JSON-RPC commands\n") +
" -daemon \t " + _("Run in the background as a daemon and accept commands\n") +
" -? \t " + _("This help message\n");
#if defined(__WXMSW__) && defined(GUI)
// Tabs make the columns line up in the message box
wxMessageBox(strUsage, "Bitcoin", wxOK);
#else
// Remove tabs
strUsage.erase(std::remove(strUsage.begin(), strUsage.end(), '\t'), strUsage.end());
fprintf(stderr, "%s", strUsage.c_str());
#endif
return false;
}
if (mapArgs.count("-debug"))
fDebug = true;
if (mapArgs.count("-printtodebugger"))
fPrintToDebugger = true;
if (fCommandLine)
{
int ret = CommandLineRPC(argc, argv);
exit(ret);
}
if (!fDebug && !pszSetDataDir[0])
ShrinkDebugFile();
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf("Bitcoin version %d.%d.%d%s beta\n", VERSION/10000, (VERSION/100)%100, VERSION%100, pszSubVer);
#ifdef GUI
printf("OS version %s\n", ((string)wxGetOsDescription()).c_str());
printf("System default language is %d %s\n", g_locale.GetSystemLanguage(), ((string)g_locale.GetSysName()).c_str());
printf("Language file %s (%s)\n", (string("locale/") + (string)g_locale.GetCanonicalName() + "/LC_MESSAGES/bitcoin.mo").c_str(), ((string)g_locale.GetLocale()).c_str());
#endif
printf("Default data directory %s\n", GetDefaultDataDir().c_str());
if (mapArgs.count("-loadblockindextest"))
{
CTxDB txdb("r");
txdb.LoadBlockIndex();
PrintBlockTree();
return false;
}
//
// Limit to single instance per user
// Required to protect the database files if we're going to keep deleting log.*
//
#if defined(__WXMSW__) && defined(GUI)
// todo: wxSingleInstanceChecker wasn't working on Linux, never deleted its lock file
// maybe should go by whether successfully bind port 8333 instead
wxString strMutexName = wxString("bitcoin_running.") + getenv("HOMEPATH");
for (int i = 0; i < strMutexName.size(); i++)
if (!isalnum(strMutexName[i]))
strMutexName[i] = '.';
wxSingleInstanceChecker* psingleinstancechecker = new wxSingleInstanceChecker(strMutexName);
if (psingleinstancechecker->IsAnotherRunning())
{
printf("Existing instance found\n");
unsigned int nStart = GetTime();
loop
{
// TODO: find out how to do this in Linux, or replace with wxWidgets commands
// Show the previous instance and exit
HWND hwndPrev = FindWindowA("wxWindowClassNR", "Bitcoin");
if (hwndPrev)
{
if (IsIconic(hwndPrev))
ShowWindow(hwndPrev, SW_RESTORE);
SetForegroundWindow(hwndPrev);
return false;
}
if (GetTime() > nStart + 60)
return false;
// Resume this instance if the other exits
delete psingleinstancechecker;
Sleep(1000);
psingleinstancechecker = new wxSingleInstanceChecker(strMutexName);
if (!psingleinstancechecker->IsAnotherRunning())
break;
}
}
#endif
// Bind to the port early so we can tell if another instance is already running.
// This is a backup to wxSingleInstanceChecker, which doesn't work on Linux.
string strErrors;
if (!BindListenPort(strErrors))
{
wxMessageBox(strErrors, "Bitcoin");
return false;
}
//
// Load data files
//
if (fDaemon)
fprintf(stdout, "bitcoin server starting\n");
strErrors = "";
int64 nStart;
printf("Loading addresses...\n");
nStart = GetTimeMillis();
if (!LoadAddresses())
strErrors += _("Error loading addr.dat \n");
printf(" addresses %15"PRI64d"ms\n", GetTimeMillis() - nStart);
printf("Loading block index...\n");
nStart = GetTimeMillis();
if (!LoadBlockIndex())
strErrors += _("Error loading blkindex.dat \n");
printf(" block index %15"PRI64d"ms\n", GetTimeMillis() - nStart);
printf("Loading wallet...\n");
nStart = GetTimeMillis();
bool fFirstRun;
if (!LoadWallet(fFirstRun))
strErrors += _("Error loading wallet.dat \n");
printf(" wallet %15"PRI64d"ms\n", GetTimeMillis() - nStart);
printf("Done loading\n");
//// debug print
printf("mapBlockIndex.size() = %d\n", mapBlockIndex.size());
printf("nBestHeight = %d\n", nBestHeight);
printf("mapKeys.size() = %d\n", mapKeys.size());
printf("mapPubKeys.size() = %d\n", mapPubKeys.size());
printf("mapWallet.size() = %d\n", mapWallet.size());
printf("mapAddressBook.size() = %d\n", mapAddressBook.size());
if (!strErrors.empty())
{
wxMessageBox(strErrors, "Bitcoin");
return false;
}
// Add wallet transactions that aren't already in a block to mapTransactions
ReacceptWalletTransactions();
//
// Parameters
//
if (mapArgs.count("-printblockindex") || mapArgs.count("-printblocktree"))
{
PrintBlockTree();
return false;
}
if (mapArgs.count("-printblock"))
{
string strMatch = mapArgs["-printblock"];
int nFound = 0;
for (map<uint256, CBlockIndex*>::iterator mi = mapBlockIndex.begin(); mi != mapBlockIndex.end(); ++mi)
{
uint256 hash = (*mi).first;
if (strncmp(hash.ToString().c_str(), strMatch.c_str(), strMatch.size()) == 0)
{
CBlockIndex* pindex = (*mi).second;
CBlock block;
block.ReadFromDisk(pindex);
block.BuildMerkleTree();
block.print();
printf("\n");
nFound++;
}
}
if (nFound == 0)
printf("No blocks matching %s were found\n", strMatch.c_str());
return false;
}
if (mapArgs.count("-gen"))
{
if (mapArgs["-gen"].empty())
fGenerateBitcoins = true;
else
fGenerateBitcoins = (atoi(mapArgs["-gen"].c_str()) != 0);
}
if (mapArgs.count("-proxy"))
{
fUseProxy = true;
addrProxy = CAddress(mapArgs["-proxy"]);
if (!addrProxy.IsValid())
{
wxMessageBox(_("Invalid -proxy address"), "Bitcoin");
return false;
}
}
if (mapArgs.count("-addnode"))
{
foreach(string strAddr, mapMultiArgs["-addnode"])
{
CAddress addr(strAddr, NODE_NETWORK);
addr.nTime = 0; // so it won't relay unless successfully connected
if (addr.IsValid())
AddAddress(addr);
}
}
//
// Create the main window and start the node
//
#ifdef GUI
if (!fDaemon)
CreateMainWindow();
#endif
if (!CheckDiskSpace())
return false;
RandAddSeedPerfmon();
if (!CreateThread(StartNode, NULL))
wxMessageBox("Error: CreateThread(StartNode) failed", "Bitcoin");
if (mapArgs.count("-server") || fDaemon)
CreateThread(ThreadRPCServer, NULL);
#ifdef GUI
if (fFirstRun)
SetStartOnSystemStartup(true);
#endif
return true;
}

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -210,8 +210,8 @@ msgid "From: "
msgstr "De: "
#: ../../../ui.cpp:634
msgid "From: unknown, Received with: "
msgstr "De: Inconnu, reçu depuis: "
msgid "Received with: "
msgstr "Reçu depuis: "
#: ../../../ui.cpp:676
msgid "Payment to yourself"
@@ -351,13 +351,21 @@ msgstr "&Réduire à la fermeture"
#: ../../../ui.cpp:1610
#, c-format
msgid "version %d.%d.%d beta"
msgstr "version %d.%d.%d beta"
msgid "version %s%s BETA"
msgstr "version %s%s BETA"
#: ../../../ui.cpp:1696
msgid "Will appear as \"From: Unknown\""
msgstr "Apparaîtra ainsi \"De: Inconnu\""
#: ../../../ui.cpp:1681
msgid "n/a"
msgstr "Inconnu"
#: ../../../ui.cpp:1681
msgid "Unknown"
msgstr "Inconnu"
#: ../../../ui.cpp:1697
msgid "Can't include a message when sending to a Bitcoin address"
msgstr "Impossible d'inclure un message lors d'un envoi à une adresse Bitcoin"
@@ -551,11 +559,6 @@ msgstr "&Ouvrir Bitcoin"
msgid "O&ptions..."
msgstr "O&ptions..."
#: ../../../ui.cpp:2521
#: ../../../uibase.cpp:32
msgid "&Generate Coins"
msgstr "&Générer des pièces"
#: ../../../ui.cpp:2524
#: ../../../uibase.cpp:25
msgid "E&xit"
@@ -722,7 +725,7 @@ msgstr "version"
#: ../../../uibase.cpp:557
msgid ""
"Copyright (c) 2009-2010 Satoshi Nakamoto.\n"
"Copyright (c) 2009-2010 Bitcoin Developers\n"
"\n"
"This is experimental software.\n"
"\n"
@@ -731,9 +734,9 @@ msgid ""
"\n"
"This product includes software developed by the OpenSSL Project for use in the \n"
"OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by \n"
"Eric Young (eay@cryptsoft.com)."
"Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard."
msgstr ""
"Copyright (c) 2009-2010 Satoshi Nakamoto.\n"
"Copyright (c) 2009-2010 Bitcoin Developers\n"
"\n"
"Ceci est un logiciel expérimental.\n"
"\n"
@@ -742,7 +745,7 @@ msgstr ""
"\n"
"Ce produit comprend des composants logiciels développés pour le Projet OpenSSL \n"
"OpenSSL Toolkit (http://www.openssl.org/) ainsi que des composants cryptographiques \n"
"écrits par Eric Young (eay@cryptsoft.com)."
"écrits par Eric Young (eay@cryptsoft.com) et des logiciels UPnP écrits par Thomas Bernard.."
#: ../../../uibase.cpp:613
msgid "Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L) or IP address (e.g. 123.45.6.7)"

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -0,0 +1,971 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-17 14:07+0100\n"
"PO-Revision-Date: 2011-05-17 14:09+0100\n"
"Last-Translator: Anonymous <anon@none>\n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: _;gettext;gettext_noop\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-SearchPath-0: ../../..\n"
#: ../../../src/net.cpp:1503
#, c-format
msgid "Unable to bind to port %d on this computer. Bitcoin is probably already running."
msgstr "Neįmanoma prisijungti prie šio kompiuterio porto %d. Bitcoin programa tikriausiai jau yra paleista"
#: ../../../src/ui.cpp:204
#, c-format
msgid "This transaction is over the size limit. You can still send it for a fee of %s, which goes to the nodes that process your transaction and helps to support the network. Do you want to pay the fee?"
msgstr "Šis pervedimas viršija dydžio limitą. Jūs galite siūsti šią suma sumokėję %s mokestį, kuris bus skirtas nodams už persiuntimą ir padėti tinklui. Ar sutinkate pridėti ši mokestį?"
#: ../../../src/ui.cpp:303
msgid "Status"
msgstr "Būklė"
#: ../../../src/ui.cpp:304
msgid "Date"
msgstr "Data"
#: ../../../src/ui.cpp:305
msgid "Description"
msgstr "Apibūdinimas"
#: ../../../src/ui.cpp:306
msgid "Debit"
msgstr "Debetas"
#: ../../../src/ui.cpp:307
msgid "Credit"
msgstr "Kreditas"
#: ../../../src/ui.cpp:513
#, c-format
msgid "Open for %d blocks"
msgstr "Atidaryta %d blokams"
#: ../../../src/ui.cpp:515
#, c-format
msgid "Open until %s"
msgstr "Atidaryta iki %s"
#: ../../../src/ui.cpp:521
#, c-format
msgid "%d/offline?"
msgstr "%d/neprisijunges?"
#: ../../../src/ui.cpp:523
#, c-format
msgid "%d/unconfirmed"
msgstr "%d/ nepatvirtinta"
#: ../../../src/ui.cpp:525
#, c-format
msgid "%d confirmations"
msgstr "%d patvirtinta"
#: ../../../src/ui.cpp:610
msgid "Generated"
msgstr "Sugeneruota"
#: ../../../src/ui.cpp:618
#, c-format
msgid "Generated (%s matures in %d more blocks)"
msgstr "Sugeneruota (%s bus galima naudoti už %d blokų)"
#: ../../../src/ui.cpp:622
msgid "Generated - Warning: This block was not received by any other nodes and will probably not be accepted!"
msgstr "Sugeneruota - Perspėjimas: Šio bloko negavo kiti nodai ir jis tikriausiai nebus priimtas!"
#: ../../../src/ui.cpp:626
msgid "Generated (not accepted)"
msgstr "Sugeneruota (nepriimta)"
#: ../../../src/ui.cpp:636
msgid "From: "
msgstr "Nuo: "
#: ../../../src/ui.cpp:660
msgid "Received with: "
msgstr "Priimta su: "
#: ../../../src/ui.cpp:706
msgid "Payment to yourself"
msgstr "Pervedimas sau"
#: ../../../src/ui.cpp:740
msgid "To: "
msgstr "Kam: "
#: ../../../src/ui.cpp:1055
msgid " Generating"
msgstr " Generuojama"
#: ../../../src/ui.cpp:1057
msgid "(not connected)"
msgstr "(neprijungta)"
#: ../../../src/ui.cpp:1060
#, c-format
msgid " %d connections %d blocks %d transactions"
msgstr " %d Jungtys %d Blokai %d pervedimai"
#: ../../../src/ui.cpp:1165
#: ../../../src/ui.cpp:2529
msgid "New Receiving Address"
msgstr "Naujas priėmimo adresas"
#: ../../../src/ui.cpp:1166
#: ../../../src/ui.cpp:2530
msgid ""
"You should use a new address for each payment you receive.\n"
"\n"
"Label"
msgstr ""
"Naudokite naują adresas kiekvienam pervedimui.\n"
"\n"
"Pavadinimas"
#: ../../../src/ui.cpp:1235
msgid "<b>Status:</b> "
msgstr "<b>Būklė:</b> "
#: ../../../src/ui.cpp:1240
msgid ", has not been successfully broadcast yet"
msgstr ", dar nėra paskelbta"
#: ../../../src/ui.cpp:1242
#, c-format
msgid ", broadcast through %d node"
msgstr ", paskelbta per %d nodą"
#: ../../../src/ui.cpp:1244
#, c-format
msgid ", broadcast through %d nodes"
msgstr ", paskelbta per %d nodus"
#: ../../../src/ui.cpp:1248
msgid "<b>Date:</b> "
msgstr "<b>Data:</b> "
#: ../../../src/ui.cpp:1256
msgid "<b>Source:</b> Generated<br>"
msgstr "<b>Iš:</b> Sugeneruota<br>"
#: ../../../src/ui.cpp:1262
#: ../../../src/ui.cpp:1280
msgid "<b>From:</b> "
msgstr "<b>Nuo:</b> "
#: ../../../src/ui.cpp:1280
msgid "unknown"
msgstr "nežinomas"
#: ../../../src/ui.cpp:1281
#: ../../../src/ui.cpp:1305
#: ../../../src/ui.cpp:1364
msgid "<b>To:</b> "
msgstr "<b>Kam:</b> "
#: ../../../src/ui.cpp:1284
msgid " (yours, label: "
msgstr " (jūsų, pavadinimas: "
#: ../../../src/ui.cpp:1286
msgid " (yours)"
msgstr " (jūsų)"
#: ../../../src/ui.cpp:1323
#: ../../../src/ui.cpp:1335
#: ../../../src/ui.cpp:1381
#: ../../../src/ui.cpp:1398
msgid "<b>Credit:</b> "
msgstr "<b>Kreditas:</b> "
#: ../../../src/ui.cpp:1325
#, c-format
msgid "(%s matures in %d more blocks)"
msgstr "(%s bus galima naudoti už %d blokų)"
#: ../../../src/ui.cpp:1327
msgid "(not accepted)"
msgstr "(nepriimta)"
#: ../../../src/ui.cpp:1372
#: ../../../src/ui.cpp:1380
#: ../../../src/ui.cpp:1395
msgid "<b>Debit:</b> "
msgstr "<b>Debetas:</b> "
#: ../../../src/ui.cpp:1386
msgid "<b>Transaction fee:</b> "
msgstr "<b>Pervedimo mokestis:</b> "
#: ../../../src/ui.cpp:1402
msgid "<b>Net amount:</b> "
msgstr "<b>Neto suma:</b> "
#: ../../../src/ui.cpp:1409
msgid "Message:"
msgstr "Žinutė:"
#: ../../../src/ui.cpp:1411
msgid "Comment:"
msgstr "Komentaras:"
#: ../../../src/ui.cpp:1414
msgid "Generated coins must wait 120 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, it will change to \"not accepted\" and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours."
msgstr "Turite palaukti 120 blokų, kol galėsite išleisti sugeneruotas monetas. Kai sugeneravotė šį blokai, jis buvo paskelbtas tinklui ir bus pridėtas į blokų grandinę. Jei šio bloko tinklas nepriims i grandinė, jis pasikeis į \"nepriimtas\" ir negali būti išleidžiamas. Tai gali kartais nutikti jei kitas nodas sugeneravo bloką keliom sekundėm anksčiau."
#: ../../../src/ui.cpp:1594
msgid "Cannot write autostart/bitcoin.desktop file"
msgstr "Nepavyksta įrašyti į autostart/bitcoin.desktop failą"
#: ../../../src/ui.cpp:1630
msgid "Main"
msgstr "Pagrindinis"
#: ../../../src/ui.cpp:1638
msgid "&Start Bitcoin on window system startup"
msgstr "&Paleisti Bitcoin kai pasileižia operacinė sistema"
#: ../../../src/ui.cpp:1645
msgid "&Minimize on close"
msgstr "&Sumažinti kai uždaroma"
#: ../../../src/ui.cpp:1787
#, c-format
msgid "version %s"
msgstr "versija %s"
#: ../../../src/ui.cpp:1899
msgid "Error in amount "
msgstr "Klaidinga suma"
#: ../../../src/ui.cpp:1899
#: ../../../src/ui.cpp:1904
#: ../../../src/ui.cpp:1909
#: ../../../src/ui.cpp:1944
#: ../../../src/uibase.cpp:55
msgid "Send Coins"
msgstr "Siūsti monetas"
#: ../../../src/ui.cpp:1904
msgid "Amount exceeds your balance "
msgstr "Suma viršija jūsų balasą"
#: ../../../src/ui.cpp:1909
msgid "Total exceeds your balance when the "
msgstr "Bendra suma viršija jūsu balansą kai"
#: ../../../src/ui.cpp:1909
msgid " transaction fee is included "
msgstr "pervedimo suma įskaičiuota"
#: ../../../src/ui.cpp:1927
msgid "Payment sent "
msgstr "Mokestis išsiųstas"
#: ../../../src/ui.cpp:1927
#: ../../../src/ui.cpp:1932
#: ../../../src/ui.cpp:2076
#: ../../../src/ui.cpp:2229
#: ../../../src/main.cpp:3997
msgid "Sending..."
msgstr "Siunčia..."
#: ../../../src/ui.cpp:1944
msgid "Invalid address "
msgstr "Klaidingas adresas"
#: ../../../src/ui.cpp:1997
#, c-format
msgid "Sending %s to %s"
msgstr "Siunčia %s į %s"
#: ../../../src/ui.cpp:2070
#: ../../../src/ui.cpp:2103
msgid "CANCELLED"
msgstr "NUTRAUKTA"
#: ../../../src/ui.cpp:2074
msgid "Cancelled"
msgstr "Nutraukta"
#: ../../../src/ui.cpp:2076
msgid "Transfer cancelled "
msgstr "Siuntimas nutrauktas"
#: ../../../src/ui.cpp:2129
msgid "Error: "
msgstr "Klaida:"
#: ../../../src/ui.cpp:2143
#: ../../../src/ui.cpp:2214
#: ../../../src/main.cpp:4016
msgid "Insufficient funds"
msgstr "Nepakankamai monetų"
#: ../../../src/ui.cpp:2148
msgid "Connecting..."
msgstr "Jungiasi..."
#: ../../../src/ui.cpp:2153
msgid "Unable to connect"
msgstr "Negali prisijungti"
#: ../../../src/ui.cpp:2158
msgid "Requesting public key..."
msgstr "Prašo \"viešojo rakto\"(public key)..."
#: ../../../src/ui.cpp:2170
msgid "Received public key..."
msgstr "Gautas \"viešasis raktas\"(public key)..."
#: ../../../src/ui.cpp:2184
msgid "Recipient is not accepting transactions sent by IP address"
msgstr "Gavėjas nepriima pervedimų siunčiamų iš IP adresų"
#: ../../../src/ui.cpp:2186
msgid "Transfer was not accepted"
msgstr "Persiuntimas nepriimtas"
#: ../../../src/ui.cpp:2195
msgid "Invalid response received"
msgstr "Gautas klaidingas atsakymas"
#: ../../../src/ui.cpp:2210
msgid "Creating transaction..."
msgstr "Kuriamas pervedimas..."
#: ../../../src/ui.cpp:2222
#, c-format
msgid "This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds"
msgstr "Šis pervedimas reikalauja %s mokesčio dėl jo sumos, sudėtingumo arba dėl to, kad šie pinigai buvo neseniai gauti"
#: ../../../src/ui.cpp:2224
msgid "Transaction creation failed"
msgstr "Pervedimo sukurti nepavyko"
#: ../../../src/ui.cpp:2231
msgid "Transaction aborted"
msgstr "Pervedimas nutrauktas"
#: ../../../src/ui.cpp:2239
msgid "Lost connection, transaction cancelled"
msgstr "Prarastas ryšys, pervedimas nutrauktas"
#: ../../../src/ui.cpp:2255
msgid "Sending payment..."
msgstr "Monetos siunčiamos..."
#: ../../../src/ui.cpp:2261
msgid "The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here."
msgstr "Pervedimas buvo atmestas. Tai galėjo atsitikti jei dalis jūsų monetų jau buvo išleista. Pvz.: Jei nodojote kopija wallet.dat kitame kliente ir monetos buvo išleistos ten, bet nepažymėtos kaip išleistos čia."
#: ../../../src/ui.cpp:2270
msgid "Waiting for confirmation..."
msgstr "Laukia patvirtinimo..."
#: ../../../src/ui.cpp:2288
msgid ""
"The payment was sent, but the recipient was unable to verify it.\n"
"The transaction is recorded and will credit to the recipient,\n"
"but the comment information will be blank."
msgstr ""
"Pervedimas išsiūstas, bet gavėjas negalėjo jo patvirtinti.\n"
"Pervedimas įrašytas ir suma bus kredituojama gavėjui,\n"
"bet komentaro informacija nebus rodoma."
#: ../../../src/ui.cpp:2297
msgid "Payment was sent, but an invalid response was received"
msgstr "Pervedimas išsiūstas, bet klaidingas atsakymas gautas"
#: ../../../src/ui.cpp:2303
msgid "Payment completed"
msgstr "Pervedimas pavyko"
#: ../../../src/ui.cpp:2334
#: ../../../src/ui.cpp:2480
#: ../../../src/ui.cpp:2517
msgid "Name"
msgstr "Vardas"
#: ../../../src/ui.cpp:2335
#: ../../../src/ui.cpp:2480
#: ../../../src/ui.cpp:2517
msgid "Address"
msgstr "Adresas"
#: ../../../src/ui.cpp:2337
#: ../../../src/ui.cpp:2492
msgid "Label"
msgstr "Pavadinimas"
#: ../../../src/ui.cpp:2338
#: ../../../src/uibase.cpp:837
msgid "Bitcoin Address"
msgstr "Bitcoin Adresas"
#: ../../../src/ui.cpp:2462
msgid "This is one of your own addresses for receiving payments and cannot be entered in the address book. "
msgstr "Tai vienas iš jūsų adresų priimti pervedimams ir negali būti įvestas i adresų knygą"
#: ../../../src/ui.cpp:2480
#: ../../../src/ui.cpp:2486
msgid "Edit Address"
msgstr "Pakeisti Adresą"
#: ../../../src/ui.cpp:2492
msgid "Edit Address Label"
msgstr "Pakeisti adreso pavadinimą"
#: ../../../src/ui.cpp:2517
#: ../../../src/ui.cpp:2523
msgid "Add Address"
msgstr "Pridėti adresą"
#: ../../../src/ui.cpp:2600
msgid "Bitcoin"
msgstr "Bitcoin"
#: ../../../src/ui.cpp:2602
msgid "Bitcoin - Generating"
msgstr "Bitcoin - Generuoja"
#: ../../../src/ui.cpp:2604
msgid "Bitcoin - (not connected)"
msgstr "Bitcoin - (neprijungta)"
#: ../../../src/ui.cpp:2683
msgid "&Open Bitcoin"
msgstr "&Atidaryti Bitcoin"
#: ../../../src/ui.cpp:2684
#, fuzzy
msgid "&Send Bitcoins"
msgstr "&Atidaryti Bitcoin"
#: ../../../src/ui.cpp:2685
msgid "O&ptions..."
msgstr "P&arametrai..."
#: ../../../src/ui.cpp:2688
#: ../../../src/uibase.cpp:25
msgid "E&xit"
msgstr "&Išeiti"
#: ../../../src/ui.cpp:2904
msgid "Program has crashed and will terminate. "
msgstr "Programa neveikia ir bus uždaryta"
#: ../../../src/main.cpp:1866
msgid "Warning: Disk space is low "
msgstr "Perspėjimas: Diske trūksta vietos"
#: ../../../src/main.cpp:3990
#, c-format
msgid "Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds "
msgstr "Klaida: Šis pervedimas reikalauja %s mokesčio dėl jo sumos, sudėtingumo arba dėl to, kad šie pinigai buvo neseniai gauti "
#: ../../../src/main.cpp:3992
msgid "Error: Transaction creation failed "
msgstr "Klaida: Pervedimo sukurti nepavyko "
#: ../../../src/main.cpp:4001
msgid "Error: The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here."
msgstr "Klaida: Pervedimas nepavyko. Tai galėjo atsitikti jei dalis jūsų monetų jau buvo išleista. Pvz.: Jei nodojote kopija wallet.dat kitame kliente ir monetos buvo išleistos ten, bet nepažymėtos kaip išleistos čia."
#: ../../../src/main.cpp:4014
msgid "Invalid amount"
msgstr "Neteisinga suma"
#: ../../../src/main.cpp:4021
msgid "Invalid bitcoin address"
msgstr "Klaidingas bitcoin adresas"
#: ../../../src/rpc.cpp:1802
#: ../../../src/rpc.cpp:1804
#, c-format
msgid "To use the %s option"
msgstr "Kad naudoti %s parametrą"
#: ../../../src/rpc.cpp:1806
#, c-format
msgid ""
"Warning: %s, you must set rpcpassword=<password>\n"
"in the configuration file: %s\n"
"If the file does not exist, create it with owner-readable-only file permissions.\n"
msgstr ""
"Perspėjimas: %s, jūs privalote nustatyti rpcpassword=<slaptažodis>\n"
"Konfiguracijos faile: %s\n"
"Jei failas neegzistuoja, sukurkite jį su owner-readable-only failo teisėmis.\n"
#: ../../../src/rpc.cpp:1974
#, c-format
msgid ""
"You must set rpcpassword=<password> in the configuration file:\n"
"%s\n"
"If the file does not exist, create it with owner-readable-only file permissions."
msgstr ""
"Jūs privalote nustatyti rpcpassword=<slaptažodis> Konfiguracijos faile:\n"
"%s\n"
"Jei failas neegzistuoja, sukurkite jį su owner-readable-only failo teisėm."
#: ../../../src/util.cpp:866
msgid "Warning: Please check that your computer's date and time are correct. If your clock is wrong Bitcoin will not work properly."
msgstr "Perspėjimas: Prašome patikrinti kompiuterio laiką ir datą. Jei laikas neteisingai nustatytas, Bitcoin neveiks."
#: ../../../src/util.cpp:899
msgid "beta"
msgstr "beta"
#: ../../../src/uibase.cpp:28
msgid "&File"
msgstr "&Byla"
#: ../../../src/uibase.cpp:32
msgid "&Your Receiving Addresses..."
msgstr "&Jūsų priimantys adresai..."
#: ../../../src/uibase.cpp:36
msgid "&Options..."
msgstr "&Parametrai"
#: ../../../src/uibase.cpp:39
msgid "&Settings"
msgstr "N&ustatymai"
#: ../../../src/uibase.cpp:43
msgid "&About..."
msgstr "&О Apie..."
#: ../../../src/uibase.cpp:46
msgid "&Help"
msgstr "&Pagalba"
#: ../../../src/uibase.cpp:56
msgid "Address Book"
msgstr "Adresų knyga"
#: ../../../src/uibase.cpp:69
msgid "Your Bitcoin Address:"
msgstr "Jūsų Bitcoin Adresas:"
#: ../../../src/uibase.cpp:76
msgid " &New... "
msgstr " &Naujas... "
#: ../../../src/uibase.cpp:79
#: ../../../src/uibase.cpp:780
#: ../../../src/uibase.cpp:883
msgid " &Copy to Clipboard "
msgstr "&Kopijuoti"
#: ../../../src/uibase.cpp:93
msgid "Balance:"
msgstr "Balansas:"
#: ../../../src/uibase.cpp:109
msgid " All"
msgstr "Visi"
#: ../../../src/uibase.cpp:109
msgid " Sent"
msgstr "Išsiūsta"
#: ../../../src/uibase.cpp:109
msgid " Received"
msgstr "Priimta"
#: ../../../src/uibase.cpp:109
msgid " In Progress"
msgstr "Progrese"
#: ../../../src/uibase.cpp:130
msgid "All Transactions"
msgstr "Visi pervedimai"
#: ../../../src/uibase.cpp:141
msgid "Sent/Received"
msgstr "Išsiųsti/Priimti"
#: ../../../src/uibase.cpp:152
msgid "Sent"
msgstr "Išsiūsti"
#: ../../../src/uibase.cpp:163
msgid "Received"
msgstr "Priimti"
#: ../../../src/uibase.cpp:302
#: ../../../src/uibase.cpp:443
#: ../../../src/uibase.cpp:542
#: ../../../src/uibase.cpp:722
#: ../../../src/uibase.cpp:783
#: ../../../src/uibase.cpp:892
#: ../../../src/uibase.cpp:981
msgid "OK"
msgstr "Gerai"
#: ../../../src/uibase.cpp:345
msgid "&Start Bitcoin on system startup"
msgstr "&Paleisti Bitcoin kai pasileidžia operacinė sistema"
#: ../../../src/uibase.cpp:348
msgid "&Minimize to the tray instead of the taskbar"
msgstr "&Sumažinti į \"tray\" vietoj \"taskbar\""
#: ../../../src/uibase.cpp:351
msgid "Map port using &UPnP"
msgstr "Peradresuoti porta naudojant &UPnP"
#: ../../../src/uibase.cpp:354
msgid "M&inimize to the tray on close"
msgstr "Su&mažinti į \"tray\" kai uždaroma"
#: ../../../src/uibase.cpp:360
msgid "&Connect through socks4 proxy: "
msgstr "&Prisijungti per socks4 proksį: "
#: ../../../src/uibase.cpp:371
msgid "Proxy &IP:"
msgstr "P&roksio IP:"
#: ../../../src/uibase.cpp:379
msgid " &Port:"
msgstr " &Portas"
#: ../../../src/uibase.cpp:392
msgid "Optional transaction fee per KB that helps make sure your transactions are processed quickly. Most transactions are 1KB. Fee 0.01 recommended."
msgstr "Pasirintinis pervedimo mokestis per KB, kuris padeda jį ivykdyti greičiau. Dauguma pervedimų yra 1KB. Rekomencuojamas mokestis 0.01."
#: ../../../src/uibase.cpp:399
#, fuzzy
msgid "Pay transaction fee:"
msgstr "Pervedimo mokestis:"
#: ../../../src/uibase.cpp:420
msgid "// [don't translate] Test panel 2 for future expansion"
msgstr ""
#: ../../../src/uibase.cpp:424
msgid "// [don't translate] Let's not start multiple pages until the first page is filled up"
msgstr ""
#: ../../../src/uibase.cpp:446
#: ../../../src/uibase.cpp:668
#: ../../../src/uibase.cpp:727
#: ../../../src/uibase.cpp:786
#: ../../../src/uibase.cpp:895
#: ../../../src/uibase.cpp:984
msgid "Cancel"
msgstr "Nutraukti"
#: ../../../src/uibase.cpp:449
msgid "&Apply"
msgstr "&Nustatyti"
#: ../../../src/uibase.cpp:508
msgid "Bitcoin "
msgstr "Bitcoin "
#: ../../../src/uibase.cpp:514
msgid "version"
msgstr "versija"
#: ../../../src/uibase.cpp:525
#, fuzzy
msgid ""
"Copyright (c) 2009-2011 Bitcoin Developers\n"
"\n"
"This is experimental software.\n"
"\n"
"Distributed under the MIT/X11 software license, see the accompanying file \n"
"license.txt or http://www.opensource.org/licenses/mit-license.php.\n"
"\n"
"This product includes software developed by the OpenSSL Project for use in the \n"
"OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by \n"
"Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard."
msgstr ""
"Autorinė teisė (c) 2009-2010 Bitcoin Developers\n"
"\n"
"Ši programa yra eksperimentinė.\n"
"\n"
"Išleista ir teisės saugomos pagal MIT/X11 programų licenziją, kuri detaliau aprašyra faile \n"
"license.txt ir http://www.opensource.org/licenses/mit-license.php.\n"
"\n"
"Šis produktas turi programą iš OpenSSL projekto, kuri naudojamas \n"
"OpenSSL Toolkit (http://www.openssl.org/), kriptografinę programą parašyta \n"
"Eric Young (eay@cryptsoft.com) ir UPnP programą parašyta Thomas Bernard."
#: ../../../src/uibase.cpp:581
msgid "Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)"
msgstr "Įveskite Bitcoin adresą (pvz.: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)"
#: ../../../src/uibase.cpp:595
msgid "Pay &To:"
msgstr "&Kam:"
#: ../../../src/uibase.cpp:610
msgid "&Paste"
msgstr "&Įrašyti"
#: ../../../src/uibase.cpp:613
msgid " Address &Book..."
msgstr " &Adresų knyga..."
#: ../../../src/uibase.cpp:620
msgid "&Amount:"
msgstr "S&uma:"
#: ../../../src/uibase.cpp:630
msgid "T&ransfer:"
msgstr "&Pervedimas:"
#: ../../../src/uibase.cpp:636
msgid " Standard"
msgstr "Standartinis"
#: ../../../src/uibase.cpp:663
msgid "&Send"
msgstr "&Siūsti"
#: ../../../src/uibase.cpp:711
msgid ""
"\n"
"\n"
"Connecting..."
msgstr ""
"\n"
"\n"
"Jungiasi..."
#: ../../../src/uibase.cpp:761
msgid "These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. The highlighted address is displayed in the main window."
msgstr "Tai yra jūsų Bitcoin adresai priimti pervedimus. Galite duoti skirtinga adresa kiekvienam siuntėjui, kad žinotumėte kas jums moka. Pažymėtas adresas bus rodomas pagrindiniame lange."
#: ../../../src/uibase.cpp:774
#: ../../../src/uibase.cpp:886
msgid "&Edit..."
msgstr "&Pakeisti..."
#: ../../../src/uibase.cpp:777
#: ../../../src/uibase.cpp:889
msgid " &New Address... "
msgstr " &Naujas Adresas... "
#: ../../../src/uibase.cpp:849
msgid "Sending"
msgstr "Siunčiama"
#: ../../../src/uibase.cpp:857
msgid "These are your Bitcoin addresses for receiving payments. You can give a different one to each sender to keep track of who is paying you. The highlighted address will be displayed in the main window."
msgstr "Tai yra jūsų Bitcoin adresai priimti pervedimus. Galite duoti skirtinga adresa kiekvienam siuntėjui, kad žinotumėte kas jums moka. Pažymėtas adresas bus rodomas pagrindiniame lange."
#: ../../../src/uibase.cpp:870
msgid "Receiving"
msgstr "Priėmimo"
#: ../../../src/uibase.cpp:880
msgid "&Delete"
msgstr "&Ištrinti"
#: ../../../src/init.cpp:142
msgid "Bitcoin version"
msgstr "Bitcoin version"
#: ../../../src/init.cpp:143
msgid "Usage:"
msgstr "Komandų vartojimas:"
#: ../../../src/init.cpp:145
msgid "Send command to -server or bitcoind\n"
msgstr "Siūsti komandą i -server arba bitcoind\n"
#: ../../../src/init.cpp:146
msgid "List commands\n"
msgstr "Parodyti visas komandas\n"
#: ../../../src/init.cpp:147
msgid "Get help for a command\n"
msgstr "Komandos paaiškinimas\n"
#: ../../../src/init.cpp:148
msgid "Options:\n"
msgstr "Parametrai\n"
#: ../../../src/init.cpp:149
msgid "Specify configuration file (default: bitcoin.conf)\n"
msgstr "Nurodyti konfiguracijos failą (pagal nutylėjimą: bitcoin.conf)\n"
#: ../../../src/init.cpp:150
#, fuzzy
msgid "Specify pid file (default: bitcoind.pid)\n"
msgstr "Nurodyti konfiguracijos failą (pagal nutylėjimą: bitcoin.conf)\n"
#: ../../../src/init.cpp:151
msgid "Generate coins\n"
msgstr "Generuoti monetas\n"
#: ../../../src/init.cpp:152
msgid "Don't generate coins\n"
msgstr "Negeneruoti monetų\n"
#: ../../../src/init.cpp:153
msgid "Start minimized\n"
msgstr "Paleisti minimizuotą klientą\n"
#: ../../../src/init.cpp:154
msgid "Specify data directory\n"
msgstr "Nurodyti duomenų direktoriją\n"
#: ../../../src/init.cpp:155
msgid "Connect through socks4 proxy\n"
msgstr "Prisijungti per socks4 proksį\n"
#: ../../../src/init.cpp:156
msgid "Allow DNS lookups for addnode and connect\n"
msgstr "Leisti DNS lookups addnode ir connect komandoms\n"
#: ../../../src/init.cpp:157
msgid "Add a node to connect to\n"
msgstr "Pridėti nodą prie kurio bus jungiamasi\n"
#: ../../../src/init.cpp:158
msgid "Connect only to the specified node\n"
msgstr "Prisijungti tik prie šio nodo\n"
#: ../../../src/init.cpp:159
msgid "Don't accept connections from outside\n"
msgstr "Neleisti prisijungti iš išorės\n"
#: ../../../src/init.cpp:162
msgid "Don't attempt to use UPnP to map the listening port\n"
msgstr "Nenaudoti UPnP klausančio porto peradresavimui\n"
#: ../../../src/init.cpp:164
msgid "Attempt to use UPnP to map the listening port\n"
msgstr "Pamėginti naudoti UPnP klausančio porto peradresavimui\n"
#: ../../../src/init.cpp:167
msgid "Fee per KB to add to transactions you send\n"
msgstr "Mokestis per KB pridedamas prie siunčiamo pervedimo\n"
#: ../../../src/init.cpp:169
msgid "Accept command line and JSON-RPC commands\n"
msgstr "Priimti komandas iš terminalo ir JSON-RPC\n"
#: ../../../src/init.cpp:172
msgid "Run in the background as a daemon and accept commands\n"
msgstr "Paleisti daemon\n"
#: ../../../src/init.cpp:174
msgid "Use the test network\n"
msgstr "Naudoti bandomajį tinklą\n"
#: ../../../src/init.cpp:175
msgid "Username for JSON-RPC connections\n"
msgstr "Naudotojo vardas JSON-RPC prisijungimui\n"
#: ../../../src/init.cpp:176
msgid "Password for JSON-RPC connections\n"
msgstr "Slaptažodis JSON-RPC prisijungimui\n"
#: ../../../src/init.cpp:177
msgid "Listen for JSON-RPC connections on <port> (default: 8332)\n"
msgstr "Klausyti JSON-RPC prisijungimų ant <port> (pagal nutylėjimą: 8332)\n"
#: ../../../src/init.cpp:178
msgid "Allow JSON-RPC connections from specified IP address\n"
msgstr "Leisti JSON-RPC prisijungimą iš tam tikrų IP adresų\n"
#: ../../../src/init.cpp:179
msgid "Send commands to node running on <ip> (default: 127.0.0.1)\n"
msgstr "Siūsti komandas į nodą kuris yra <ip> (pagal nutylėjimą: 127.0.0.1)\n"
#: ../../../src/init.cpp:180
msgid "Set key pool size to <n> (default: 100)\n"
msgstr "Nustatyti kiek raktų skaičių <n> (pagal nutylėjimą: 100)\n"
#: ../../../src/init.cpp:181
msgid "Rescan the block chain for missing wallet transactions\n"
msgstr "Perskanuoti blokų grandinę dėl trūkstamų pervedimų\n"
#: ../../../src/init.cpp:185
msgid ""
"\n"
"SSL options: (see the Bitcoin Wiki for SSL setup instructions)\n"
msgstr ""
"\n"
"SSL parametrai: (aplankykite Bitcoin Wiki dėl SSL nustatymų)\n"
#: ../../../src/init.cpp:186
msgid "Use OpenSSL (https) for JSON-RPC connections\n"
msgstr "Naudoti OpenSSL (https) JSON-RPC prisijungimui\n"
#: ../../../src/init.cpp:187
msgid "Server certificate file (default: server.cert)\n"
msgstr "Serverio sertifikato failas (pagal nutylėjimą: server.cert)\n"
#: ../../../src/init.cpp:188
msgid "Server private key (default: server.pem)\n"
msgstr "Serverio privatus raktas (pagal nutylėjimą: server.pem)\n"
#: ../../../src/init.cpp:189
msgid "Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)\n"
msgstr "Priimtinas šifras (pagal nutylėjimą: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)\n"
#: ../../../src/init.cpp:193
msgid "This help message\n"
msgstr "Ši pagalbos žinutė\n"
#: ../../../src/init.cpp:330
#, c-format
msgid "Cannot obtain a lock on data directory %s. Bitcoin is probably already running."
msgstr "Neranda duomenų directorijos %s. Bitcoin programa tikriausiai jau paleista."
#: ../../../src/init.cpp:356
msgid "Error loading addr.dat \n"
msgstr "Klaida nuskaitant addr.dat \n"
#: ../../../src/init.cpp:362
msgid "Error loading blkindex.dat \n"
msgstr "Klaida nuskaitant blkindex.dat \n"
#: ../../../src/init.cpp:369
msgid "Error loading wallet.dat \n"
msgstr "Klaida nuskaitant wallet.dat \n"
#: ../../../src/init.cpp:449
msgid "Invalid -proxy address"
msgstr "Klaidingas -proxy adresas"
#: ../../../src/init.cpp:472
msgid "Invalid amount for -paytxfee=<amount>"
msgstr "Klaidinga suma -paytxfee=<amount>"
#: ../../../src/init.cpp:476
msgid "Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction."
msgstr "Perspėjimas: -paytxfee yra nustatyta labai aukšta suma. Ši suma bus nuskaičiuota kaip mokestis darant pervedimą"
#: ../../../src/uibase.h:147
msgid "Transaction Details"
msgstr "Pervedimų detalės"
#: ../../../src/uibase.h:199
msgid "Options"
msgstr "Parametrai"
#: ../../../src/uibase.h:228
msgid "About Bitcoin"
msgstr "Apie Bitcoin"
#: ../../../src/uibase.h:337
msgid "Your Bitcoin Addresses"
msgstr "Jūsų Bitcoin Adresas"

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,978 @@
msgid ""
msgstr ""
"Project-Id-Version: Bitcoin\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-06-28 20:11+0100\n"
"PO-Revision-Date: \n"
"Last-Translator: Krystian Maksymowicz <krystian.maksymowicz@gmail.com>\n"
"Language-Team: Spiechu <spiechu@gmail.com>, Krystian Maksymowicz <krystian.maksymowicz@gmail.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: \n"
"X-Poedit-Language: Polish\n"
"X-Poedit-Country: POLAND\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-KeywordsList: _;gettext;gettext_noop\n"
"X-Poedit-Basepath: .\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
"X-Poedit-SearchPath-0: ../../..\n"
#: ../../../src/net.cpp:1590
#, c-format
msgid "Unable to bind to port %d on this computer. Bitcoin is probably already running."
msgstr "Powiązanie z portem %d nie powiodło się. Prawdopodobnie Bitcoin jest już uruchomiony."
#: ../../../src/init.cpp:162
msgid "Bitcoin version"
msgstr "Wersja Bitcoin"
#: ../../../src/init.cpp:163
msgid "Usage:"
msgstr "Zastosowanie:"
#: ../../../src/init.cpp:165
msgid "Send command to -server or bitcoind\n"
msgstr "Wyślij polecenie do -server lub bitcoind\n"
#: ../../../src/init.cpp:166
msgid "List commands\n"
msgstr "Lista komend\n"
#: ../../../src/init.cpp:167
msgid "Get help for a command\n"
msgstr "Wyświetl pomoc dla komendy\n"
#: ../../../src/init.cpp:168
msgid "Options:\n"
msgstr "Opcje:\n"
#: ../../../src/init.cpp:169
msgid "Specify configuration file (default: bitcoin.conf)\n"
msgstr "Określ plik konfiguracyjny (domyślnie: bitcoin.conf)\n"
#: ../../../src/init.cpp:170
msgid "Specify pid file (default: bitcoind.pid)\n"
msgstr "Określ plik pid (domyślnie: bitcoind.pid)\n"
#: ../../../src/init.cpp:171
msgid "Generate coins\n"
msgstr "Generuj monety\n"
#: ../../../src/init.cpp:172
msgid "Don't generate coins\n"
msgstr "Nie generuj monet\n"
#: ../../../src/init.cpp:173
msgid "Start minimized\n"
msgstr "Uruchom zminimalizowany\n"
#: ../../../src/init.cpp:174
msgid "Specify data directory\n"
msgstr "Określ katalog danych\n"
#: ../../../src/init.cpp:175
msgid "Specify connection timeout (in milliseconds)\n"
msgstr "Ustaw limit czasu połączenia (w milisekundach)\n"
#: ../../../src/init.cpp:176
msgid "Connect through socks4 proxy\n"
msgstr "Połącz przez proxy socks4\n"
# 2do
#: ../../../src/init.cpp:177
msgid "Allow DNS lookups for addnode and connect\n"
msgstr "Umożliwiaj wyszukiwanie DNS przy dodawaniu węzła i połączenia\n"
# 2do
#: ../../../src/init.cpp:178
msgid "Add a node to connect to\n"
msgstr "Dodaj węzeł do którego połączyć\n"
#: ../../../src/init.cpp:179
msgid "Connect only to the specified node\n"
msgstr "Łącz tylko z wybranym węzłem\n"
#: ../../../src/init.cpp:180
msgid "Don't accept connections from outside\n"
msgstr "Nie akceptuj połączeń z zewnątrz\n"
#: ../../../src/init.cpp:183
msgid "Don't attempt to use UPnP to map the listening port\n"
msgstr "Nie próbuj użyć UPnP dla mapowania portu nasłuchu\n"
#: ../../../src/init.cpp:185
msgid "Attempt to use UPnP to map the listening port\n"
msgstr "Próbuj użyć UPnP dla mapowania portu nasłuchu\n"
#: ../../../src/init.cpp:188
msgid "Fee per KB to add to transactions you send\n"
msgstr "Prowizja na KB dodawana do transakcji, które wysyłasz\n"
#: ../../../src/init.cpp:190
msgid "Accept command line and JSON-RPC commands\n"
msgstr "Akceptuj polecenia linii poleceń i JSON-RPC\n"
#: ../../../src/init.cpp:193
msgid "Run in the background as a daemon and accept commands\n"
msgstr "Uruchom w tle (daemon) i akceptuj komendy\n"
#: ../../../src/init.cpp:195
msgid "Use the test network\n"
msgstr "Użyj sieci testowej\n"
#: ../../../src/init.cpp:196
msgid "Username for JSON-RPC connections\n"
msgstr "Nazwa użytkownika dla połączeń JSON-RPC\n"
#: ../../../src/init.cpp:197
msgid "Password for JSON-RPC connections\n"
msgstr "Hasło dla połączeń JSON-RPC\n"
#: ../../../src/init.cpp:198
msgid "Listen for JSON-RPC connections on <port> (default: 8332)\n"
msgstr "Nasłuch dla połączeń JSON-RPC na porcie <port> (domyślnie: 8332)\n"
#: ../../../src/init.cpp:199
msgid "Allow JSON-RPC connections from specified IP address\n"
msgstr "Zezwól na połączenia JSON-RPC z adresu IP\n"
#: ../../../src/init.cpp:200
msgid "Send commands to node running on <ip> (default: 127.0.0.1)\n"
msgstr "Wysyłaj polecenia do węzła działającego na <ip> (domyślnie: 127.0.0.1)\n"
#: ../../../src/init.cpp:201
msgid "Set key pool size to <n> (default: 100)\n"
msgstr "Ustaw pulę kluczy na <n> (domyślnie: 100)\n"
#: ../../../src/init.cpp:202
msgid "Rescan the block chain for missing wallet transactions\n"
msgstr "Przeszukaj łańcuch bloków w poszukiwaniu zaginionych transakcji\n"
#: ../../../src/init.cpp:206
msgid ""
"\n"
"SSL options: (see the Bitcoin Wiki for SSL setup instructions)\n"
msgstr ""
"\n"
"Opcje SSL: (zobacz instrukcje na Bitcoin Wiki dla ustawień SSL)\n"
#: ../../../src/init.cpp:207
msgid "Use OpenSSL (https) for JSON-RPC connections\n"
msgstr "Użyj OpenSSL (https) dla połączeń JSON-RPC\n"
#: ../../../src/init.cpp:208
msgid "Server certificate file (default: server.cert)\n"
msgstr "Plik certyfikacji serwera (domyślnie: server.cert)\n"
#: ../../../src/init.cpp:209
msgid "Server private key (default: server.pem)\n"
msgstr "Klucz prywatny serwera (domyślnie: server.pem)\n"
#: ../../../src/init.cpp:210
msgid "Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)\n"
msgstr "Akceptowalne szyfry (domyślnie: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)\n"
#: ../../../src/init.cpp:214
msgid "This help message\n"
msgstr "Ta wiadomość pomocy\n"
#: ../../../src/init.cpp:351
#, c-format
msgid "Cannot obtain a lock on data directory %s. Bitcoin is probably already running."
msgstr "Nie można korzystać z katalogu %s z danymi. Bitcoin prawdopodobnie już jest uruchomiony."
#: ../../../src/init.cpp:377
msgid "Error loading addr.dat \n"
msgstr "Błąd ładowania addr.dat \n"
#: ../../../src/init.cpp:383
msgid "Error loading blkindex.dat \n"
msgstr "Błąd ładowania blkindex.dat \n"
#: ../../../src/init.cpp:391
msgid "Error loading wallet.dat \n"
msgstr "Błąd ładowania wallet.dat \n"
#: ../../../src/init.cpp:481
msgid "Invalid -proxy address"
msgstr "Niewłaściwy adres -proxy"
#: ../../../src/init.cpp:504
msgid "Invalid amount for -paytxfee=<amount>"
msgstr "Nieprawidłowa kwota w -paytxfee=<amount>"
#: ../../../src/init.cpp:508
msgid "Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction."
msgstr "Ostrzeżenie: ustawienie -paytxfee jest bardzo wysokie. To jest prowizja transakcji, którą zapłacisz jeżeli wyślesz transakcję."
#: ../../../src/rpc.cpp:1822
#: ../../../src/rpc.cpp:1824
#, c-format
msgid "To use the %s option"
msgstr "Użycie opcji %s"
#: ../../../src/rpc.cpp:1826
#, c-format
msgid ""
"Warning: %s, you must set rpcpassword=<password>\n"
"in the configuration file: %s\n"
"If the file does not exist, create it with owner-readable-only file permissions.\n"
msgstr ""
"Ostrzeżenie: %s, musisz ustawić rpcpassword=<password>\n"
"w pliku konfiguracyjnym: %s\n"
"Jeżeli plik nie istnieje, utwórz go z uprawnieniami tylko do odczytu dla właściciela.\n"
#: ../../../src/rpc.cpp:1994
#, c-format
msgid ""
"You must set rpcpassword=<password> in the configuration file:\n"
"%s\n"
"If the file does not exist, create it with owner-readable-only file permissions."
msgstr ""
"Musisz ustawić rpcpassword=<password> w pliku konfiguracyjnym:\n"
"%s\n"
"Jeżeli plik nie istnieje, utwórz go z uprawnieniami tylko do odczytu dla właściciela."
#: ../../../src/util.cpp:874
msgid "Warning: Please check that your computer's date and time are correct. If your clock is wrong Bitcoin will not work properly."
msgstr "Ostrzeżenie: Sprawdź czy ustawienia daty i czasu komputera są prawidłowe. Jeżeli zegar jest źle ustawiony, Bitcoin nie będzie działał poprawnie."
#: ../../../src/util.cpp:908
msgid "beta"
msgstr "beta"
#: ../../../src/ui.cpp:216
#, c-format
msgid "This transaction is over the size limit. You can still send it for a fee of %s, which goes to the nodes that process your transaction and helps to support the network. Do you want to pay the fee?"
msgstr "Ta transakcja przekracza limit wielkości. W dalszym ciągu możesz ją wysłać z prowizją %s, która dotrze do węzłów przetwarzających twoją transakcję i pomoże utrzymać całą sieć. Chcesz zapłacić prowizję?"
#: ../../../src/ui.cpp:316
msgid "Status"
msgstr "Stan"
#: ../../../src/ui.cpp:317
msgid "Date"
msgstr "Data"
#: ../../../src/ui.cpp:318
msgid "Description"
msgstr "Opis"
#: ../../../src/ui.cpp:319
msgid "Debit"
msgstr "Debet"
#: ../../../src/ui.cpp:320
msgid "Credit"
msgstr "Kredyt"
#: ../../../src/ui.cpp:526
#, c-format
msgid "Open for %d blocks"
msgstr "Otwórz na %d bloków"
#: ../../../src/ui.cpp:528
#, c-format
msgid "Open until %s"
msgstr "Otwarte dopóki %s"
#: ../../../src/ui.cpp:534
#, c-format
msgid "%d/offline?"
msgstr "%d/offline?"
#: ../../../src/ui.cpp:536
#, c-format
msgid "%d/unconfirmed"
msgstr "%d/niepotwierdzona"
#: ../../../src/ui.cpp:538
#, c-format
msgid "%d confirmations"
msgstr "%d potwierdzeń"
#: ../../../src/ui.cpp:623
msgid "Generated"
msgstr "Wygenerowano"
#: ../../../src/ui.cpp:631
#, c-format
msgid "Generated (%s matures in %d more blocks)"
msgstr "Wygenerowano (%s dojrzałych w %d więcej bloków)"
#: ../../../src/ui.cpp:635
msgid "Generated - Warning: This block was not received by any other nodes and will probably not be accepted!"
msgstr "Wygenerowano - Ostrzeżenie: Ten blok nie został otrzymany przez żaden inny węzeł i prawdopodobnie nie zostanie zaakceptowany!"
#: ../../../src/ui.cpp:639
msgid "Generated (not accepted)"
msgstr "Wygenerowano (nie zaakceptowano)"
#: ../../../src/ui.cpp:649
msgid "From: "
msgstr "Od:"
#: ../../../src/ui.cpp:673
msgid "Received with: "
msgstr "Otrzymano z:"
#: ../../../src/ui.cpp:719
msgid "Payment to yourself"
msgstr "Płatność dla siebie samego"
#: ../../../src/ui.cpp:753
msgid "To: "
msgstr "Do:"
#: ../../../src/ui.cpp:1068
msgid " Generating"
msgstr " Generowanie"
#: ../../../src/ui.cpp:1070
msgid "(not connected)"
msgstr "(nie połączony)"
#: ../../../src/ui.cpp:1073
#, c-format
msgid " %d connections %d blocks %d transactions"
msgstr " %d połączeń %d bloków %d transakcji"
#: ../../../src/ui.cpp:1178
#: ../../../src/ui.cpp:2571
msgid "New Receiving Address"
msgstr "Nowy adres odbiorczy"
#: ../../../src/ui.cpp:1179
#: ../../../src/ui.cpp:2572
msgid ""
"You should use a new address for each payment you receive.\n"
"\n"
"Label"
msgstr ""
"Powinieneś używać nowych adresów dla każdej otrzymywanej płatności.\n"
"\n"
"Etykieta"
#: ../../../src/ui.cpp:1251
msgid "<b>Status:</b> "
msgstr "<b>Status:</b>"
#: ../../../src/ui.cpp:1256
msgid ", has not been successfully broadcast yet"
msgstr ", nie został jeszcze prawidłowo rozgłoszony"
#: ../../../src/ui.cpp:1258
#, c-format
msgid ", broadcast through %d node"
msgstr ", rozgłasza przez %d węzeł"
#: ../../../src/ui.cpp:1260
#, c-format
msgid ", broadcast through %d nodes"
msgstr ", rozgłasza przez %d węzłów"
#: ../../../src/ui.cpp:1264
msgid "<b>Date:</b> "
msgstr "<b>Data:</b>"
#: ../../../src/ui.cpp:1272
msgid "<b>Source:</b> Generated<br>"
msgstr "<b>Źródło:</b> Wygenerowano<br>"
#: ../../../src/ui.cpp:1278
#: ../../../src/ui.cpp:1296
msgid "<b>From:</b> "
msgstr "<b>Od:</b>"
#: ../../../src/ui.cpp:1296
msgid "unknown"
msgstr "nieznany"
#: ../../../src/ui.cpp:1297
#: ../../../src/ui.cpp:1321
#: ../../../src/ui.cpp:1380
msgid "<b>To:</b> "
msgstr "<b>Do:</b>"
#: ../../../src/ui.cpp:1300
msgid " (yours, label: "
msgstr " (twoja, etykieta: "
#: ../../../src/ui.cpp:1302
msgid " (yours)"
msgstr " (twoja)"
#: ../../../src/ui.cpp:1339
#: ../../../src/ui.cpp:1351
#: ../../../src/ui.cpp:1397
#: ../../../src/ui.cpp:1414
msgid "<b>Credit:</b> "
msgstr "<b>Kredyt:</b>"
#: ../../../src/ui.cpp:1341
#, c-format
msgid "(%s matures in %d more blocks)"
msgstr "(%s dojrzałych w %d więcej bloków)"
#: ../../../src/ui.cpp:1343
msgid "(not accepted)"
msgstr "(nie zaakceptowano)"
#: ../../../src/ui.cpp:1388
#: ../../../src/ui.cpp:1396
#: ../../../src/ui.cpp:1411
msgid "<b>Debit:</b> "
msgstr "<b>Debet:</b>"
#: ../../../src/ui.cpp:1402
msgid "<b>Transaction fee:</b> "
msgstr "<b>Prowizja transakcji:</b>"
#: ../../../src/ui.cpp:1418
msgid "<b>Net amount:</b> "
msgstr "<b>Kwota netto:</b>"
#: ../../../src/ui.cpp:1425
msgid "Message:"
msgstr "Wiadomość:"
#: ../../../src/ui.cpp:1427
msgid "Comment:"
msgstr "Komentarz:"
#: ../../../src/ui.cpp:1430
msgid "Generated coins must wait 120 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, it will change to \"not accepted\" and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours."
msgstr "Wygenerowane monety muszą poczekać 120 bloków zanim będą mogły być wydane. Wygenerowany blok został został rozgłoszony w sieci z przeznaczeniem dodawania nowych bloków do łańcucha. Jeżeli nie uda się go dodać do łańcucha, zostanie oznaczony jako \"nie zaakceptowany\" i nie będzie mógł być wydany. Sporadycznie dzieje się tak jeżeli inny węzeł wygeneruje blok nie dalej niż kilka sekund od ciebie."
#: ../../../src/ui.cpp:1610
msgid "Cannot write autostart/bitcoin.desktop file"
msgstr "Nie mogę zapisać pliku autostart/bitcoin.desktop"
#: ../../../src/ui.cpp:1646
msgid "Main"
msgstr "Główne"
#: ../../../src/ui.cpp:1656
msgid "&Start Bitcoin on window system startup"
msgstr "&Uruchom Bitcoin przy starcie systemu"
#: ../../../src/ui.cpp:1663
msgid "&Minimize on close"
msgstr "&Minimalizuj przy zamknięciu"
#: ../../../src/ui.cpp:1805
#, c-format
msgid "version %s"
msgstr "wersja %s"
#: ../../../src/ui.cpp:1928
msgid "Error in amount "
msgstr "Nieprawidłowa kwota"
#: ../../../src/ui.cpp:1928
#: ../../../src/ui.cpp:1933
#: ../../../src/ui.cpp:1938
#: ../../../src/ui.cpp:1973
#: ../../../src/uibase.cpp:55
msgid "Send Coins"
msgstr "Wyślij Monety"
#: ../../../src/ui.cpp:1933
msgid "Amount exceeds your balance "
msgstr "Kwota przekracza twój stan konta"
#: ../../../src/ui.cpp:1938
msgid "Total exceeds your balance when the "
msgstr "Przekroczenie twojego stanu konta gdy"
#: ../../../src/ui.cpp:1938
msgid " transaction fee is included "
msgstr " prowizja jest wliczona"
#: ../../../src/ui.cpp:1956
msgid "Payment sent "
msgstr "Wysłano płatność"
#: ../../../src/ui.cpp:1956
#: ../../../src/ui.cpp:1961
#: ../../../src/ui.cpp:2107
#: ../../../src/ui.cpp:2260
#: ../../../src/wallet.cpp:924
msgid "Sending..."
msgstr "Wysyłanie..."
#: ../../../src/ui.cpp:1973
msgid "Invalid address "
msgstr "Nieprawidłowy adres"
#: ../../../src/ui.cpp:2028
#, c-format
msgid "Sending %s to %s"
msgstr "Wysyłanie %s do %s"
#: ../../../src/ui.cpp:2101
#: ../../../src/ui.cpp:2134
msgid "CANCELLED"
msgstr "ANULOWANO"
#: ../../../src/ui.cpp:2105
msgid "Cancelled"
msgstr "Anulowano"
#: ../../../src/ui.cpp:2107
msgid "Transfer cancelled "
msgstr "Transfer anulowany"
#: ../../../src/ui.cpp:2160
msgid "Error: "
msgstr "Błąd:"
#: ../../../src/ui.cpp:2174
#: ../../../src/ui.cpp:2245
#: ../../../src/wallet.cpp:943
msgid "Insufficient funds"
msgstr "Niewystarczające fundusze"
#: ../../../src/ui.cpp:2179
msgid "Connecting..."
msgstr "Łączenie..."
#: ../../../src/ui.cpp:2184
msgid "Unable to connect"
msgstr "Nie można połączyć"
#: ../../../src/ui.cpp:2189
msgid "Requesting public key..."
msgstr "Żądanie klucza publicznego..."
#: ../../../src/ui.cpp:2201
msgid "Received public key..."
msgstr "Otrzymano klucz publiczny..."
#: ../../../src/ui.cpp:2215
msgid "Recipient is not accepting transactions sent by IP address"
msgstr "Adresat nie akceptuje transakcji wysyłanych przez adres IP"
#: ../../../src/ui.cpp:2217
msgid "Transfer was not accepted"
msgstr "Transfer nie został zaakceptowany"
#: ../../../src/ui.cpp:2226
msgid "Invalid response received"
msgstr "Otrzymano niepoprawną odpowiedź"
#: ../../../src/ui.cpp:2241
msgid "Creating transaction..."
msgstr "Tworzenie transakcji..."
#: ../../../src/ui.cpp:2253
#, c-format
msgid "This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds"
msgstr "Ta transakcja wymaga prowizji co najmniej %s z uwagi na jej kwotę, złożoność lub wykorzystanie niedawno otrzymanych funduszy"
#: ../../../src/ui.cpp:2255
msgid "Transaction creation failed"
msgstr "Błąd tworzenia transakcji "
#: ../../../src/ui.cpp:2262
msgid "Transaction aborted"
msgstr "Przerwano transakcję"
#: ../../../src/ui.cpp:2270
msgid "Lost connection, transaction cancelled"
msgstr "Utracono połączenie, transakcja anulowana"
#: ../../../src/ui.cpp:2286
msgid "Sending payment..."
msgstr "Wysyłanie płatności..."
#: ../../../src/ui.cpp:2292
msgid "The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here."
msgstr "Transakcja została odrzucona. Może się tak zdarzyć jeżeli część monet w twoim portfelu zostało wydanych, np. gdy użyto kopii pliku wallet.dat i monety zostały wydane w kopii, a tutaj nie zostały oznaczone jako wydane."
#: ../../../src/ui.cpp:2301
msgid "Waiting for confirmation..."
msgstr "Oczekiwanie na potwierdzenie..."
#: ../../../src/ui.cpp:2319
msgid ""
"The payment was sent, but the recipient was unable to verify it.\n"
"The transaction is recorded and will credit to the recipient,\n"
"but the comment information will be blank."
msgstr ""
"Płatność została wysłana, ale odbiorca nie mógł jej zweryfikować.\n"
"Transakcja została zarejestrowana i zostanie przypisana do odbiorcy,\n"
"ale informacja w komentarzu będzie pusta."
#: ../../../src/ui.cpp:2328
msgid "Payment was sent, but an invalid response was received"
msgstr "Płatność została wysłana, ale otrzymano nieprawidłową odpowiedź"
#: ../../../src/ui.cpp:2334
msgid "Payment completed"
msgstr "Płatność zakończona"
#: ../../../src/ui.cpp:2376
#: ../../../src/ui.cpp:2522
#: ../../../src/ui.cpp:2559
msgid "Name"
msgstr "Nazwa"
#: ../../../src/ui.cpp:2377
#: ../../../src/ui.cpp:2522
#: ../../../src/ui.cpp:2559
msgid "Address"
msgstr "Adres"
#: ../../../src/ui.cpp:2379
#: ../../../src/ui.cpp:2534
msgid "Label"
msgstr "Etykieta"
#: ../../../src/ui.cpp:2380
#: ../../../src/uibase.cpp:837
msgid "Bitcoin Address"
msgstr "Adres Bitcoin"
#: ../../../src/ui.cpp:2504
msgid "This is one of your own addresses for receiving payments and cannot be entered in the address book. "
msgstr "To jest jeden z twoich adresów na otrzymywane płatności i nie może zostać wpisany do książki adresowej."
#: ../../../src/ui.cpp:2522
#: ../../../src/ui.cpp:2528
msgid "Edit Address"
msgstr "Edytuj adres"
#: ../../../src/ui.cpp:2534
msgid "Edit Address Label"
msgstr "Edytuj etykietę adresu"
#: ../../../src/ui.cpp:2559
#: ../../../src/ui.cpp:2565
msgid "Add Address"
msgstr "Dodaj adres"
#: ../../../src/ui.cpp:2642
msgid "Bitcoin"
msgstr "Bitcoin"
#: ../../../src/ui.cpp:2644
msgid "Bitcoin - Generating"
msgstr "Bitcoin - Generowanie"
#: ../../../src/ui.cpp:2646
msgid "Bitcoin - (not connected)"
msgstr "Bitcoin - (nie połączony)"
#: ../../../src/ui.cpp:2725
msgid "&Open Bitcoin"
msgstr "&Otwórz Bitcoin"
#: ../../../src/ui.cpp:2726
msgid "&Send Bitcoins"
msgstr "&Wyślij Bitcoiny"
#: ../../../src/ui.cpp:2727
msgid "O&ptions..."
msgstr "O&pcje..."
#: ../../../src/ui.cpp:2730
#: ../../../src/uibase.cpp:25
msgid "E&xit"
msgstr "W&yjście"
#: ../../../src/ui.cpp:2956
msgid "Program has crashed and will terminate. "
msgstr "Program uległ awarii i zostanie zamknięty."
#: ../../../src/main.cpp:1430
msgid "Warning: Disk space is low "
msgstr "Ostrzeżenie: Mało miejsca na dysku"
#: ../../../src/uibase.cpp:28
msgid "&File"
msgstr "&Plik"
#: ../../../src/uibase.cpp:32
msgid "&Your Receiving Addresses..."
msgstr "&Twój adres odbiorczy..."
#: ../../../src/uibase.cpp:36
msgid "&Options..."
msgstr "&Opcje..."
#: ../../../src/uibase.cpp:39
msgid "&Settings"
msgstr "&Ustawienia"
#: ../../../src/uibase.cpp:43
msgid "&About..."
msgstr "&O programie..."
#: ../../../src/uibase.cpp:46
msgid "&Help"
msgstr "&Pomoc"
#: ../../../src/uibase.cpp:56
msgid "Address Book"
msgstr "Książka adresowa"
#: ../../../src/uibase.cpp:69
msgid "Your Bitcoin Address:"
msgstr "Twój adres Bitcoin:"
#: ../../../src/uibase.cpp:76
msgid " &New... "
msgstr " &Nowy..."
#: ../../../src/uibase.cpp:79
#: ../../../src/uibase.cpp:780
#: ../../../src/uibase.cpp:883
msgid " &Copy to Clipboard "
msgstr " &Kopiuj do schowka "
#: ../../../src/uibase.cpp:93
msgid "Balance:"
msgstr "Saldo:"
#: ../../../src/uibase.cpp:109
msgid " All"
msgstr " Wszystko"
#: ../../../src/uibase.cpp:109
msgid " Sent"
msgstr " Wysłano"
#: ../../../src/uibase.cpp:109
msgid " Received"
msgstr " Otrzymano"
#: ../../../src/uibase.cpp:109
msgid " In Progress"
msgstr "W realizacji"
#: ../../../src/uibase.cpp:130
msgid "All Transactions"
msgstr "Wszystkie transakcje"
#: ../../../src/uibase.cpp:141
msgid "Sent/Received"
msgstr "Wysłane/Otrzymane"
#: ../../../src/uibase.cpp:152
msgid "Sent"
msgstr "Wysłane"
#: ../../../src/uibase.cpp:163
msgid "Received"
msgstr "Otrzymane"
#: ../../../src/uibase.cpp:302
#: ../../../src/uibase.cpp:443
#: ../../../src/uibase.cpp:542
#: ../../../src/uibase.cpp:722
#: ../../../src/uibase.cpp:783
#: ../../../src/uibase.cpp:892
#: ../../../src/uibase.cpp:981
msgid "OK"
msgstr "OK"
#: ../../../src/uibase.cpp:345
msgid "&Start Bitcoin on system startup"
msgstr "&Uruchom Bitcoin wraz ze startem systemu"
#: ../../../src/uibase.cpp:348
msgid "&Minimize to the tray instead of the taskbar"
msgstr "&Minimalizuj do obszaru powiadomień zamiast paska zadań"
#: ../../../src/uibase.cpp:351
msgid "Map port using &UPnP"
msgstr "Mapuj port używając &UPnP"
#: ../../../src/uibase.cpp:354
msgid "M&inimize to the tray on close"
msgstr "M&inimalizuj do obszaru powiadomień przy zamknięciu"
#: ../../../src/uibase.cpp:360
msgid "&Connect through socks4 proxy: "
msgstr "&Połącz przez proxy socks4:"
#: ../../../src/uibase.cpp:371
msgid "Proxy &IP:"
msgstr "Proxy &IP:"
#: ../../../src/uibase.cpp:379
msgid " &Port:"
msgstr " &Port:"
#: ../../../src/uibase.cpp:392
msgid "Optional transaction fee per KB that helps make sure your transactions are processed quickly. Most transactions are 1KB. Fee 0.01 recommended."
msgstr "Opcjonalna prowizja określona na każdy KB transakcji, zapewniająca szybkie przetworzenie. Większość transakcji to 1KB. Rekomendowana prowizja to 0.01."
#: ../../../src/uibase.cpp:399
msgid "Pay transaction fee:"
msgstr "Płać prowizję od transakcji:"
#: ../../../src/uibase.cpp:420
msgid "// [don't translate] Test panel 2 for future expansion"
msgstr ""
#: ../../../src/uibase.cpp:424
msgid "// [don't translate] Let's not start multiple pages until the first page is filled up"
msgstr ""
#: ../../../src/uibase.cpp:446
#: ../../../src/uibase.cpp:668
#: ../../../src/uibase.cpp:727
#: ../../../src/uibase.cpp:786
#: ../../../src/uibase.cpp:895
#: ../../../src/uibase.cpp:984
msgid "Cancel"
msgstr "Anuluj"
#: ../../../src/uibase.cpp:449
msgid "&Apply"
msgstr "&Zastosuj"
#: ../../../src/uibase.cpp:508
msgid "Bitcoin "
msgstr "Bitcoin "
#: ../../../src/uibase.cpp:514
msgid "version"
msgstr "wersja"
#: ../../../src/uibase.cpp:525
msgid ""
"Copyright (c) 2009-2011 Bitcoin Developers\n"
"\n"
"This is experimental software.\n"
"\n"
"Distributed under the MIT/X11 software license, see the accompanying file \n"
"license.txt or http://www.opensource.org/licenses/mit-license.php.\n"
"\n"
"This product includes software developed by the OpenSSL Project for use in the \n"
"OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by \n"
"Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard."
msgstr ""
"Copyright (c) 2009-2011 Bitcoin Developers\n"
"\n"
"To oprogramowanie jest eksperymentalne.\n"
"\n"
"Dystrybuowane na licencji MIT/X11, zobacz towarzyszący plik \n"
"license.txt lub http://www.opensource.org/licenses/mit-license.php.\n"
"\n"
"Ten produkt zawiera oprogramowanie rozwijane przez OpenSSL Project w \n"
"OpenSSL Toolkit (http://www.openssl.org/) i oprogramowanie kryptograficzne napisane przez \n"
"Erica Younga (eay@cryptsoft.com) oraz oprogramowanie UPnP napisane przez Thomasa Bernarda."
#: ../../../src/uibase.cpp:581
msgid "Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)"
msgstr "Wprowadź adres Bitcoin (np. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)"
#: ../../../src/uibase.cpp:595
msgid "Pay &To:"
msgstr "Wpłać &dla:"
#: ../../../src/uibase.cpp:610
msgid "&Paste"
msgstr "&Wklej"
#: ../../../src/uibase.cpp:613
msgid " Address &Book..."
msgstr " Książka &adresowa..."
#: ../../../src/uibase.cpp:620
msgid "&Amount:"
msgstr "&Saldo:"
#: ../../../src/uibase.cpp:630
msgid "T&ransfer:"
msgstr "T&ransfer:"
#: ../../../src/uibase.cpp:636
msgid " Standard"
msgstr " Standard"
#: ../../../src/uibase.cpp:663
msgid "&Send"
msgstr "&Wyślij"
#: ../../../src/uibase.cpp:711
msgid ""
"\n"
"\n"
"Connecting..."
msgstr ""
"\n"
"\n"
"Łączenie..."
#: ../../../src/uibase.cpp:761
msgid "These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. The highlighted address is displayed in the main window."
msgstr "To są twoje adresy Bitcoin dla otrzymywania płatności. Możesz chcieć podawać inny dla każdego płacącego aby kontrolować kto ci płaci. Wyróżniony adres będzie wyświetlany w oknie głównym."
#: ../../../src/uibase.cpp:774
#: ../../../src/uibase.cpp:886
msgid "&Edit..."
msgstr "&Edytuj..."
#: ../../../src/uibase.cpp:777
#: ../../../src/uibase.cpp:889
msgid " &New Address... "
msgstr " &Nowy adres..."
#: ../../../src/uibase.cpp:849
msgid "Sending"
msgstr "Wysyłanie"
#: ../../../src/uibase.cpp:857
msgid "These are your Bitcoin addresses for receiving payments. You can give a different one to each sender to keep track of who is paying you. The highlighted address will be displayed in the main window."
msgstr "To są twoje adresy Bitcoin dla otrzymywania płatności. Możesz podać różne dla każdego płacącego aby kontrolować kto ci płaci. Wyróżniony adres będzie wyświetlany w oknie głównym."
#: ../../../src/uibase.cpp:870
msgid "Receiving"
msgstr "Otrzymywanie"
#: ../../../src/uibase.cpp:880
msgid "&Delete"
msgstr "&Usuń"
#: ../../../src/wallet.cpp:917
#, c-format
msgid "Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds "
msgstr "Błąd: Ta transakcja wymaga prowizji co najmniej %s z uwagi na kwotę, złożoność lub użycie niedawno otrzymanych funduszy"
#: ../../../src/wallet.cpp:919
msgid "Error: Transaction creation failed "
msgstr "Błąd: Nie udało się utworzyć transakcji"
#: ../../../src/wallet.cpp:928
msgid "Error: The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here."
msgstr "Błąd: Transakcja została odrzucona. Może się tak zdarzyć jeżeli część monet w twoim portfelu zostało wydanych, np. gdy użyto kopii pliku wallet.dat i monety zostały wydane w kopii, a tutaj nie zostały oznaczone jako wydane."
#: ../../../src/wallet.cpp:941
msgid "Invalid amount"
msgstr "Niewłaściwa kwota"
#: ../../../src/wallet.cpp:948
msgid "Invalid bitcoin address"
msgstr "Niewłaściwy adres bitcoin"
#: ../../../src/uibase.h:147
msgid "Transaction Details"
msgstr "Szczegóły transakcji"
#: ../../../src/uibase.h:199
msgid "Options"
msgstr "Opcje"
#: ../../../src/uibase.h:228
msgid "About Bitcoin"
msgstr "O Bitcoin"
#: ../../../src/uibase.h:337
msgid "Your Bitcoin Addresses"
msgstr "Twoje adresy bitcoin"

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,7 @@
put bitcoin.po and bitcoin.mo files at:
locale/<langcode>/LC_MESSAGES/bitcoin.mo and .po
.po is the sourcefile
.mo is the compiled translation
put bitcoin.po and bitcoin.mo files at:
locale/<langcode>/LC_MESSAGES/bitcoin.mo and .po
.po is the sourcefile
.mo is the compiled translation
Note: pull requests should only include the .po file. Do not include .mo file

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -0,0 +1,973 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-07-03 10:40+0100\n"
"PO-Revision-Date: 2011-07-03 15:13+0100\n"
"Last-Translator: Codler <github>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: _;gettext;gettext_noop\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-SearchPath-0: ../../..\n"
#: ../../../init.cpp:162
msgid "Bitcoin version"
msgstr "Bitcoin version"
#: ../../../init.cpp:163
msgid "Usage:"
msgstr "Användning:"
#: ../../../init.cpp:165
msgid "Send command to -server or bitcoind\n"
msgstr "Skicka kommando till -server eller bitcoind\n"
#: ../../../init.cpp:166
msgid "List commands\n"
msgstr "Lista kommandon\n"
#: ../../../init.cpp:167
msgid "Get help for a command\n"
msgstr "Få hjälp om kommandon\n"
#: ../../../init.cpp:168
msgid "Options:\n"
msgstr "Val:\n"
#: ../../../init.cpp:169
msgid "Specify configuration file (default: bitcoin.conf)\n"
msgstr "Ange konfigurationsfil (standard: bitcoin.conf)\n"
#: ../../../init.cpp:170
msgid "Specify pid file (default: bitcoind.pid)\n"
msgstr "Ange pid-fil (standard: bitcoind.pid)\n"
#: ../../../init.cpp:171
msgid "Generate coins\n"
msgstr "Generera mynt\n"
#: ../../../init.cpp:172
msgid "Don't generate coins\n"
msgstr "Generera inte mynt\n"
#: ../../../init.cpp:173
msgid "Start minimized\n"
msgstr "Starta minimerad\n"
#: ../../../init.cpp:174
msgid "Specify data directory\n"
msgstr "Ange data mappen\n"
#: ../../../init.cpp:175
msgid "Specify connection timeout (in milliseconds)\n"
msgstr "Ange timeout för anslutning (i millisekunder)\n"
#: ../../../init.cpp:176
msgid "Connect through socks4 proxy\n"
msgstr "Anslut via socks4 proxy\n"
#: ../../../init.cpp:177
msgid "Allow DNS lookups for addnode and connect\n"
msgstr "Tillåt DNS uppslagningar för addnode och connect\n"
#: ../../../init.cpp:178
msgid "Add a node to connect to\n"
msgstr "Lägg till en nod att ansluta till\n"
#: ../../../init.cpp:179
msgid "Connect only to the specified node\n"
msgstr "Anslut endast till specifik nod\n"
#: ../../../init.cpp:180
msgid "Don't accept connections from outside\n"
msgstr "Acceptera ej anslutningar från utsidan\n"
#: ../../../init.cpp:183
msgid "Don't attempt to use UPnP to map the listening port\n"
msgstr "Försöker inte använda UPnP till avslyssningsport\n"
#: ../../../init.cpp:185
msgid "Attempt to use UPnP to map the listening port\n"
msgstr "Försöker använda UPnP till avlyssningsport\n"
#: ../../../init.cpp:188
msgid "Fee per KB to add to transactions you send\n"
msgstr "Avgift per KB som läggs på transaktionen när du sänder\n"
#: ../../../init.cpp:190
msgid "Accept command line and JSON-RPC commands\n"
msgstr "Accepterar kommandorad och JSON-RPC kommando\n"
#: ../../../init.cpp:193
msgid "Run in the background as a daemon and accept commands\n"
msgstr "Kör i bakgrund som daemon och accepterar kommando\n"
#: ../../../init.cpp:195
msgid "Use the test network\n"
msgstr "Använd test nätverk\n"
#: ../../../init.cpp:196
msgid "Username for JSON-RPC connections\n"
msgstr "Användarnamn till JSON-RPC anslutning\n"
#: ../../../init.cpp:197
msgid "Password for JSON-RPC connections\n"
msgstr "Lösenord till JSON-RPC anslutning\n"
#: ../../../init.cpp:198
msgid "Listen for JSON-RPC connections on <port> (default: 8332)\n"
msgstr "Lyssnar på JSON-RPC anslutningar på <port> (standard: 8332)\n"
#: ../../../init.cpp:199
msgid "Allow JSON-RPC connections from specified IP address\n"
msgstr "Tillåt JSON-RPC anslutningar från specifik IP-adress\n"
#: ../../../init.cpp:200
msgid "Send commands to node running on <ip> (default: 127.0.0.1)\n"
msgstr "Skicka kommando till noden som körs på <ip> (standard: 127.0.0.1)\n"
#: ../../../init.cpp:201
msgid "Set key pool size to <n> (default: 100)\n"
msgstr "Sätt nyckel pool storlek till <n> (standard: 100)\n"
#: ../../../init.cpp:202
msgid "Rescan the block chain for missing wallet transactions\n"
msgstr "Scanna om block kedja efter saknade plånbokstransaktioner\n"
#: ../../../init.cpp:206
msgid ""
"\n"
"SSL options: (see the Bitcoin Wiki for SSL setup instructions)\n"
msgstr ""
"\n"
"SSL val: (Se på Bitcoin Wiki för SSL installation instruktioner)\n"
#: ../../../init.cpp:207
msgid "Use OpenSSL (https) for JSON-RPC connections\n"
msgstr "Använd OpenSSL (https) till JSON-RPC anslutningar\n"
#: ../../../init.cpp:208
msgid "Server certificate file (default: server.cert)\n"
msgstr "Server certifikatfil (standard: server.cert)\n"
#: ../../../init.cpp:209
msgid "Server private key (default: server.pem)\n"
msgstr "Server privat nyckel (standard: server.pem)\n"
#: ../../../init.cpp:210
msgid "Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)\n"
msgstr "Acceptabla krypteringar (standard: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)\n"
#: ../../../init.cpp:214
msgid "This help message\n"
msgstr "Detta hjälpmeddelande\n"
#: ../../../init.cpp:351
#, c-format
msgid "Cannot obtain a lock on data directory %s. Bitcoin is probably already running."
msgstr "Kan inte sätta lås på data mappen %s. Bitcoin körs troligen redan."
#: ../../../init.cpp:377
msgid "Error loading addr.dat \n"
msgstr "Fel vid laddning av addr.dat \n"
#: ../../../init.cpp:383
msgid "Error loading blkindex.dat \n"
msgstr "Fel vid laddning av blkindex.dat \n"
#: ../../../init.cpp:391
msgid "Error loading wallet.dat \n"
msgstr "Fel vid laddning av wallet.dat \n"
#: ../../../init.cpp:481
msgid "Invalid -proxy address"
msgstr "Ogiltig -proxy adress"
#: ../../../init.cpp:506
msgid "Invalid amount for -paytxfee=<amount>"
msgstr "Ogiltig belopp på -paytxfee=<belopp>"
#: ../../../init.cpp:510
msgid "Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction."
msgstr "Varning: -paytxfee är satt väldigt högt. Denna är transaktionsavgiften som du kommer att betala om du skickar en transaktion."
#: ../../../main.cpp:1430
msgid "Warning: Disk space is low "
msgstr "Varning: Diskutrymme är låg "
#: ../../../net.cpp:1598
#, c-format
msgid "Unable to bind to port %d on this computer. Bitcoin is probably already running."
msgstr "Det gick inte att binda till port %d på denna dator. Bitcoin körs troligen redan."
#: ../../../rpc.cpp:1828
#: ../../../rpc.cpp:1830
#, c-format
msgid "To use the %s option"
msgstr "För att använda %s val"
#: ../../../rpc.cpp:1832
#, c-format
msgid ""
"Warning: %s, you must set rpcpassword=<password>\n"
"in the configuration file: %s\n"
"If the file does not exist, create it with owner-readable-only file permissions.\n"
msgstr ""
"Varning: %s, du måste sätta rpcpassword=<lösenord>\n"
"i konfigurationsfilen: %s\n"
"Om filen inte existerar, skapa med ägare med filbehörigheten -readable-only.\n"
#: ../../../rpc.cpp:2005
#, c-format
msgid ""
"You must set rpcpassword=<password> in the configuration file:\n"
"%s\n"
"If the file does not exist, create it with owner-readable-only file permissions."
msgstr ""
"Du måste sätta rpcpassword=<lösenord> i konfigurationsfilen:\n"
"%s\n"
"Om filen inte existerar, skapa med ägare med filbehörighete -readable-only."
#: ../../../ui.cpp:216
#, c-format
msgid "This transaction is over the size limit. You can still send it for a fee of %s, which goes to the nodes that process your transaction and helps to support the network. Do you want to pay the fee?"
msgstr "Denna transaktion är över storleksbegränsningen. Du kan fortfarande skicka mot en avgift på %s, som går till noderna som bearbetar din transaktion och hjälper att stödja nätverket. Vill du fortfarande betala avgiften?"
#: ../../../ui.cpp:316
msgid "Status"
msgstr "Status"
#: ../../../ui.cpp:317
msgid "Date"
msgstr "Datum"
#: ../../../ui.cpp:318
msgid "Description"
msgstr "Beskrivning"
#: ../../../ui.cpp:319
msgid "Debit"
msgstr "Debet"
#: ../../../ui.cpp:320
msgid "Credit"
msgstr "Kredit"
#: ../../../ui.cpp:526
#, c-format
msgid "Open for %d blocks"
msgstr "Öppen för %d block"
#: ../../../ui.cpp:528
#, c-format
msgid "Open until %s"
msgstr "Öppen tills %s"
#: ../../../ui.cpp:534
#, c-format
msgid "%d/offline?"
msgstr "%d/offline?"
#: ../../../ui.cpp:536
#, c-format
msgid "%d/unconfirmed"
msgstr "%d/obekräftade"
#: ../../../ui.cpp:538
#, c-format
msgid "%d confirmations"
msgstr "%d bekräftelser"
#: ../../../ui.cpp:623
msgid "Generated"
msgstr "Genererad"
#: ../../../ui.cpp:631
#, c-format
msgid "Generated (%s matures in %d more blocks)"
msgstr "Genererad (%s mognar om %d block)"
#: ../../../ui.cpp:635
msgid "Generated - Warning: This block was not received by any other nodes and will probably not be accepted!"
msgstr "Genererad - Varning: Denna block har inte blivit mottagen av någon annan nod och kommer troligtvis inte bli accepterad"
#: ../../../ui.cpp:639
msgid "Generated (not accepted)"
msgstr "Genererad (ej accepterad)"
#: ../../../ui.cpp:649
msgid "From: "
msgstr "Från: "
#: ../../../ui.cpp:673
msgid "Received with: "
msgstr "Mottagen med: "
#: ../../../ui.cpp:719
msgid "Payment to yourself"
msgstr "Betalning till dig själv"
#: ../../../ui.cpp:753
msgid "To: "
msgstr "Till: "
#: ../../../ui.cpp:1068
msgid " Generating"
msgstr " Generering"
#: ../../../ui.cpp:1070
msgid "(not connected)"
msgstr "(inte ansluten)"
#: ../../../ui.cpp:1073
#, c-format
msgid " %d connections %d blocks %d transactions"
msgstr " %d anslutningar %d block %d transaktioner"
#: ../../../ui.cpp:1178
#: ../../../ui.cpp:2577
msgid "New Receiving Address"
msgstr "Ny Mottagningsadress"
#: ../../../ui.cpp:1179
#: ../../../ui.cpp:2578
msgid ""
"You should use a new address for each payment you receive.\n"
"\n"
"Label"
msgstr ""
"Du borde använda en ny adress för varje betalning som du mottagit.\n"
"\n"
"Etikett"
#: ../../../ui.cpp:1252
msgid "<b>Status:</b> "
msgstr "<b>Status:</b> "
#: ../../../ui.cpp:1257
msgid ", has not been successfully broadcast yet"
msgstr ", har inte lyckats broadcast än"
#: ../../../ui.cpp:1259
#, c-format
msgid ", broadcast through %d node"
msgstr ", broadcast genom %d nod"
#: ../../../ui.cpp:1261
#, c-format
msgid ", broadcast through %d nodes"
msgstr ", broadcast genom %d noder"
#: ../../../ui.cpp:1265
msgid "<b>Date:</b> "
msgstr "<b>Datum:</b> "
#: ../../../ui.cpp:1273
msgid "<b>Source:</b> Generated<br>"
msgstr "<b>Källa:</b> Genererad<br>"
#: ../../../ui.cpp:1279
#: ../../../ui.cpp:1297
msgid "<b>From:</b> "
msgstr "<b>Från:</b> "
#: ../../../ui.cpp:1297
msgid "unknown"
msgstr "okänd"
#: ../../../ui.cpp:1298
#: ../../../ui.cpp:1322
#: ../../../ui.cpp:1381
msgid "<b>To:</b> "
msgstr "<b>Till:</b> "
#: ../../../ui.cpp:1301
msgid " (yours, label: "
msgstr " (din, etikett: "
#: ../../../ui.cpp:1303
msgid " (yours)"
msgstr " (ditt)"
#: ../../../ui.cpp:1340
#: ../../../ui.cpp:1352
#: ../../../ui.cpp:1398
#: ../../../ui.cpp:1415
msgid "<b>Credit:</b> "
msgstr "<b>Kredit:</b> "
#: ../../../ui.cpp:1342
#, c-format
msgid "(%s matures in %d more blocks)"
msgstr "(%s mognar om %d block)"
#: ../../../ui.cpp:1344
msgid "(not accepted)"
msgstr "(ej accepterad)"
#: ../../../ui.cpp:1389
#: ../../../ui.cpp:1397
#: ../../../ui.cpp:1412
msgid "<b>Debit:</b> "
msgstr "<b>Debet:</b> "
#: ../../../ui.cpp:1403
msgid "<b>Transaction fee:</b> "
msgstr "<b>Transaktionsavgift:</b> "
#: ../../../ui.cpp:1419
msgid "<b>Net amount:</b> "
msgstr "<b>Nät belopp:</b> "
#: ../../../ui.cpp:1426
msgid "Message:"
msgstr "Meddelande:"
#: ../../../ui.cpp:1428
msgid "Comment:"
msgstr "Kommentar:"
#: ../../../ui.cpp:1431
msgid "Generated coins must wait 120 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, it will change to \"not accepted\" and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours."
msgstr "Genererad mynt måste vänta 120 block innan dem kan användas.När du genererat denna block, skickades en broadcast till nätet och lades till block kedjan. Om den misslyckas att lägga till kedjan så kommer det ändras till \"not accepted\" och är icke brukbar. Detta kan hända om en annan nod genererat en block några sekunder efter din."
#: ../../../ui.cpp:1611
msgid "Cannot write autostart/bitcoin.desktop file"
msgstr "Kan inte skriva autostart/bitcoin.desktop fil"
#: ../../../ui.cpp:1647
msgid "Main"
msgstr "Allmänt"
#: ../../../ui.cpp:1657
msgid "&Start Bitcoin on window system startup"
msgstr "&Starta Bitcoin vid system uppstart"
#: ../../../ui.cpp:1664
msgid "&Minimize on close"
msgstr "&Minimera vid stängning"
#: ../../../ui.cpp:1806
#, c-format
msgid "version %s"
msgstr "version %s"
#: ../../../ui.cpp:1929
msgid "Error in amount "
msgstr "Fel i belopp "
#: ../../../ui.cpp:1929
#: ../../../ui.cpp:1934
#: ../../../ui.cpp:1939
#: ../../../ui.cpp:1974
#: ../../../uibase.cpp:55
msgid "Send Coins"
msgstr "Skicka mynt"
#: ../../../ui.cpp:1934
msgid "Amount exceeds your balance "
msgstr "Belopp överskrider din balans "
#: ../../../ui.cpp:1939
msgid "Total exceeds your balance when the "
msgstr "Totalt överskrider din balans när "
#: ../../../ui.cpp:1939
msgid " transaction fee is included "
msgstr " transaktionsavgift är inkluderad "
#: ../../../ui.cpp:1957
msgid "Payment sent "
msgstr "Betalning skickad "
#: ../../../ui.cpp:1957
#: ../../../ui.cpp:1962
#: ../../../ui.cpp:2108
#: ../../../ui.cpp:2261
#: ../../../wallet.cpp:924
msgid "Sending..."
msgstr "Skickar..."
#: ../../../ui.cpp:1974
msgid "Invalid address "
msgstr "Ogiltig adress "
#: ../../../ui.cpp:2029
#, c-format
msgid "Sending %s to %s"
msgstr "Skickar %s till %s"
#: ../../../ui.cpp:2102
#: ../../../ui.cpp:2135
msgid "CANCELLED"
msgstr "AVBRUTEN"
#: ../../../ui.cpp:2106
msgid "Cancelled"
msgstr "Avbruten"
#: ../../../ui.cpp:2108
msgid "Transfer cancelled "
msgstr "Överföring avbruten "
#: ../../../ui.cpp:2161
msgid "Error: "
msgstr "Fel: "
#: ../../../ui.cpp:2175
#: ../../../ui.cpp:2246
#: ../../../wallet.cpp:943
msgid "Insufficient funds"
msgstr "Otillräckligt med pengar"
#: ../../../ui.cpp:2180
msgid "Connecting..."
msgstr "Ansluter..."
#: ../../../ui.cpp:2185
msgid "Unable to connect"
msgstr "Det gick inte att ansluta"
#: ../../../ui.cpp:2190
msgid "Requesting public key..."
msgstr "Efterfrågar publik nyckel..."
#: ../../../ui.cpp:2202
msgid "Received public key..."
msgstr "Mottagen publik nyckel..."
#: ../../../ui.cpp:2216
msgid "Recipient is not accepting transactions sent by IP address"
msgstr "Mottagaren accepterar inte transaktioner skickat från IP adress"
#: ../../../ui.cpp:2218
msgid "Transfer was not accepted"
msgstr "Överföringen var inte accepterad"
#: ../../../ui.cpp:2227
msgid "Invalid response received"
msgstr "Ogiltig respons mottagen"
#: ../../../ui.cpp:2242
msgid "Creating transaction..."
msgstr "Skapar transation..."
#: ../../../ui.cpp:2254
#, c-format
msgid "This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds"
msgstr "Denna transaktion kräver en transaktionsavgift minst %s för dess belopp, komplexitet, eller användning av nyligen mottagna pengar"
#: ../../../ui.cpp:2256
msgid "Transaction creation failed"
msgstr "Misslyckades skapa transaktion"
#: ../../../ui.cpp:2263
msgid "Transaction aborted"
msgstr "Transaktion avbruten"
#: ../../../ui.cpp:2271
msgid "Lost connection, transaction cancelled"
msgstr "Förlorad anslutning, transaktionen avbruten"
#: ../../../ui.cpp:2287
msgid "Sending payment..."
msgstr "Skickar betalning..."
#: ../../../ui.cpp:2293
msgid "The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here."
msgstr "Transaktionen blev nekad. Detta kan hända om några av dina mynt i din plånbok var redan spenderad. Till exempel om du använde en kopia av wallet.dat och mynten var redan spenderad i kopian, men som inte var markerad som spenderad här."
#: ../../../ui.cpp:2302
msgid "Waiting for confirmation..."
msgstr "Väntar på bekräftelse..."
#: ../../../ui.cpp:2320
msgid ""
"The payment was sent, but the recipient was unable to verify it.\n"
"The transaction is recorded and will credit to the recipient,\n"
"but the comment information will be blank."
msgstr ""
"Betalning var skickat, men mottagaren kunde inte verifiera det.\n"
"Transaktionen är registrerad och kommer att kreditera mottagaren,\n"
"men kommentar informationen kommer att vara tom."
#: ../../../ui.cpp:2329
msgid "Payment was sent, but an invalid response was received"
msgstr "Betalning var skickad, men en ogiltig respons var mottagen"
#: ../../../ui.cpp:2335
msgid "Payment completed"
msgstr "Betalning slutförd"
#: ../../../ui.cpp:2377
#: ../../../ui.cpp:2525
#: ../../../ui.cpp:2565
msgid "Name"
msgstr "Namn"
#: ../../../ui.cpp:2378
#: ../../../ui.cpp:2525
#: ../../../ui.cpp:2565
msgid "Address"
msgstr "Adress"
#: ../../../ui.cpp:2380
#: ../../../ui.cpp:2537
msgid "Label"
msgstr "Etikett"
#: ../../../ui.cpp:2381
#: ../../../uibase.cpp:837
msgid "Bitcoin Address"
msgstr "Bitcoin Adress"
#: ../../../ui.cpp:2507
msgid "This is one of your own addresses for receiving payments and cannot be entered in the address book. "
msgstr "Denna är en av dina egna adresser för mottagning av betalningar och kan inte slås in i adressboken. "
#: ../../../ui.cpp:2525
#: ../../../ui.cpp:2531
msgid "Edit Address"
msgstr "Ändra Adress"
#: ../../../ui.cpp:2537
msgid "Edit Address Label"
msgstr "Ändra Address Etikett"
#: ../../../ui.cpp:2565
#: ../../../ui.cpp:2571
msgid "Add Address"
msgstr "Lägg till Adress"
#: ../../../ui.cpp:2649
msgid "Bitcoin"
msgstr "Bitcoin"
#: ../../../ui.cpp:2651
msgid "Bitcoin - Generating"
msgstr "Bitcoin - Genererar"
#: ../../../ui.cpp:2653
msgid "Bitcoin - (not connected)"
msgstr "Bitcoin - (ej ansluten)"
#: ../../../ui.cpp:2732
msgid "&Open Bitcoin"
msgstr "&Öppna Bitcoin"
#: ../../../ui.cpp:2733
msgid "&Send Bitcoins"
msgstr "&Skicka Bitcoins"
#: ../../../ui.cpp:2734
msgid "O&ptions..."
msgstr "&Inställningar..."
#: ../../../ui.cpp:2737
#: ../../../uibase.cpp:25
msgid "E&xit"
msgstr "&Avsluta"
#: ../../../ui.cpp:2963
msgid "Program has crashed and will terminate. "
msgstr "Programmet har krachat och kommer att avslutas. "
#: ../../../uibase.cpp:28
msgid "&File"
msgstr "&Fil"
#: ../../../uibase.cpp:32
msgid "&Your Receiving Addresses..."
msgstr "&Dina Mottagningsadresser..."
#: ../../../uibase.cpp:36
msgid "&Options..."
msgstr "&Inställningar..."
#: ../../../uibase.cpp:39
msgid "&Settings"
msgstr "&Inställningar"
#: ../../../uibase.cpp:43
msgid "&About..."
msgstr "&Om..."
#: ../../../uibase.cpp:46
msgid "&Help"
msgstr "&Hjälp"
#: ../../../uibase.cpp:56
msgid "Address Book"
msgstr "Adressbok"
#: ../../../uibase.cpp:69
msgid "Your Bitcoin Address:"
msgstr "Din Bitcoin Adress:"
#: ../../../uibase.cpp:76
msgid " &New... "
msgstr " &Nytt... "
#: ../../../uibase.cpp:79
#: ../../../uibase.cpp:780
#: ../../../uibase.cpp:883
msgid " &Copy to Clipboard "
msgstr " &Kopiera till Urklipp "
#: ../../../uibase.cpp:93
msgid "Balance:"
msgstr "Balans:"
#: ../../../uibase.cpp:109
msgid " All"
msgstr " Alla"
#: ../../../uibase.cpp:109
msgid " Sent"
msgstr " Skickat"
#: ../../../uibase.cpp:109
msgid " Received"
msgstr " Mottagen"
#: ../../../uibase.cpp:109
msgid " In Progress"
msgstr " Pågående"
#: ../../../uibase.cpp:130
msgid "All Transactions"
msgstr "Alla Transaktioner"
#: ../../../uibase.cpp:141
msgid "Sent/Received"
msgstr "Skickat/Mottagen"
#: ../../../uibase.cpp:152
msgid "Sent"
msgstr "Skickat"
#: ../../../uibase.cpp:163
msgid "Received"
msgstr "Mottagen"
#: ../../../uibase.cpp:302
#: ../../../uibase.cpp:443
#: ../../../uibase.cpp:542
#: ../../../uibase.cpp:722
#: ../../../uibase.cpp:783
#: ../../../uibase.cpp:892
#: ../../../uibase.cpp:981
msgid "OK"
msgstr "OK"
#: ../../../uibase.cpp:345
msgid "&Start Bitcoin on system startup"
msgstr "&Starta Bitcoin vid system uppstart"
#: ../../../uibase.cpp:348
msgid "&Minimize to the tray instead of the taskbar"
msgstr "&Minimerar till systemfältet istället för aktivitetsfält"
#: ../../../uibase.cpp:351
msgid "Map port using &UPnP"
msgstr "Mapp port använder &UPnP"
#: ../../../uibase.cpp:354
msgid "M&inimize to the tray on close"
msgstr "M&inimera till systemfältet vid stängning"
#: ../../../uibase.cpp:360
msgid "&Connect through socks4 proxy: "
msgstr "&Anslut via socks4 proxy: "
#: ../../../uibase.cpp:371
msgid "Proxy &IP:"
msgstr "Proxy &IP:"
#: ../../../uibase.cpp:379
msgid " &Port:"
msgstr " &Port:"
#: ../../../uibase.cpp:392
msgid "Optional transaction fee per KB that helps make sure your transactions are processed quickly. Most transactions are 1KB. Fee 0.01 recommended."
msgstr "Frivillig transaktionsavgift per KB som garanterar att din transaktion bearbetas snabbt. Flesta transaktioner är 1KB. Avgift 0.01 rekommenderas."
#: ../../../uibase.cpp:399
msgid "Pay transaction fee:"
msgstr "Betala transaktionsavgift:"
#: ../../../uibase.cpp:420
msgid "// [don't translate] Test panel 2 for future expansion"
msgstr ""
#: ../../../uibase.cpp:424
msgid "// [don't translate] Let's not start multiple pages until the first page is filled up"
msgstr ""
#: ../../../uibase.cpp:446
#: ../../../uibase.cpp:668
#: ../../../uibase.cpp:727
#: ../../../uibase.cpp:786
#: ../../../uibase.cpp:895
#: ../../../uibase.cpp:984
msgid "Cancel"
msgstr "Avbryt"
#: ../../../uibase.cpp:449
msgid "&Apply"
msgstr "&Använd"
#: ../../../uibase.cpp:508
msgid "Bitcoin "
msgstr "Bitcoin "
#: ../../../uibase.cpp:514
msgid "version"
msgstr "version"
#: ../../../uibase.cpp:525
msgid ""
"Copyright (c) 2009-2011 Bitcoin Developers\n"
"\n"
"This is experimental software.\n"
"\n"
"Distributed under the MIT/X11 software license, see the accompanying file \n"
"license.txt or http://www.opensource.org/licenses/mit-license.php.\n"
"\n"
"This product includes software developed by the OpenSSL Project for use in the \n"
"OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by \n"
"Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard."
msgstr ""
"Copyright (c) 2009-2011 Bitcoin Developers\n"
"\n"
"Detta är en experimentell mjukvara.\n"
"\n"
"Distribuerad under MIT/X11 mjukvarulicens, se medföljande fil \n"
"license.txt eller http://www.opensource.org/licenses/mit-license.php.\n"
"\n"
"Denna produkt inkluderar mjukvara utvecklad av OpenSSL Project för användning i \n"
"OpenSSL Toolkit (http://www.openssl.org/) och kryptografisk mjukvara skriven av \n"
"Eric Young (eay@cryptsoft.com) och UPnP mjukvara skriven av Thomas Bernard.\n"
"\n"
"Översatt av Han Lin Yap."
#: ../../../uibase.cpp:581
msgid "Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)"
msgstr "Ange en Bitcoin adress (t.ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)"
#: ../../../uibase.cpp:595
msgid "Pay &To:"
msgstr "Betala &Till:"
#: ../../../uibase.cpp:610
msgid "&Paste"
msgstr "&Klistra in"
#: ../../../uibase.cpp:613
msgid " Address &Book..."
msgstr " Adress&bok..."
#: ../../../uibase.cpp:620
msgid "&Amount:"
msgstr "&Belopp:"
#: ../../../uibase.cpp:630
msgid "T&ransfer:"
msgstr "&Överföring:"
#: ../../../uibase.cpp:636
msgid " Standard"
msgstr " Standard"
#: ../../../uibase.cpp:663
msgid "&Send"
msgstr "&Skicka"
#: ../../../uibase.cpp:711
msgid ""
"\n"
"\n"
"Connecting..."
msgstr ""
"\n"
"\n"
"Ansluter..."
#: ../../../uibase.cpp:761
msgid "These are your Bitcoin addresses for receiving payments. You may want to give a different one to each sender so you can keep track of who is paying you. The highlighted address is displayed in the main window."
msgstr "Dessa är dina Bitcoin adresser för mottagning av betalningar. Du rekommenderas att ge olika till varje avsändare så du kan ha koll på vem som betalar dig. Den markerade adressen visas i huvudfönstret."
#: ../../../uibase.cpp:774
#: ../../../uibase.cpp:886
msgid "&Edit..."
msgstr "&Redigera..."
#: ../../../uibase.cpp:777
#: ../../../uibase.cpp:889
msgid " &New Address... "
msgstr " &Ny Adress... "
#: ../../../uibase.cpp:849
msgid "Sending"
msgstr "Skickar"
#: ../../../uibase.cpp:857
msgid "These are your Bitcoin addresses for receiving payments. You can give a different one to each sender to keep track of who is paying you. The highlighted address will be displayed in the main window."
msgstr "Dessa är dina Bitcoin adresser för mottagning av betalningar. Du kan ge olika till varje avsändare så du kan ha koll på vem som betalar dig. Den markerade adressen visas i huvudfönstret."
#: ../../../uibase.cpp:870
msgid "Receiving"
msgstr "Mottagning"
#: ../../../uibase.cpp:880
msgid "&Delete"
msgstr "&Ta bort"
#: ../../../util.cpp:874
msgid "Warning: Please check that your computer's date and time are correct. If your clock is wrong Bitcoin will not work properly."
msgstr "Varning: Var god och kolla att din dator har rätt datum och klockslag. Om din klocka är fel så kommer Bitcoin inte att fungera ordentligt."
#: ../../../util.cpp:908
msgid "beta"
msgstr "beta"
#: ../../../wallet.cpp:917
#, c-format
msgid "Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds "
msgstr "Fel: Denna transaktion kräver en transaktionsavgift minst %s för dess belopp, komplexitet, eller användning av nyligen mottagna pengar "
#: ../../../wallet.cpp:919
msgid "Error: Transaction creation failed "
msgstr "Fel: Misslyckades att skapa transaktion "
#: ../../../wallet.cpp:928
msgid "Error: The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here."
msgstr "Fel: Transaktionen blev nekad. Detta kan hända om några av dina mynt i din plånbok var redan spenderad. Till exempel om du använde en kopia av wallet.dat och mynten var redan spenderad i kopian, men som inte var markerad som spenderad här."
#: ../../../wallet.cpp:941
msgid "Invalid amount"
msgstr "Ogiltig belopp"
#: ../../../wallet.cpp:948
msgid "Invalid bitcoin address"
msgstr "Ogiltig bitcoin adress"
#: ../../../uibase.h:147
msgid "Transaction Details"
msgstr "Transaktion detaljer"
#: ../../../uibase.h:199
msgid "Options"
msgstr "Inställningar"
#: ../../../uibase.h:228
msgid "About Bitcoin"
msgstr "Om Bitcoin"
#: ../../../uibase.h:337
msgid "Your Bitcoin Addresses"
msgstr "Dina Bitcoin Adresser"

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -1,77 +0,0 @@
# Copyright (c) 2009-2010 Satoshi Nakamoto
# Distributed under the MIT/X11 software license, see the accompanying
# file license.txt or http://www.opensource.org/licenses/mit-license.php.
INCLUDEPATHS= \
-I"/boost" \
-I"/db/build_unix" \
-I"/openssl/include" \
-I"/wxwidgets/lib/gcc_lib/mswud" \
-I"/wxwidgets/include"
LIBPATHS= \
-L"/boost/stage/lib" \
-L"/db/build_unix" \
-L"/openssl/out" \
-L"/wxwidgets/lib/gcc_lib"
WXLIBS= \
-l wxmsw29ud_html -l wxmsw29ud_core -l wxmsw29ud_adv -l wxbase29ud -l wxtiffd -l wxjpegd -l wxpngd -l wxzlibd
LIBS= \
-l libboost_system-mgw34-mt-d \
-l libboost_filesystem-mgw34-mt-d \
-l libboost_program_options-mgw34-mt-d \
-l libboost_thread-mgw34-mt-d \
-l db_cxx \
-l eay32 \
-l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l shlwapi
DEFS=-DWIN32 -D__WXMSW__ -D_WINDOWS -DNOPCH
DEBUGFLAGS=-g -D__WXDEBUG__
CFLAGS=-mthreads -O2 -w -Wno-invalid-offsetof -Wformat $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
HEADERS=headers.h strlcpy.h serialize.h uint256.h util.h key.h bignum.h base58.h \
script.h db.h net.h irc.h main.h rpc.h uibase.h ui.h noui.h init.h
OBJS= \
obj/util.o \
obj/script.o \
obj/db.o \
obj/net.o \
obj/irc.o \
obj/main.o \
obj/rpc.o \
obj/init.o \
cryptopp/obj/sha.o \
cryptopp/obj/cpu.o
all: bitcoin.exe
obj/%.o: %.cpp $(HEADERS)
g++ -c $(CFLAGS) -DGUI -o $@ $<
cryptopp/obj/%.o: cryptopp/%.cpp
g++ -c $(CFLAGS) -O3 -DCRYPTOPP_X86_ASM_AVAILABLE -DCRYPTOPP_DISABLE_SSE2 -o $@ $<
obj/ui_res.o: ui.rc rc/bitcoin.ico rc/check.ico rc/send16.bmp rc/send16mask.bmp rc/send16masknoshadow.bmp rc/send20.bmp rc/send20mask.bmp rc/addressbook16.bmp rc/addressbook16mask.bmp rc/addressbook20.bmp rc/addressbook20mask.bmp
windres $(DEFS) $(INCLUDEPATHS) -o $@ -i $<
bitcoin.exe: $(OBJS) obj/ui.o obj/uibase.o obj/ui_res.o
g++ $(CFLAGS) -mwindows -Wl,--subsystem,windows -o $@ $(LIBPATHS) $^ $(WXLIBS) $(LIBS)
obj/nogui/%.o: %.cpp $(HEADERS)
g++ -c $(CFLAGS) -o $@ $<
bitcoind.exe: $(OBJS:obj/%=obj/nogui/%) obj/ui_res.o
g++ $(CFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS)
clean:
-del /Q obj\*
-del /Q obj\nogui\*
-del /Q cryptopp\obj\*
-del /Q headers.h.gch

View File

@@ -1,69 +0,0 @@
# Copyright (c) 2009-2010 Satoshi Nakamoto
# Distributed under the MIT/X11 software license, see the accompanying
# file license.txt or http://www.opensource.org/licenses/mit-license.php.
# Mac OS X makefile for bitcoin
# Laszlo Hanyecz (solar@heliacal.net)
DEPSDIR=/Users/macosuser/bitcoin/deps
INCLUDEPATHS= \
-I"$(DEPSDIR)/include"
LIBPATHS= \
-L"$(DEPSDIR)/lib"
WXLIBS=$(shell $(DEPSDIR)/bin/wx-config --libs --static)
LIBS= -dead_strip \
$(DEPSDIR)/lib/libdb_cxx-4.8.a \
$(DEPSDIR)/lib/libboost_system.a \
$(DEPSDIR)/lib/libboost_filesystem.a \
$(DEPSDIR)/lib/libboost_program_options.a \
$(DEPSDIR)/lib/libboost_thread.a \
$(DEPSDIR)/lib/libcrypto.a
DEFS=$(shell $(DEPSDIR)/bin/wx-config --cxxflags) -D__WXMAC_OSX__ -DNOPCH -DMSG_NOSIGNAL=0
DEBUGFLAGS=-g -DwxDEBUG_LEVEL=0
# ppc doesn't work because we don't support big-endian
CFLAGS=-mmacosx-version-min=10.5 -arch i386 -arch x86_64 -O2 -Wno-invalid-offsetof -Wformat $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
HEADERS=headers.h strlcpy.h serialize.h uint256.h util.h key.h bignum.h base58.h \
script.h db.h net.h irc.h main.h rpc.h uibase.h ui.h noui.h init.h
OBJS= \
obj/util.o \
obj/script.o \
obj/db.o \
obj/net.o \
obj/irc.o \
obj/main.o \
obj/rpc.o \
obj/init.o \
cryptopp/obj/sha.o \
cryptopp/obj/cpu.o
all: bitcoin
obj/%.o: %.cpp $(HEADERS)
g++ -c $(CFLAGS) -DGUI -o $@ $<
cryptopp/obj/%.o: cryptopp/%.cpp
g++ -c $(CFLAGS) -O3 -DCRYPTOPP_DISABLE_ASM -o $@ $<
bitcoin: $(OBJS) obj/ui.o obj/uibase.o
g++ $(CFLAGS) -o $@ $(LIBPATHS) $^ $(WXLIBS) $(LIBS)
obj/nogui/%.o: %.cpp $(HEADERS)
g++ -c $(CFLAGS) -o $@ $<
bitcoind: $(OBJS:obj/%=obj/nogui/%)
g++ $(CFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS)
clean:
-rm -f obj/*.o
-rm -f obj/nogui/*.o

View File

@@ -1,78 +0,0 @@
# Copyright (c) 2009-2010 Satoshi Nakamoto
# Distributed under the MIT/X11 software license, see the accompanying
# file license.txt or http://www.opensource.org/licenses/mit-license.php.
INCLUDEPATHS= \
-I"/usr/include" \
-I"/usr/local/include/wx-2.9" \
-I"/usr/local/lib/wx/include/gtk2-unicode-debug-static-2.9"
LIBPATHS= \
-L"/usr/lib" \
-L"/usr/local/lib"
WXLIBS= \
-Wl,-Bstatic \
-l wx_gtk2ud-2.9 \
-Wl,-Bdynamic \
-l gtk-x11-2.0 -l SM
LIBS= \
-Wl,-Bstatic \
-l boost_system \
-l boost_filesystem \
-l boost_program_options \
-l boost_thread \
-l db_cxx \
-l crypto \
-Wl,-Bdynamic \
-l gthread-2.0
DEFS=-D__WXGTK__ -DNOPCH
DEBUGFLAGS=-g -D__WXDEBUG__
CFLAGS=-O2 -Wno-invalid-offsetof -Wformat $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
HEADERS=headers.h strlcpy.h serialize.h uint256.h util.h key.h bignum.h base58.h \
script.h db.h net.h irc.h main.h rpc.h uibase.h ui.h noui.h init.h
OBJS= \
obj/util.o \
obj/script.o \
obj/db.o \
obj/net.o \
obj/irc.o \
obj/main.o \
obj/rpc.o \
obj/init.o \
cryptopp/obj/sha.o \
cryptopp/obj/cpu.o
all: bitcoin
headers.h.gch: headers.h $(HEADERS)
g++ -c $(CFLAGS) -DGUI -o $@ $<
obj/%.o: %.cpp $(HEADERS) headers.h.gch
g++ -c $(CFLAGS) -DGUI -o $@ $<
cryptopp/obj/%.o: cryptopp/%.cpp
g++ -c $(CFLAGS) -O3 -DCRYPTOPP_DISABLE_SSE2 -o $@ $<
bitcoin: $(OBJS) obj/ui.o obj/uibase.o
g++ $(CFLAGS) -o $@ $(LIBPATHS) $^ $(WXLIBS) $(LIBS)
obj/nogui/%.o: %.cpp $(HEADERS)
g++ -c $(CFLAGS) -o $@ $<
bitcoind: $(OBJS:obj/%=obj/nogui/%)
g++ $(CFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS)
clean:
-rm -f obj/*.o
-rm -f obj/nogui/*.o
-rm -f cryptopp/obj/*.o
-rm -f headers.h.gch

View File

@@ -1,116 +0,0 @@
# Copyright (c) 2009-2010 Satoshi Nakamoto
# Distributed under the MIT/X11 software license, see the accompanying
# file license.txt or http://www.opensource.org/licenses/mit-license.php.
INCLUDEPATHS= \
/I"/boost" \
/I"/db/build_windows" \
/I"/openssl/include" \
/I"/wxwidgets/lib/vc_lib/mswud" \
/I"/wxwidgets/include"
LIBPATHS= \
/LIBPATH:"/boost/stage/lib" \
/LIBPATH:"/db/build_windows/debug" \
/LIBPATH:"/openssl/out" \
/LIBPATH:"/wxwidgets/lib/vc_lib"
WXLIBS=wxmsw29ud_html.lib wxmsw29ud_core.lib wxmsw29ud_adv.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib
LIBS= \
libboost_system-vc80-mt-gd.lib \
libboost_filesystem-vc80-mt-gd.lib \
libboost_program_options-vc80-mt-gd.lib \
libboost_thread-vc80-mt-gd.lib \
libdb47sd.lib \
libeay32.lib \
kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib ws2_32.lib shlwapi.lib
DEFS=/DWIN32 /D__WXMSW__ /D_WINDOWS /DNOPCH
DEBUGFLAGS=/Zi /D__WXDEBUG__
CFLAGS=/c /nologo /MDd /EHsc /GR /Zm300 $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
HEADERS=headers.h strlcpy.h serialize.h uint256.h util.h key.h bignum.h base58.h \
script.h db.h net.h irc.h main.h rpc.h uibase.h ui.h noui.h init.h
OBJS= \
obj\util.obj \
obj\script.obj \
obj\db.obj \
obj\net.obj \
obj\irc.obj \
obj\main.obj \
obj\rpc.obj \
obj\init.obj \
cryptopp\obj\sha.obj \
cryptopp\obj\cpu.obj
all: bitcoin.exe
.cpp{obj}.obj:
cl $(CFLAGS) /DGUI /Fo$@ %s
obj\util.obj: $(HEADERS)
obj\script.obj: $(HEADERS)
obj\db.obj: $(HEADERS)
obj\net.obj: $(HEADERS)
obj\irc.obj: $(HEADERS)
obj\main.obj: $(HEADERS)
obj\rpc.obj: $(HEADERS)
obj\init.obj: $(HEADERS)
obj\ui.obj: $(HEADERS)
obj\uibase.obj: $(HEADERS)
cryptopp\obj\sha.obj: cryptopp\sha.cpp
cl $(CFLAGS) /O2 /DCRYPTOPP_DISABLE_ASM /Fo$@ %s
cryptopp\obj\cpu.obj: cryptopp\cpu.cpp
cl $(CFLAGS) /O2 /DCRYPTOPP_DISABLE_ASM /Fo$@ %s
obj\ui.res: ui.rc rc/bitcoin.ico rc/check.ico rc/send16.bmp rc/send16mask.bmp rc/send16masknoshadow.bmp rc/send20.bmp rc/send20mask.bmp rc/addressbook16.bmp rc/addressbook16mask.bmp rc/addressbook20.bmp rc/addressbook20mask.bmp
rc $(INCLUDEPATHS) $(DEFS) /Fo$@ %s
bitcoin.exe: $(OBJS) obj\ui.obj obj\uibase.obj obj\ui.res
link /nologo /DEBUG /SUBSYSTEM:WINDOWS /OUT:$@ $(LIBPATHS) $** $(WXLIBS) $(LIBS)
.cpp{obj\nogui}.obj:
cl $(CFLAGS) /Fo$@ %s
obj\nogui\util.obj: $(HEADERS)
obj\nogui\script.obj: $(HEADERS)
obj\nogui\db.obj: $(HEADERS)
obj\nogui\net.obj: $(HEADERS)
obj\nogui\irc.obj: $(HEADERS)
obj\nogui\main.obj: $(HEADERS)
obj\nogui\rpc.obj: $(HEADERS)
obj\nogui\init.obj: $(HEADERS)
bitcoind.exe: $(OBJS:obj\=obj\nogui\) obj\ui.res
link /nologo /DEBUG /OUT:$@ $(LIBPATHS) $** $(LIBS)
clean:
-del /Q obj\*
-del /Q obj\nogui\*
-del /Q cryptopp\obj\*
-del /Q *.ilk
-del /Q *.pdb

34
noui.h
View File

@@ -1,34 +0,0 @@
// Copyright (c) 2010 Satoshi Nakamoto
// Distributed under the MIT/X11 software license, see the accompanying
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
inline int MyMessageBox(const string& message, const string& caption="Message", int style=4, void* parent=NULL, int x=-1, int y=-1)
{
printf("%s: %s\n", caption.c_str(), message.c_str());
fprintf(stderr, "%s: %s\n", caption.c_str(), message.c_str());
return 4;
}
#define wxMessageBox MyMessageBox
inline int ThreadSafeMessageBox(const string& message, const string& caption, int style, void* parent, int x, int y)
{
return MyMessageBox(message, caption, style, parent, x, y);
}
inline bool ThreadSafeAskFee(int64 nFeeRequired, const string& strCaption, void* parent)
{
return true;
}
inline void CalledSetStatusBar(const string& strText, int nField)
{
}
inline void UIThreadCall(boost::function0<void> fn)
{
}
inline void MainFrameRepaint()
{
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

1170
rpc.cpp

File diff suppressed because it is too large Load Diff

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 126 B

After

Width:  |  Height:  |  Size: 126 B

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 142 B

After

Width:  |  Height:  |  Size: 142 B

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

BIN
share/pixmaps/bitcoin.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 KiB

View File

Before

Width:  |  Height:  |  Size: 766 B

After

Width:  |  Height:  |  Size: 766 B

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 126 B

After

Width:  |  Height:  |  Size: 126 B

View File

Before

Width:  |  Height:  |  Size: 126 B

After

Width:  |  Height:  |  Size: 126 B

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 142 B

After

Width:  |  Height:  |  Size: 142 B

View File

@@ -1,156 +1,156 @@
# Auto-generated by EclipseNSIS Script Wizard
# 3.10.2009 19:00:28
Name Bitcoin
RequestExecutionLevel highest
# General Symbol Definitions
!define REGKEY "SOFTWARE\$(^Name)"
!define VERSION 0.3.6
!define COMPANY "Bitcoin project"
!define URL http://www.bitcoin.org/
# MUI Symbol Definitions
!define MUI_ICON "src\rc\bitcoin.ico"
!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM
!define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY}
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup
!define MUI_STARTMENUPAGE_DEFAULTFOLDER Bitcoin
!define MUI_FINISHPAGE_RUN $INSTDIR\bitcoin.exe
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
# Included files
!include Sections.nsh
!include MUI2.nsh
# Variables
Var StartMenuGroup
# Installer pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
# Installer languages
!insertmacro MUI_LANGUAGE English
# Installer attributes
OutFile bitcoin-0.3.6-win32-setup.exe
InstallDir $PROGRAMFILES\Bitcoin
CRCCheck on
XPStyle on
ShowInstDetails show
VIProductVersion 0.3.6.0
VIAddVersionKey ProductName Bitcoin
VIAddVersionKey ProductVersion "${VERSION}"
VIAddVersionKey CompanyName "${COMPANY}"
VIAddVersionKey CompanyWebsite "${URL}"
VIAddVersionKey FileVersion "${VERSION}"
VIAddVersionKey FileDescription ""
VIAddVersionKey LegalCopyright ""
InstallDirRegKey HKCU "${REGKEY}" Path
ShowUninstDetails show
# Installer sections
Section -Main SEC0000
SetOutPath $INSTDIR
SetOverwrite on
File bitcoin.exe
File libeay32.dll
File mingwm10.dll
File license.txt
File readme.txt
SetOutPath $INSTDIR\daemon
File /r daemon\*.*
SetOutPath $INSTDIR\locale
File /r locale\*.*
SetOutPath $INSTDIR\src
File /r src\*.*
SetOutPath $INSTDIR
WriteRegStr HKCU "${REGKEY}\Components" Main 1
SectionEnd
Section -post SEC0001
WriteRegStr HKCU "${REGKEY}" Path $INSTDIR
SetOutPath $INSTDIR
WriteUninstaller $INSTDIR\uninstall.exe
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
CreateDirectory $SMPROGRAMS\$StartMenuGroup
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Bitcoin.lnk" $INSTDIR\bitcoin.exe
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall Bitcoin.lnk" $INSTDIR\uninstall.exe
!insertmacro MUI_STARTMENU_WRITE_END
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe
WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1
WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1
SectionEnd
# Macro for selecting uninstaller sections
!macro SELECT_UNSECTION SECTION_NAME UNSECTION_ID
Push $R0
ReadRegStr $R0 HKCU "${REGKEY}\Components" "${SECTION_NAME}"
StrCmp $R0 1 0 next${UNSECTION_ID}
!insertmacro SelectSection "${UNSECTION_ID}"
GoTo done${UNSECTION_ID}
next${UNSECTION_ID}:
!insertmacro UnselectSection "${UNSECTION_ID}"
done${UNSECTION_ID}:
Pop $R0
!macroend
# Uninstaller sections
Section /o -un.Main UNSEC0000
Delete /REBOOTOK $INSTDIR\bitcoin.exe
Delete /REBOOTOK $INSTDIR\libeay32.dll
Delete /REBOOTOK $INSTDIR\mingwm10.dll
Delete /REBOOTOK $INSTDIR\license.txt
Delete /REBOOTOK $INSTDIR\readme.txt
RMDir /r /REBOOTOK $INSTDIR\daemon
RMDir /r /REBOOTOK $INSTDIR\locale
RMDir /r /REBOOTOK $INSTDIR\src
DeleteRegValue HKCU "${REGKEY}\Components" Main
SectionEnd
Section -un.post UNSEC0001
DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall Bitcoin.lnk"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Bitcoin.lnk"
Delete /REBOOTOK "$SMSTARTUP\Bitcoin.lnk"
Delete /REBOOTOK $INSTDIR\uninstall.exe
Delete /REBOOTOK $INSTDIR\debug.log
Delete /REBOOTOK $INSTDIR\db.log
DeleteRegValue HKCU "${REGKEY}" StartMenuGroup
DeleteRegValue HKCU "${REGKEY}" Path
DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components"
DeleteRegKey /IfEmpty HKCU "${REGKEY}"
RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup
RmDir /REBOOTOK $INSTDIR
Push $R0
StrCpy $R0 $StartMenuGroup 1
StrCmp $R0 ">" no_smgroup
no_smgroup:
Pop $R0
SectionEnd
# Installer functions
Function .onInit
InitPluginsDir
FunctionEnd
# Uninstaller functions
Function un.onInit
ReadRegStr $INSTDIR HKCU "${REGKEY}" Path
!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup
!insertmacro SELECT_UNSECTION Main ${UNSEC0000}
FunctionEnd
Name Bitcoin
RequestExecutionLevel highest
SetCompressor /SOLID lzma
# General Symbol Definitions
!define REGKEY "SOFTWARE\$(^Name)"
!define VERSION 0.4.00
!define COMPANY "Bitcoin project"
!define URL http://www.bitcoin.org/
# MUI Symbol Definitions
!define MUI_ICON "../share/pixmaps/bitcoin.ico"
!define MUI_WELCOMEFINISHPAGE_BITMAP "../share/pixmaps/nsis-wizard.bmp"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_RIGHT
!define MUI_HEADERIMAGE_BITMAP "../share/pixmaps/nsis-header.bmp"
!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM
!define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY}
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup
!define MUI_STARTMENUPAGE_DEFAULTFOLDER Bitcoin
!define MUI_FINISHPAGE_RUN $INSTDIR\bitcoin.exe
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "../share/pixmaps/nsis-wizard.bmp"
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
# Included files
!include Sections.nsh
!include MUI2.nsh
# Variables
Var StartMenuGroup
# Installer pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
# Installer languages
!insertmacro MUI_LANGUAGE English
# Installer attributes
OutFile bitcoin-0.4.00-win32-setup.exe
InstallDir $PROGRAMFILES\Bitcoin
CRCCheck on
XPStyle on
BrandingText " "
ShowInstDetails show
VIProductVersion 0.4.00.0
VIAddVersionKey ProductName Bitcoin
VIAddVersionKey ProductVersion "${VERSION}"
VIAddVersionKey CompanyName "${COMPANY}"
VIAddVersionKey CompanyWebsite "${URL}"
VIAddVersionKey FileVersion "${VERSION}"
VIAddVersionKey FileDescription ""
VIAddVersionKey LegalCopyright ""
InstallDirRegKey HKCU "${REGKEY}" Path
ShowUninstDetails show
# Installer sections
Section -Main SEC0000
SetOutPath $INSTDIR
SetOverwrite on
File ../src/bitcoin.exe
File /oname=license.txt ../COPYING
File /oname=readme.txt ../doc/README_windows.txt
SetOutPath $INSTDIR\daemon
File ../src/bitcoind.exe
SetOutPath $INSTDIR\locale
File /r ../locale/*.*
SetOutPath $INSTDIR\src
File /r /x *.exe /x *.o ../src\*.*
SetOutPath $INSTDIR
WriteRegStr HKCU "${REGKEY}\Components" Main 1
SectionEnd
Section -post SEC0001
WriteRegStr HKCU "${REGKEY}" Path $INSTDIR
SetOutPath $INSTDIR
WriteUninstaller $INSTDIR\uninstall.exe
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
CreateDirectory $SMPROGRAMS\$StartMenuGroup
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Bitcoin.lnk" $INSTDIR\bitcoin.exe
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall Bitcoin.lnk" $INSTDIR\uninstall.exe
!insertmacro MUI_STARTMENU_WRITE_END
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}"
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe
WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1
WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1
SectionEnd
# Macro for selecting uninstaller sections
!macro SELECT_UNSECTION SECTION_NAME UNSECTION_ID
Push $R0
ReadRegStr $R0 HKCU "${REGKEY}\Components" "${SECTION_NAME}"
StrCmp $R0 1 0 next${UNSECTION_ID}
!insertmacro SelectSection "${UNSECTION_ID}"
GoTo done${UNSECTION_ID}
next${UNSECTION_ID}:
!insertmacro UnselectSection "${UNSECTION_ID}"
done${UNSECTION_ID}:
Pop $R0
!macroend
# Uninstaller sections
Section /o -un.Main UNSEC0000
Delete /REBOOTOK $INSTDIR\bitcoin.exe
Delete /REBOOTOK $INSTDIR\license.txt
Delete /REBOOTOK $INSTDIR\readme.txt
RMDir /r /REBOOTOK $INSTDIR\daemon
RMDir /r /REBOOTOK $INSTDIR\locale
RMDir /r /REBOOTOK $INSTDIR\src
DeleteRegValue HKCU "${REGKEY}\Components" Main
SectionEnd
Section -un.post UNSEC0001
DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall Bitcoin.lnk"
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Bitcoin.lnk"
Delete /REBOOTOK "$SMSTARTUP\Bitcoin.lnk"
Delete /REBOOTOK $INSTDIR\uninstall.exe
Delete /REBOOTOK $INSTDIR\debug.log
Delete /REBOOTOK $INSTDIR\db.log
DeleteRegValue HKCU "${REGKEY}" StartMenuGroup
DeleteRegValue HKCU "${REGKEY}" Path
DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components"
DeleteRegKey /IfEmpty HKCU "${REGKEY}"
RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup
RmDir /REBOOTOK $INSTDIR
Push $R0
StrCpy $R0 $StartMenuGroup 1
StrCmp $R0 ">" no_smgroup
no_smgroup:
Pop $R0
SectionEnd
# Installer functions
Function .onInit
InitPluginsDir
FunctionEnd
# Uninstaller functions
Function un.onInit
ReadRegStr $INSTDIR HKCU "${REGKEY}" Path
!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup
!insertmacro SELECT_UNSECTION Main ${UNSEC0000}
FunctionEnd

15
share/ui.rc Normal file
View File

@@ -0,0 +1,15 @@
bitcoin ICON "pixmaps/bitcoin.ico"
#include "wx/msw/wx.rc"
check ICON "pixmaps/check.ico"
send16 BITMAP "pixmaps/send16.bmp"
send16mask BITMAP "pixmaps/send16mask.bmp"
send16masknoshadow BITMAP "pixmaps/send16masknoshadow.bmp"
send20 BITMAP "pixmaps/send20.bmp"
send20mask BITMAP "pixmaps/send20mask.bmp"
addressbook16 BITMAP "pixmaps/addressbook16.bmp"
addressbook16mask BITMAP "pixmaps/addressbook16mask.bmp"
addressbook20 BITMAP "pixmaps/addressbook20.bmp"
addressbook20mask BITMAP "pixmaps/addressbook20mask.bmp"
favicon ICON "pixmaps/favicon.ico"

File diff suppressed because it is too large Load Diff

308
src/base58.h Normal file
View File

@@ -0,0 +1,308 @@
// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2011 The Bitcoin Developers
// Distributed under the MIT/X11 software license, see the accompanying
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
//
// Why base-58 instead of standard base-64 encoding?
// - Don't want 0OIl characters that look the same in some fonts and
// could be used to create visually identical looking account numbers.
// - A string with non-alphanumeric characters is not as easily accepted as an account number.
// - E-mail usually won't line-break if there's no punctuation to break at.
// - Doubleclicking selects the whole number as one word if it's all alphanumeric.
//
#ifndef BITCOIN_BASE58_H
#define BITCOIN_BASE58_H
#include <string>
#include <vector>
#include "bignum.h"
static const char* pszBase58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
inline std::string EncodeBase58(const unsigned char* pbegin, const unsigned char* pend)
{
CAutoBN_CTX pctx;
CBigNum bn58 = 58;
CBigNum bn0 = 0;
// Convert big endian data to little endian
// Extra zero at the end make sure bignum will interpret as a positive number
std::vector<unsigned char> vchTmp(pend-pbegin+1, 0);
reverse_copy(pbegin, pend, vchTmp.begin());
// Convert little endian data to bignum
CBigNum bn;
bn.setvch(vchTmp);
// Convert bignum to std::string
std::string str;
// Expected size increase from base58 conversion is approximately 137%
// use 138% to be safe
str.reserve((pend - pbegin) * 138 / 100 + 1);
CBigNum dv;
CBigNum rem;
while (bn > bn0)
{
if (!BN_div(&dv, &rem, &bn, &bn58, pctx))
throw bignum_error("EncodeBase58 : BN_div failed");
bn = dv;
unsigned int c = rem.getulong();
str += pszBase58[c];
}
// Leading zeroes encoded as base58 zeros
for (const unsigned char* p = pbegin; p < pend && *p == 0; p++)
str += pszBase58[0];
// Convert little endian std::string to big endian
reverse(str.begin(), str.end());
return str;
}
inline std::string EncodeBase58(const std::vector<unsigned char>& vch)
{
return EncodeBase58(&vch[0], &vch[0] + vch.size());
}
inline bool DecodeBase58(const char* psz, std::vector<unsigned char>& vchRet)
{
CAutoBN_CTX pctx;
vchRet.clear();
CBigNum bn58 = 58;
CBigNum bn = 0;
CBigNum bnChar;
while (isspace(*psz))
psz++;
// Convert big endian string to bignum
for (const char* p = psz; *p; p++)
{
const char* p1 = strchr(pszBase58, *p);
if (p1 == NULL)
{
while (isspace(*p))
p++;
if (*p != '\0')
return false;
break;
}
bnChar.setulong(p1 - pszBase58);
if (!BN_mul(&bn, &bn, &bn58, pctx))
throw bignum_error("DecodeBase58 : BN_mul failed");
bn += bnChar;
}
// Get bignum as little endian data
std::vector<unsigned char> vchTmp = bn.getvch();
// Trim off sign byte if present
if (vchTmp.size() >= 2 && vchTmp.end()[-1] == 0 && vchTmp.end()[-2] >= 0x80)
vchTmp.erase(vchTmp.end()-1);
// Restore leading zeros
int nLeadingZeros = 0;
for (const char* p = psz; *p == pszBase58[0]; p++)
nLeadingZeros++;
vchRet.assign(nLeadingZeros + vchTmp.size(), 0);
// Convert little endian data to big endian
reverse_copy(vchTmp.begin(), vchTmp.end(), vchRet.end() - vchTmp.size());
return true;
}
inline bool DecodeBase58(const std::string& str, std::vector<unsigned char>& vchRet)
{
return DecodeBase58(str.c_str(), vchRet);
}
inline std::string EncodeBase58Check(const std::vector<unsigned char>& vchIn)
{
// add 4-byte hash check to the end
std::vector<unsigned char> vch(vchIn);
uint256 hash = Hash(vch.begin(), vch.end());
vch.insert(vch.end(), (unsigned char*)&hash, (unsigned char*)&hash + 4);
return EncodeBase58(vch);
}
inline bool DecodeBase58Check(const char* psz, std::vector<unsigned char>& vchRet)
{
if (!DecodeBase58(psz, vchRet))
return false;
if (vchRet.size() < 4)
{
vchRet.clear();
return false;
}
uint256 hash = Hash(vchRet.begin(), vchRet.end()-4);
if (memcmp(&hash, &vchRet.end()[-4], 4) != 0)
{
vchRet.clear();
return false;
}
vchRet.resize(vchRet.size()-4);
return true;
}
inline bool DecodeBase58Check(const std::string& str, std::vector<unsigned char>& vchRet)
{
return DecodeBase58Check(str.c_str(), vchRet);
}
class CBase58Data
{
protected:
unsigned char nVersion;
std::vector<unsigned char> vchData;
CBase58Data()
{
nVersion = 0;
vchData.clear();
}
~CBase58Data()
{
if (!vchData.empty())
memset(&vchData[0], 0, vchData.size());
}
void SetData(int nVersionIn, const void* pdata, size_t nSize)
{
nVersion = nVersionIn;
vchData.resize(nSize);
if (!vchData.empty())
memcpy(&vchData[0], pdata, nSize);
}
void SetData(int nVersionIn, const unsigned char *pbegin, const unsigned char *pend)
{
SetData(nVersionIn, (void*)pbegin, pend - pbegin);
}
public:
bool SetString(const char* psz)
{
std::vector<unsigned char> vchTemp;
DecodeBase58Check(psz, vchTemp);
if (vchTemp.empty())
{
vchData.clear();
nVersion = 0;
return false;
}
nVersion = vchTemp[0];
vchData.resize(vchTemp.size() - 1);
if (!vchData.empty())
memcpy(&vchData[0], &vchTemp[1], vchData.size());
memset(&vchTemp[0], 0, vchTemp.size());
return true;
}
bool SetString(const std::string& str)
{
return SetString(str.c_str());
}
std::string ToString() const
{
std::vector<unsigned char> vch(1, nVersion);
vch.insert(vch.end(), vchData.begin(), vchData.end());
return EncodeBase58Check(vch);
}
int CompareTo(const CBase58Data& b58) const
{
if (nVersion < b58.nVersion) return -1;
if (nVersion > b58.nVersion) return 1;
if (vchData < b58.vchData) return -1;
if (vchData > b58.vchData) return 1;
return 0;
}
bool operator==(const CBase58Data& b58) const { return CompareTo(b58) == 0; }
bool operator<=(const CBase58Data& b58) const { return CompareTo(b58) <= 0; }
bool operator>=(const CBase58Data& b58) const { return CompareTo(b58) >= 0; }
bool operator< (const CBase58Data& b58) const { return CompareTo(b58) < 0; }
bool operator> (const CBase58Data& b58) const { return CompareTo(b58) > 0; }
};
class CBitcoinAddress : public CBase58Data
{
public:
bool SetHash160(const uint160& hash160)
{
SetData(fTestNet ? 111 : 0, &hash160, 20);
return true;
}
bool SetPubKey(const std::vector<unsigned char>& vchPubKey)
{
return SetHash160(Hash160(vchPubKey));
}
bool IsValid() const
{
int nExpectedSize = 20;
bool fExpectTestNet = false;
switch(nVersion)
{
case 0:
break;
case 111:
fExpectTestNet = true;
break;
default:
return false;
}
return fExpectTestNet == fTestNet && vchData.size() == nExpectedSize;
}
CBitcoinAddress()
{
}
CBitcoinAddress(uint160 hash160In)
{
SetHash160(hash160In);
}
CBitcoinAddress(const std::vector<unsigned char>& vchPubKey)
{
SetPubKey(vchPubKey);
}
CBitcoinAddress(const std::string& strAddress)
{
SetString(strAddress);
}
CBitcoinAddress(const char* pszAddress)
{
SetString(pszAddress);
}
uint160 GetHash160() const
{
assert(vchData.size() == 20);
uint160 hash160;
memcpy(&hash160, &vchData[0], 20);
return hash160;
}
};
#endif

View File

@@ -1,14 +1,15 @@
// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2011 The Bitcoin developers
// Distributed under the MIT/X11 software license, see the accompanying
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_BIGNUM_H
#define BITCOIN_BIGNUM_H
#include <stdexcept>
#include <vector>
#include <openssl/bn.h>
#include "util.h"
class bignum_error : public std::runtime_error
{
@@ -228,10 +229,13 @@ public:
{
std::vector<unsigned char> vch2(vch.size() + 4);
unsigned int nSize = vch.size();
// BIGNUM's byte stream format expects 4 bytes of
// big endian size data info at the front
vch2[0] = (nSize >> 24) & 0xff;
vch2[1] = (nSize >> 16) & 0xff;
vch2[2] = (nSize >> 8) & 0xff;
vch2[3] = (nSize >> 0) & 0xff;
// swap data to big endian
reverse_copy(vch.begin(), vch.end(), vch2.begin() + 4);
BN_mpi2bn(&vch2[0], vch2.size(), this);
}
@@ -308,7 +312,7 @@ public:
CAutoBN_CTX pctx;
CBigNum bnBase = nBase;
CBigNum bn0 = 0;
string str;
std::string str;
CBigNum bn = *this;
BN_set_negative(&bn, false);
CBigNum dv;
@@ -348,7 +352,7 @@ public:
template<typename Stream>
void Unserialize(Stream& s, int nType=0, int nVersion=VERSION)
{
vector<unsigned char> vch;
std::vector<unsigned char> vch;
::Unserialize(s, vch, nType, nVersion);
setvch(vch);
}
@@ -401,8 +405,16 @@ public:
CBigNum& operator>>=(unsigned int shift)
{
// Note: BN_rshift segfaults on 64-bit ubuntu 9.10 if 2^shift is greater than the number,
// tested OK on 64-bit ubuntu 10.4
// Note: BN_rshift segfaults on 64-bit if 2^shift is greater than the number
// if built on ubuntu 9.04 or 9.10, probably depends on version of openssl
CBigNum a = 1;
a <<= shift;
if (BN_cmp(&a, this) > 0)
{
*this = 0;
return *this;
}
if (!BN_rshift(this, this, shift))
throw bignum_error("CBigNum:operator>>= : BN_rshift failed");
return *this;
@@ -511,10 +523,8 @@ inline const CBigNum operator<<(const CBigNum& a, unsigned int shift)
inline const CBigNum operator>>(const CBigNum& a, unsigned int shift)
{
CBigNum r;
// Note: BN_rshift segfaults on 64-bit ubuntu 9.10 if 2^shift is greater than the number
if (!BN_rshift(&r, &a, shift))
throw bignum_error("CBigNum:operator>> : BN_rshift failed");
CBigNum r = a;
r >>= shift;
return r;
}
@@ -524,3 +534,5 @@ inline bool operator<=(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a,
inline bool operator>=(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) >= 0); }
inline bool operator<(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) < 0); }
inline bool operator>(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) > 0); }
#endif

132
src/crypter.cpp Normal file
View File

@@ -0,0 +1,132 @@
// Copyright (c) 2011 The Bitcoin Developers
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include <openssl/aes.h>
#include <openssl/evp.h>
#include <vector>
#include <string>
#include "headers.h"
#ifdef __WXMSW__
#include <windows.h>
#endif
#include "crypter.h"
#include "main.h"
#include "util.h"
bool CCrypter::SetKeyFromPassphrase(const std::string& strKeyData, const std::vector<unsigned char>& chSalt, const unsigned int nRounds, const unsigned int nDerivationMethod)
{
if (nRounds < 1 || chSalt.size() != WALLET_CRYPTO_SALT_SIZE)
return false;
// Try to keep the keydata out of swap (and be a bit over-careful to keep the IV that we don't even use out of swap)
// Note that this does nothing about suspend-to-disk (which will put all our key data on disk)
// Note as well that at no point in this program is any attempt made to prevent stealing of keys by reading the memory of the running process.
mlock(&chKey[0], sizeof chKey);
mlock(&chIV[0], sizeof chIV);
int i = 0;
if (nDerivationMethod == 0)
i = EVP_BytesToKey(EVP_aes_256_cbc(), EVP_sha512(), &chSalt[0],
(unsigned char *)&strKeyData[0], strKeyData.size(), nRounds, chKey, chIV);
if (i != WALLET_CRYPTO_KEY_SIZE)
{
memset(&chKey, 0, sizeof chKey);
memset(&chIV, 0, sizeof chIV);
return false;
}
fKeySet = true;
return true;
}
bool CCrypter::SetKey(const CKeyingMaterial& chNewKey, const std::vector<unsigned char>& chNewIV)
{
if (chNewKey.size() != WALLET_CRYPTO_KEY_SIZE || chNewIV.size() != WALLET_CRYPTO_KEY_SIZE)
return false;
// Try to keep the keydata out of swap
// Note that this does nothing about suspend-to-disk (which will put all our key data on disk)
// Note as well that at no point in this program is any attempt made to prevent stealing of keys by reading the memory of the running process.
mlock(&chKey[0], sizeof chKey);
mlock(&chIV[0], sizeof chIV);
memcpy(&chKey[0], &chNewKey[0], sizeof chKey);
memcpy(&chIV[0], &chNewIV[0], sizeof chIV);
fKeySet = true;
return true;
}
bool CCrypter::Encrypt(const CKeyingMaterial& vchPlaintext, std::vector<unsigned char> &vchCiphertext)
{
if (!fKeySet)
return false;
// max ciphertext len for a n bytes of plaintext is
// n + AES_BLOCK_SIZE - 1 bytes
int nLen = vchPlaintext.size();
int nCLen = nLen + AES_BLOCK_SIZE, nFLen = 0;
vchCiphertext = std::vector<unsigned char> (nCLen);
EVP_CIPHER_CTX ctx;
EVP_CIPHER_CTX_init(&ctx);
EVP_EncryptInit_ex(&ctx, EVP_aes_256_cbc(), NULL, chKey, chIV);
EVP_EncryptUpdate(&ctx, &vchCiphertext[0], &nCLen, &vchPlaintext[0], nLen);
EVP_EncryptFinal_ex(&ctx, (&vchCiphertext[0])+nCLen, &nFLen);
EVP_CIPHER_CTX_cleanup(&ctx);
vchCiphertext.resize(nCLen + nFLen);
return true;
}
bool CCrypter::Decrypt(const std::vector<unsigned char>& vchCiphertext, CKeyingMaterial& vchPlaintext)
{
if (!fKeySet)
return false;
// plaintext will always be equal to or lesser than length of ciphertext
int nLen = vchCiphertext.size();
int nPLen = nLen, nFLen = 0;
vchPlaintext = CKeyingMaterial(nPLen);
EVP_CIPHER_CTX ctx;
EVP_CIPHER_CTX_init(&ctx);
EVP_DecryptInit_ex(&ctx, EVP_aes_256_cbc(), NULL, chKey, chIV);
EVP_DecryptUpdate(&ctx, &vchPlaintext[0], &nPLen, &vchCiphertext[0], nLen);
EVP_DecryptFinal_ex(&ctx, (&vchPlaintext[0])+nPLen, &nFLen);
EVP_CIPHER_CTX_cleanup(&ctx);
vchPlaintext.resize(nPLen + nFLen);
return true;
}
bool EncryptSecret(CKeyingMaterial& vMasterKey, const CSecret &vchPlaintext, const uint256& nIV, std::vector<unsigned char> &vchCiphertext)
{
CCrypter cKeyCrypter;
std::vector<unsigned char> chIV(WALLET_CRYPTO_KEY_SIZE);
memcpy(&chIV[0], &nIV, WALLET_CRYPTO_KEY_SIZE);
if(!cKeyCrypter.SetKey(vMasterKey, chIV))
return false;
return cKeyCrypter.Encrypt((CKeyingMaterial)vchPlaintext, vchCiphertext);
}
bool DecryptSecret(const CKeyingMaterial& vMasterKey, const std::vector<unsigned char>& vchCiphertext, const uint256& nIV, CSecret& vchPlaintext)
{
CCrypter cKeyCrypter;
std::vector<unsigned char> chIV(WALLET_CRYPTO_KEY_SIZE);
memcpy(&chIV[0], &nIV, WALLET_CRYPTO_KEY_SIZE);
if(!cKeyCrypter.SetKey(vMasterKey, chIV))
return false;
return cKeyCrypter.Decrypt(vchCiphertext, *((CKeyingMaterial*)&vchPlaintext));
}

96
src/crypter.h Normal file
View File

@@ -0,0 +1,96 @@
// Copyright (c) 2011 The Bitcoin Developers
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef __CRYPTER_H__
#define __CRYPTER_H__
#include "key.h"
const unsigned int WALLET_CRYPTO_KEY_SIZE = 32;
const unsigned int WALLET_CRYPTO_SALT_SIZE = 8;
/*
Private key encryption is done based on a CMasterKey,
which holds a salt and random encryption key.
CMasterKeys is encrypted using AES-256-CBC using a key
derived using derivation method nDerivationMethod
(0 == EVP_sha512()) and derivation iterations nDeriveIterations.
vchOtherDerivationParameters is provided for alternative algorithms
which may require more parameters (such as scrypt).
Wallet Private Keys are then encrypted using AES-256-CBC
with the double-sha256 of the private key as the IV, and the
master key's key as the encryption key.
*/
class CMasterKey
{
public:
std::vector<unsigned char> vchCryptedKey;
std::vector<unsigned char> vchSalt;
// 0 = EVP_sha512()
// 1 = scrypt()
unsigned int nDerivationMethod;
unsigned int nDeriveIterations;
// Use this for more parameters to key derivation,
// such as the various parameters to scrypt
std::vector<unsigned char> vchOtherDerivationParameters;
IMPLEMENT_SERIALIZE
(
READWRITE(vchCryptedKey);
READWRITE(vchSalt);
READWRITE(nDerivationMethod);
READWRITE(nDeriveIterations);
READWRITE(vchOtherDerivationParameters);
)
CMasterKey()
{
// 25000 rounds is just under 0.1 seconds on a 1.86 GHz Pentium M
// ie slightly lower than the lowest hardware we need bother supporting
nDeriveIterations = 25000;
nDerivationMethod = 0;
vchOtherDerivationParameters = std::vector<unsigned char>(0);
}
};
typedef std::vector<unsigned char, secure_allocator<unsigned char> > CKeyingMaterial;
class CCrypter
{
private:
unsigned char chKey[WALLET_CRYPTO_KEY_SIZE];
unsigned char chIV[WALLET_CRYPTO_KEY_SIZE];
bool fKeySet;
public:
bool SetKeyFromPassphrase(const std::string &strKeyData, const std::vector<unsigned char>& chSalt, const unsigned int nRounds, const unsigned int nDerivationMethod);
bool Encrypt(const CKeyingMaterial& vchPlaintext, std::vector<unsigned char> &vchCiphertext);
bool Decrypt(const std::vector<unsigned char>& vchCiphertext, CKeyingMaterial& vchPlaintext);
bool SetKey(const CKeyingMaterial& chNewKey, const std::vector<unsigned char>& chNewIV);
void CleanKey()
{
memset(&chKey, 0, sizeof chKey);
memset(&chIV, 0, sizeof chIV);
munlock(&chKey, sizeof chKey);
munlock(&chIV, sizeof chIV);
fKeySet = false;
}
CCrypter()
{
fKeySet = false;
}
~CCrypter()
{
CleanKey();
}
};
bool EncryptSecret(CKeyingMaterial& vMasterKey, const CSecret &vchPlaintext, const uint256& nIV, std::vector<unsigned char> &vchCiphertext);
bool DecryptSecret(const CKeyingMaterial& vMasterKey, const std::vector<unsigned char> &vchCiphertext, const uint256& nIV, CSecret &vchPlaintext);
#endif

View File

@@ -1,6 +1,13 @@
#ifndef CRYPTOPP_CONFIG_H
#define CRYPTOPP_CONFIG_H
//// Bitcoin: disable SSE2 on 32-bit
#if !defined(_M_X64) && !defined(__x86_64__)
#define CRYPTOPP_DISABLE_SSE2 1
#endif
//////////// end of Bitcoin changes
// ***************** Important Settings ********************
// define this if running on a big-endian CPU

View File

@@ -80,7 +80,7 @@ bool CpuId(word32 input, word32 *output)
#endif
}
#ifndef _MSC_VER
#if !CRYPTOPP_BOOL_X64 && !defined(_MSC_VER) && defined(__GNUC__)
static jmp_buf s_jmpNoSSE2;
static void SigIllHandlerSSE2(int)
{

View File

@@ -184,7 +184,8 @@ public:
void deallocate(void *p, size_type n)
{
assert(false);
//// Bitcoin: don't know why this trips, probably a false alarm, depends on the compiler used.
//assert(false);
}
size_type max_size() const {return 0;}

Some files were not shown because too many files have changed in this diff Show More