Compare commits

...

1622 Commits

Author SHA1 Message Date
Luke Dashjr
d05c03ab4e Merge branch '0.5.0.x' into 0.5.x 2012-03-11 22:21:06 -04:00
Luke Dashjr
b4f8c8f5f9 Merge branch '0.4.x' into 0.5.0.x 2012-03-11 22:20:31 -04:00
Gregory Maxwell
11c34e0f6c Resolves issue #922 - "wallet passphrase timeout of several years doesn't work"
2^31 milliseconds is only about 25 days. Also clamps Sleep() to 10 years,
because it currently sleeps for 0 seconds when the sleep time would cross
2^31 seconds since the epoch. Hopefully boost will be fixed by 2028.
2012-03-11 21:53:47 -04:00
nomnombtc
b3b4b008e3 fix typo src/net.cpp 2012-03-06 10:28:49 -05:00
Luke Dashjr
9cf600e6da Merge branch '0.5.0.x' into 0.5.x 2012-03-03 13:59:31 -05:00
Luke Dashjr
7013cc3d97 Merge branch '0.4.x' into 0.5.0.x 2012-03-03 13:59:19 -05:00
Luke Dashjr
88aa771536 Bugfix: Fix possible buffer overflow (#901)
Upstream commit: 21ae37d (partial)
2012-03-03 13:51:10 -05:00
Luke Dashjr
4fc8c042a2 Bugfix: Check return value of SHGetSpecialFolderPath in MyGetSpecialFolderPath
Upstream commit: 21ae37d (partial)
2012-03-03 13:45:44 -05:00
Luke Dashjr
e9865a41d6 Merge remote branch 'sipa/nooverwritetx_v0.4.0' into 0.4.x 2012-03-03 12:59:09 -05:00
Pieter Wuille
d7962747c4 Do not allow overwriting unspent transactions (BIP 30)
Introduce the following network rule:
 * a block is not valid if it contains a transaction whose hash
   already exists in the block chain, unless all that transaction's
   outputs were already spent before said block.

Warning: this is effectively a network rule change, with potential
risk for forking the block chain. Leaving this unfixed carries the
same risk however, for attackers that can cause a reorganisation
in part of the network.

Thanks to Russell O'Connor and Ben Reeves.
2012-03-03 18:51:18 +01:00
Gavin Andresen
3108aed0f2 DoS fix for mapOrphanTransactions 2012-03-02 13:04:39 -05:00
Wladimir J. van der Laan
ef48e9b7df In UI, handle cases in which the last received block was generated in the future (secs<0)
Fixes #874.
2012-02-27 13:07:26 -05:00
Chris Moore
0b11082d36 Don't show splash screen when -min is specified on the command line. 2012-02-27 13:07:10 -05:00
Gavin Andresen
feb3c15335 Checkpoint block 168,000 2012-02-27 13:00:23 -05:00
Pieter Wuille
1be5779124 ProcessBlock is sometimes called with pfrom==NULL 2012-02-27 12:58:53 -05:00
Pieter Wuille
ab2be34059 Fix #616: remove base_uint::operator&=(uint64 b) 2012-02-27 12:55:15 -05:00
Pieter Wuille
54fee2d0ce Fix #626: RecvLine wrong error message 2012-02-27 12:54:06 -05:00
Wladimir J. van der Laan
001a64c71c On windows, show message box with help, as there is no stderr (fixes #702)
(partial)
2012-02-27 12:48:28 -05:00
Wladimir J. van der Laan
b085138f89 Only fill in label from address book, if no label is filled in yet, fixes #840 2012-02-27 12:45:25 -05:00
Pieter Wuille
471e0bdc7c Fix #650: CKey::SetSecret BIGNUM leak 2012-02-27 12:42:48 -05:00
Pieter Wuille
caad1add4f Free pwalletdbEncryption after encryping wallet
Fixes a memory leak.
2012-02-27 12:36:56 -05:00
Wladimir J. van der Laan
33e0c3a866 Restructure IPC URL handling (fixes #851) 2012-02-27 12:28:39 -05:00
Wladimir J. van der Laan
82705af1eb Change #ifdef GUI to #ifdef QT_GUI, GUI is not defined anymore... 2012-02-17 12:05:09 -05:00
Pieter Wuille
69ce70866d Extra wallet locking fixes
* Fix sign error in calculation of seconds to sleep
* Do not mix GetTime() (seconds) and Sleep() (milliseconds)
* Do not sleep forever if walletlock() is called
* Do locking within critical section
2012-02-17 10:52:28 -05:00
Luke Dashjr
6fb186f4bb Merge branch '0.5.0.x' into 0.5.x 2012-02-17 09:40:00 -05:00
Luke Dashjr
fdb365df0e Merge branch '0.4.x' into 0.5.0.x 2012-02-17 09:39:54 -05:00
Pieter Wuille
8960f2fc33 Fix wallet locking locking 2012-02-17 09:38:20 -05:00
Pieter Wuille
43163a5a4d Macros for manual critical sections 2012-02-17 09:38:13 -05:00
Luke Dashjr
fb811c31fd Merge branch '0.5.0.x' into 0.5.x
Conflicts:
	src/qt/bitcoingui.cpp
2012-02-17 09:16:19 -05:00
Luke Dashjr
0365f19dec Merge branch '0.4.x' into 0.5.0.x 2012-02-17 09:15:21 -05:00
Wladimir J. van der Laan
25be0597ca don't allow -daemon in bitcoin-qt (changes only #defines) 2012-02-17 09:14:38 -05:00
Matt Corallo
6928794f56 Properly include $*_LIB_PATH in makefile.unix 2012-02-17 09:04:53 -05:00
Pieter Wuille
d52397b3c0 Several shutdown-related fixes
* do not let vnThreadsRunning[1] go negative
* do not perform locking operations while vnThreadsRunning[1] is decreased
* check vnThreadsRunning[1] at exit
2012-02-17 09:02:21 -05:00
Pieter Wuille
622f1438de Bugfix: do not create CAddress for invalid accepts 2012-02-17 09:00:48 -05:00
Janne Pulkkinen
41cde5bbdc Fix Minimize to the tray instead of the taskbar 2012-02-17 08:50:34 -05:00
Wladimir J. van der Laan
6ebb141bf9 Prevent window from being shown momentarily when using -min
- In a previous patch, show() was added to all the page switcher functions. As the contructor calls showOverviewPage(), this means the window is shown in the constructor.
- This change prevents this by connecting show() to the signal instead.
2012-02-17 08:49:46 -05:00
Wladimir J. van der Laan
4c38fbae95 Enable accessible widgets Qt module on win32, so that people with screen readers such as NVDA can make sense of it. 2012-02-14 17:13:28 -05:00
Luke Dashjr
9ab932b769 Merge branch '0.5.0.x' into 0.5.x 2012-02-11 21:26:22 -05:00
Luke Dashjr
8ad6996cc3 Merge branch '0.4.x' into 0.5.0.x 2012-02-11 21:26:11 -05:00
Matt Corallo
888ac4e7a3 Get ext. IP from UPnP, make sure addrMe IsRoutable() in version.
This fixes a potential bug where some NATs may replace the node's
interal IP with its external IP in version messages, causing
incorrect checksums when version messages begin being checksummed
on February 14, 2012.
2012-02-11 21:25:35 -05:00
Pieter Wuille
76e707a44e Fix #822 2012-02-11 20:50:43 -05:00
Luke Dashjr
84d228ed83 Bugfix: Capitalize kB correctly (upstream: 9d4b05c) 2012-02-07 22:50:31 -05:00
Luke Dashjr
a21e4da901 Merge branch '0.5.0.x' into 0.5.x
Conflicts:
	src/qt/locale/bitcoin_ru.ts
	src/qt/locale/bitcoin_zh_TW.ts
2012-02-07 22:49:03 -05:00
Luke Dashjr
b5d9c7d9fb Merge branch '0.4.x' into 0.5.0.x
Conflicts:
	src/bitcoinrpc.cpp
2012-02-07 22:46:07 -05:00
Luke Dashjr
4bbd72cca1 Update copyrights to 2012 for files modified this year 2012-02-07 22:43:39 -05:00
Gregory Maxwell
da6a3919a9 Have bitcoind recommend a secure RPC password. Increase invalid password delay.
Help users avoid insecure configurations a bit by recommending a
secure RPC password and increasing the incorrect password delay.

This may open up a RPC DOS for users with exposed RPC ports and
short passwords. Since users shouldn't have exposed RPC ports OR
short passwords, the DOS risk is preferable to the compromise
risk.

Also logs the client IP address for incorrect attempts.
2012-02-07 22:39:09 -05:00
Wladimir J. van der Laan
e7c3e6e4b4 Restructure credit transaction decomposition (solves issue #689)
When a transaction has multiple outputs that go to the wallet, list these
as multiple transactions in the UI. This is also applied to generated
(coinbase) transactions. Also makes the code shorter and easier
to understand.
2012-02-07 22:36:03 -05:00
Luke Dashjr
ccd69c7d22 Bugfix: Capitalize kB correctly (upstream: 9d4b05c) 2012-02-07 22:35:57 -05:00
Luke Dashjr
4664aae3fe Update copyrights to 2012 for files modified this year 2012-02-07 22:30:50 -05:00
Gregory Maxwell
cac23a5a0b Have bitcoind recommend a secure RPC password. Increase invalid password delay.
Help users avoid insecure configurations a bit by recommending a
secure RPC password and increasing the incorrect password delay.

This may open up a RPC DOS for users with exposed RPC ports and
short passwords. Since users shouldn't have exposed RPC ports OR
short passwords, the DOS risk is preferable to the compromise
risk.

Also logs the client IP address for incorrect attempts.
2012-02-07 22:21:13 -05:00
Luke Dashjr
06e0f79ae5 Merge branch '0.5.0.x' into 0.5.x 2012-02-02 20:17:56 -05:00
Luke Dashjr
882e00e215 Merge branch '0.4.x' into 0.5.0.x
Conflicts:
	src/main.cpp
2012-02-02 20:17:41 -05:00
Gavin Andresen
c11e2b8679 Only store transactions with missing inputs in the orphan pool.
All previous versions of bitcoin could store some types of
invalid transactions in the orphan-transaction list.
2012-02-02 20:03:33 -05:00
Pieter Wuille
d841fc969a Full checking of all loaded keys 2012-02-02 20:03:26 -05:00
Wladimir J. van der Laan
c13d50d861 Revert to global progress indication (see #753) 2012-02-02 17:50:13 -05:00
Pieter Wuille
c1c6de6ad4 Check consistency of private keys
Reported by onlineproof on IRC: Bitcoin does not verify whether private
keys and public keys correspond, when loading a wallet.
2012-02-02 17:49:39 -05:00
Wladimir J. van der Laan
7120874983 Remove loose amp; from Portugese translation (issue #701) 2012-02-02 17:48:15 -05:00
Gavin Andresen
1b6d8f3fca Allow -upnp to override setting in wallet (and simplify logic a bit) 2012-02-02 17:45:04 -05:00
Matt Corallo
e5b031f5d2 Fix UPnP by reannouncing every 20 minutes. 2012-02-02 17:44:42 -05:00
Gavin Andresen
edb563e8a5 Testnet difficulty calculation changes, to take effect Feb 15 2012
Allow mining of min-difficulty blocks if 20 minutes have gone by without mining a regular-difficulty block.
Normal rules apply every 2016 blocks, though, so there may be a very-slow-to-confirm block at the difficulty-adjustment blocks.
2012-02-02 17:44:04 -05:00
Matt Corallo
bccbc5f4c3 Automatically refocus on new SendCoinsEntrys and scroll to them. 2012-02-02 17:37:55 -05:00
Gavin Andresen
22388eac08 Support makefile.osx building test_bitcoin with dynamic boost 2012-02-02 17:34:29 -05:00
Luke Dashjr
1677743fca Rename src/obj/test to src/obj-test to workaround bug in older GNU Make 2012-02-02 17:29:50 -05:00
Luke Dashjr
d1e56838dc Bugfix: Support building test_bitcoin with shared-object boost test framework
Conflicts:

	src/makefile.unix
2012-02-02 17:27:44 -05:00
Luke Dashjr
a0db9a79e5 Merge branch '0.5.0.x' into 0.5.x 2012-01-23 22:45:47 -05:00
Luke Dashjr
8f378e98c5 Merge branch '0.4.x' into 0.5.0.x
Conflicts:
	doc/release-process.txt
2012-01-23 22:45:36 -05:00
Luke Dashjr
3d3f9cd120 Various updates to the release process 2012-01-23 22:44:02 -05:00
Luke Dashjr
5df1a22c2e Various updates to the release process 2012-01-23 22:43:47 -05:00
Daniel Folkinshteyn
54ed0a0432 Update seednodes, pick long-uptime nodes with version >= 0.4.0 2012-01-23 22:39:21 -05:00
Lars Rasmusson
b0870346f2 Replace tabs with four spaces to comply with coding standard in doc/coding.txt 2012-01-23 22:38:30 -05:00
Lars Rasmusson
1181bf86d1 Replace tabs with four spaces to comply with coding standard in doc/coding.txt 2012-01-23 22:37:48 -05:00
Luke Dashjr
382e613ef5 Merge branch '0.5.0.x' into 0.5.x 2012-01-16 22:30:10 -05:00
Luke Dashjr
c144672045 Code tidyups, fixing various warnings.
Partial cherry pick of:

Compile with extra warnings turned on. And more makefile/code tidying up.

This turns on most gcc warnings, and removes some unused variables and other code that triggers warnings.
Exceptions are:
 -Wno-sign-compare : triggered by lots of comparisons of signed integer to foo.size(), which is unsigned.
 -Wno-char-subscripts : triggered by the convert-to-hex functions (I may fix this in a future commit).

Conflicts:

	src/makefile.osx
	src/makefile.unix
	src/netbase.cpp
2012-01-16 22:29:54 -05:00
Luke Dashjr
a5b875f47b Merge branch '0.5.0.x' into 0.5.x 2012-01-16 22:28:14 -05:00
Luke Dashjr
70550ed81b Merge branch '0.4.x' into 0.5.0.x 2012-01-16 22:27:59 -05:00
Janne Pulkkinen
5df96269d3 *Clear all has a tooltip now *About dialog updated 2012-01-16 22:26:54 -05:00
Luke Dashjr
948072c39f Code tidyups, fixing various warnings.
Partial cherry pick of:

Compile with extra warnings turned on. And more makefile/code tidying up.

This turns on most gcc warnings, and removes some unused variables and other code that triggers warnings.
Exceptions are:
 -Wno-sign-compare : triggered by lots of comparisons of signed integer to foo.size(), which is unsigned.
 -Wno-char-subscripts : triggered by the convert-to-hex functions (I may fix this in a future commit).

Conflicts:

	src/makefile.osx
	src/makefile.unix
	src/netbase.cpp
	src/rpc.cpp
2012-01-16 22:18:51 -05:00
Pieter Wuille
880c478635 Remove unused definition 2012-01-10 19:46:04 -05:00
Luke Dashjr
98811f6ad4 Bump version to 0.5.3 2012-01-10 15:58:29 -05:00
Luke Dashjr
83201b12ae Merge branch '0.5.0.x' into 0.5.x
Conflicts:
	bitcoin-qt.pro
	contrib/debian/changelog
	doc/README
	doc/README_windows.txt
	share/setup.nsi
	src/serialize.h
2012-01-10 15:55:40 -05:00
Luke Dashjr
507848b63d Bump version to 0.5.0.4 2012-01-10 15:54:38 -05:00
Luke Dashjr
cc19ba76e4 Merge branch '0.4.x' into 0.5.0.x
Conflicts:
	contrib/Bitcoin.app/Contents/Info.plist
	doc/README
	doc/README_windows.txt
	share/setup.nsi
	src/serialize.h
2012-01-10 15:54:25 -05:00
Luke Dashjr
6e1e62a04c Bump version to 0.4.4 2012-01-10 15:50:37 -05:00
Luke Dashjr
9b53650a45 Merge branch '0.5.0.x' into 0.5.x
Conflicts:
	contrib/debian/changelog
2012-01-09 12:15:32 -05:00
Wladimir J. van der Laan
2d8bc0e6da Add "About Qt" menu option to show built-in Qt About dialog
- Most Qt programs do this, and it can be useful to find out what version of Qt was built against.
2012-01-09 12:13:58 -05:00
Wladimir J. van der Laan
21aa161453 make transaction description read-only (UI fix) 2012-01-09 12:10:52 -05:00
Matt Corallo
09308a3882 Remove mentions on anonymity in debian folder.
These should never have been there, bitcoin isnt anonymous without
a ton of work that virtually no users will ever be willing and
capable of doing.
2012-01-09 12:10:16 -05:00
Luke Dashjr
7de7913abd Merge branch '0.5.0.x' into 0.5.x 2012-01-05 18:19:29 -05:00
Luke Dashjr
780a182317 Merge branch '0.4.x' into 0.5.0.x 2012-01-05 18:17:58 -05:00
Matt Corallo
99e9601e80 Fix horrific performance found by gmaxwell. 2012-01-05 12:11:28 -05:00
Wladimir J. van der Laan
45099b19da Fix transaction type in UI: not all tx'es with "from"/"to" field are necessarily IP tx'es
- Also, prepare for OP_EVAL by calling all transactions without bitcoin address "SendToOther"/"RecvFromOther",
 (IP tx'es are so rare they can be put together with funky EV_EVAL scripts)
2012-01-04 01:09:09 -05:00
Luke Dashjr
a2e9767225 Merge branch '0.5.0.x' into 0.5.x 2012-01-03 12:23:09 -05:00
Wladimir J. van der Laan
20e3f2aefc Fix typo (#734) 2012-01-03 12:23:07 -05:00
Luke Dashjr
fb88f1cc97 Fix typo (#734)
Conflicts:

	src/qt/locale/bitcoin_hu.ts
	src/qt/locale/bitcoin_it.ts
	src/qt/locale/bitcoin_pt_BR.ts
	src/qt/locale/bitcoin_uk.ts
	src/qt/locale/bitcoin_zh_CN.ts
2012-01-03 12:21:04 -05:00
Luke Dashjr
eb2a10afd6 Merge branch '0.4.x' into 0.5.0.x
Conflicts:
	src/util.cpp
2012-01-03 12:19:48 -05:00
Gavin Andresen
cc6bd19660 I broke -testnet with my TOR option-parsing fixes. 2012-01-03 12:17:54 -05:00
Gavin Andresen
84393f15b6 Fix issue #659, and cleanup wallet/command-line argument handling a bit
Conflicts:
	src/init.cpp
	src/util.cpp
2012-01-03 11:48:44 -05:00
Pieter Wuille
b52b6f2e38 Fix some address-handling deadlocks
Made three critical blocks for cs_mapAddresses smaller, and moved
writing to the database out of them. This should also improve the
concurrency of the code.
2012-01-02 20:05:58 -05:00
Luke Dashjr
a91a40febd Merge branch '0.5.0.x' into 0.5.x 2011-12-25 09:56:55 -05:00
Luke Dashjr
3b8051864b Be more conservative: check all transactions in blocks after last checkpoint. 2011-12-25 09:26:12 -05:00
Luke Dashjr
961cf14ab3 Merge branch '0.5.0.x' into 0.5.x 2011-12-23 10:09:13 -05:00
Matt Corallo
8632383161 Fix #722. 2011-12-23 10:09:02 -05:00
Luke Dashjr
ab4b52a239 Merge branch '0.4.x' into 0.5.0.x 2011-12-23 10:08:53 -05:00
Dylan Noblesmith
96f1723bb1 Implement an mlock()'d string class for storing passphrases
SecureString is identical to std::string except with secure_allocator
substituting for std::allocator. This makes casting between them
impossible, so converting between the two at API boundaries requires
calling ::c_str() for now.
2011-12-20 18:42:30 -05:00
Luke Dashjr
027d149352 Bugfix: fForRelay should be false when deciding required fee to include in blocks
During the rushed transition from 0.01 BTC to 0.0005 BTC fees, we took the
approach of dropping the relay and block-inclusion fee to 0.0005 BTC
immediately, and only delayed adjusting the sending fee for the next release.
Afterward, the relay fee was lowered to 0.0001 BTC to avoid having the same
problem in the future. However, the block inclusion code was left setting
fForRelay to true! This fixes that, so the lower 0.0001 BTC allowance is (as
intended) only permitted for real relaying.
2011-12-20 17:05:04 -05:00
Luke Dashjr
96c700f5e4 Merge branch '0.5.0.x' into 0.5.x 2011-12-19 16:05:32 -05:00
Luke Dashjr
f503a1486a Merge branch '0.4.x' into 0.5.0.x 2011-12-19 16:05:15 -05:00
Luke Dashjr
987f26aa1a Add my DNS seed domain 2011-12-19 14:38:26 -05:00
Matt Corallo
6be2c9b5b4 Add sipa's new dnsseed. 2011-12-19 14:38:22 -05:00
Luke Dashjr
7aa253d3ec Bump version to 0.5.2 2011-12-16 17:58:40 -05:00
Matt Corallo
9ea0699278 Update debian changelog to 0.5.1. 2011-12-16 17:55:44 -05:00
Luke Dashjr
f1a6d74775 Merge branch '0.5.0.x' into 0.5.x 2011-12-16 17:54:53 -05:00
Luke Dashjr
5fe2dbd7b6 Update debian changelog to 0.5.0.3. 2011-12-16 17:47:50 -05:00
Luke Dashjr
ace5ce05be Bump version to 0.5.0.3 2011-12-15 19:34:37 -05:00
Luke Dashjr
98c0b8b85e Bump version to 0.5.0.2 2011-12-15 19:32:15 -05:00
Luke Dashjr
1f53204045 Bump version to 0.4.3 2011-12-15 19:25:29 -05:00
Matt Corallo
181b863d22 Fix status bar not displaying Alerts. 2011-12-13 16:17:58 -05:00
Gavin Andresen
b12fc3e112 Merge pull request #700 from TheBlueMatt/qtalertfix
Fix status bar not displaying Alerts.
2011-12-13 12:56:26 -08:00
Matt Corallo
7ca47cece7 Fix status bar not displaying Alerts. 2011-12-13 15:29:17 -05:00
Wladimir J. van der Laan
142e5056cd Enable wordwrap for long message in passphrase dialog
- Remove explicit resizing from constructor to prevent potential hang
2011-12-13 12:46:58 -05:00
Wladimir J. van der Laan
857aa73783 Enable wordwrap for long message in passphrase dialog
- Remove explicit resizing from constructor to prevent potential hang
2011-12-13 16:32:25 +01:00
Gavin Andresen
5491c310a6 Merge commit '7298ebb' 2011-12-12 15:03:16 -05:00
Nils Schneider
1d8b4cd544 added translations: pt_BR zh_CN 2011-12-12 20:56:34 +01:00
Nils Schneider
7ad4ca9c17 updated translations: es es_CL nb ru 2011-12-12 20:53:18 +01:00
Matt Corallo
9a7f4948c6 Re-enable RPCSSL in gitian builds. 2011-12-12 14:39:49 -05:00
Luke Dashjr
12c69167e3 Merge branch '0.4.x' into 0.5.x 2011-12-12 14:34:47 -05:00
Luke Dashjr
b379bc5eef Merge branch 'restore_old_miniupnp_compat' into 0.4.x 2011-12-12 14:33:47 -05:00
Gavin Andresen
93e92d3f44 Merge pull request #687 from TheBlueMatt/gitianssl
Re-enable RPCSSL in gitian builds.
2011-12-12 11:33:17 -08:00
Gavin Andresen
ca287d66f2 Merge pull request #694 from luke-jr/restore_old_miniupnp_compat
Restore compatibility with miniupnpc 1.5 (without breaking miniupnp 1.6)
2011-12-12 11:32:48 -08:00
Luke Dashjr
94b97046fd Restore compatibility with miniupnpc 1.5 (without breaking miniupnp 1.6) 2011-12-10 11:52:50 -05:00
Wladimir J. van der Laan
189dbde982 Merge pull request #693 from laanwj/min_fix_tmpshow
Prevent window from being shown momentarily when using -min
2011-12-09 13:43:34 -08:00
Wladimir J. van der Laan
45198af2be Prevent window from being shown momentarily when using -min
- In a previous patch, show() was added to all the page switcher functions. As the contructor calls showOverviewPage(), this means the window is shown in the constructor.
- This change prevents this by connecting show() to the signal instead.
2011-12-09 22:41:19 +01:00
Matt Corallo
a22535144c Re-enable RPCSSL in gitian builds. 2011-12-07 10:28:01 -05:00
Matt Corallo
16e7c05de7 Move -lgdi32 after -lcrypto (fixes #681). 2011-12-05 11:08:48 -05:00
Gavin Andresen
8848a70ba1 Merge pull request #679 from laanwj/cmdline_minimize
Implement -min option to start minimized
2011-12-05 07:53:15 -08:00
Gavin Andresen
f66eabd281 Merge pull request #682 from TheBlueMatt/gdicrypto
Move -lgdi32 after -lcrypto (fixes #681)
2011-12-05 07:53:00 -08:00
Wladimir J. van der Laan
7915370cb9 Implement -min option to start minimized 2011-12-04 10:03:57 +01:00
Matt Corallo
3f9144d42c Move -lgdi32 after -lcrypto (fixes #681). 2011-12-03 21:51:50 -05:00
Matt Corallo
4c519a47a9 Move DNS Seed lookup to a new thread. 2011-12-02 12:56:26 -05:00
Matt Corallo
ba56a88ca5 Move DNS Seed lookup to a new thread. 2011-12-02 12:55:14 -05:00
Gavin Andresen
43ae68b5ef Merge pull request #654 from TheBlueMatt/dnsseed-thread
Move DNS Seed lookup to a new thread.
2011-12-02 07:09:41 -08:00
Luke Dashjr
fe5cc3b7f8 Merge branch '0.4.x' into 0.5.x
(no actual changes)
2011-12-01 23:22:12 -05:00
Gavin Andresen
5d901f1ba0 Orphan block fill-up-memory attack prevention 2011-12-01 23:20:32 -05:00
Gavin Andresen
0e6425da4a Moved checkpoints out of main, to prep for using them to help prevent DoS attacks 2011-12-01 23:12:47 -05:00
Gavin Andresen
173efb1865 Merge pull request #670 from gavinandresen/rpcauth_speedup
Speed up RPC authentication (reworked pull from Joel Katz)
2011-12-01 13:01:59 -08:00
Gavin Andresen
f81ce5bd6d Speed up RPC authentication (reworked pull from Joel Katz) 2011-12-01 15:55:25 -05:00
Gavin Andresen
f8c3eb9568 Orphan block fill-up-memory attack prevention 2011-12-01 15:48:27 -05:00
Gavin Andresen
d27be1f557 Moved checkpoints out of main, to prep for using them to help prevent DoS attacks 2011-12-01 15:48:20 -05:00
Gavin Andresen
43f20bb3c2 Merge pull request #534 from gavinandresen/DoSorphans
Denial-of-service prevention: low-difficulty blocks
2011-12-01 12:42:02 -08:00
Gavin Andresen
10fd7f6689 Orphan block fill-up-memory attack prevention 2011-12-01 13:53:38 -05:00
Gavin Andresen
eb5fff9e16 Moved checkpoints out of main, to prep for using them to help prevent DoS attacks 2011-12-01 12:18:50 -05:00
Wladimir J. van der Laan
3741185a51 Make home and addressbook icon more consistent with other toolbar icons (make it blue and flip light source direction) 2011-12-01 03:56:33 -05:00
Gavin Andresen
cba18514c0 Add missing command-line arguments to --help/-? output 2011-12-01 03:55:59 -05:00
Gavin Andresen
a7d735dcc2 Add missing command-line arguments to --help/-? output 2011-12-01 03:55:26 -05:00
Gavin Andresen
a7120a3647 Merge pull request #666 from nobled/secstrings
Implement an mlock()'d string class for storing passphrases
2011-11-30 17:30:54 -08:00
Gavin Andresen
0305f60cad Merge pull request #667 from laanwj/homeaddricons
Make home and addressbook icon more consistent with other toolbar icons
2011-11-30 17:28:13 -08:00
Gavin Andresen
e1b1055b46 Add missing command-line arguments to --help/-? output 2011-11-27 14:53:30 -05:00
Matt Corallo
2bc6cecebb Move DNS Seed lookup to a new thread. 2011-11-26 14:28:46 -05:00
Wladimir J. van der Laan
24911ac65d Make home and addressbook icon more consistent with other toolbar icons (make it blue and flip light source direction) 2011-11-26 10:10:22 +01:00
Dylan Noblesmith
94f778bdeb Implement an mlock()'d string class for storing passphrases
SecureString is identical to std::string except with secure_allocator
substituting for std::allocator. This makes casting between them
impossible, so converting between the two at API boundaries requires
calling ::c_str() for now.
2011-11-26 06:02:04 +00:00
Wladimir J. van der Laan
094c35cffc allow for filtering addresses and labels by searching for the typed string anywhere, not just at the beginning (#641) 2011-11-25 09:05:58 -05:00
Luke Dashjr
b683118cd0 Merge branch '0.4.x' into 0.5.x
The only practical change here is updating the gitian URIs to the stable repository.
Otherwise, it just enables merging bugfixes from 0.4.x into 0.5.x properly.

Conflicts:
	contrib/Bitcoin.app/Contents/Info.plist
	doc/README
	doc/README_windows.txt
	doc/release-process.txt
	share/setup.nsi
	src/bitcoinrpc.cpp
	src/headers.h
	src/makefile.unix
	src/serialize.h
	src/ui.cpp
2011-11-24 19:26:52 -05:00
Nils Schneider
1c4be55a99 update translation: de 2011-11-24 19:20:49 -05:00
Alex B
7597fcd92f Small fixes in both spanish translations 2011-11-24 19:20:14 -05:00
Wladimir J. van der Laan
d8b8640863 allow for filtering addresses and labels by searching for the typed string anywhere, not just at the beginning (#641) 2011-11-24 20:20:01 +01:00
Nils Schneider
b790077c37 update translation: de 2011-11-24 13:40:32 +01:00
Nils Schneider
8787ee699c add translations: hu uk 2011-11-24 13:36:30 +01:00
Nils Schneider
f4894d9793 Merge pull request #662 from paraipan/master
Some patches...
2011-11-24 04:04:35 -08:00
Alex B
e92e97f1ee Small fixes in both spanish translations 2011-11-24 12:32:19 +01:00
Nils Schneider
50aa850fc8 update translations: da de nl ru zh_TW 2011-11-22 13:01:07 +01:00
Nils Schneider
4b53cff901 add italian translation 2011-11-22 13:00:49 +01:00
Gavin Andresen
adb9f7ddde Don't forget to bump release numbers in READMEs next time 2011-11-21 15:36:15 -05:00
Gavin Andresen
99fe0af2fe Bump version numbers to 0.5.1 2011-11-21 15:36:10 -05:00
Gavin Andresen
45593c271a Don't forget to bump release numbers in READMEs next time 2011-11-21 15:34:20 -05:00
Gavin Andresen
605ca141c7 Don't forget to bump release numbers in READMEs next time 2011-11-21 14:38:47 -05:00
Gavin Andresen
795faa595c Bump version numbers to 0.5.1 2011-11-21 14:37:59 -05:00
Gavin Andresen
42eb76a054 Merge pull request #602 from wowus/master
Cleaned up critical section code.
2011-11-21 11:33:14 -08:00
Gavin Andresen
92979f8288 Merge pull request #634 from laanwj/doxygen
Add doxygen documentation
2011-11-21 11:31:57 -08:00
Gavin Andresen
0310cd6403 Merge pull request #632 from mndrix/deprecate-getblocknumber
Deprecate RPC getblocknumber
2011-11-21 11:31:42 -08:00
Gavin Andresen
4ad4f66327 Merge pull request #652 from TheBlueMatt/master
Update contrib/debian/ for 0.5.0 release and fix copyright file.
2011-11-21 11:27:26 -08:00
Gavin Andresen
e6389c3229 Update release process instructions 2011-11-21 14:13:22 -05:00
Luke Dashjr
d885aba347 Bump version to 0.4.2 2011-11-21 13:59:38 -05:00
Gavin Andresen
67c454c67c Bump version to 0.5.1 2011-11-21 13:38:38 -05:00
Wladimir J. van der Laan
fe9032709c Merge pull request #653 from luke-jr/bugfix_transparent_tooltip
Bugfix: only make QListView transparent, not its tooltips
2011-11-21 09:20:34 -08:00
Luke Dashjr
a3c675d1a3 Bugfix: only make QListView transparent, not its tooltips 2011-11-21 12:18:15 -05:00
Matt Corallo
555d1cd02f Update contrib/debian/ for 0.5.0 release and fix copyright file. 2011-11-21 11:55:45 -05:00
Wladimir J. van der Laan
c968b684ee Merge pull request #646 from luke-jr/bugfix_MIT_icons
update debian copyright file for MIT icon relicensing
2011-11-21 01:07:24 -08:00
Luke Dashjr
aa1ed9265f update debian copyright file for MIT icon relicensing 2011-11-20 16:32:16 -05:00
Wladimir J. van der Laan
459d3fb77b relicense my own images as MIT 2011-11-20 21:51:12 +01:00
Pieter Wuille
36b1eb7631 close old db when rewriting 2011-11-20 13:53:07 -05:00
Gavin Andresen
76ef6d89b9 Never remove database files on shutdown, it caused unreadable wallets on some testers' machines. 2011-11-20 13:52:59 -05:00
Pieter Wuille
f53c5ede73 close old db when rewriting 2011-11-20 11:17:41 -05:00
Gavin Andresen
b2d3b2d65d Never remove database files on shutdown, it caused unreadable wallets on some testers' machines. 2011-11-20 10:39:01 -05:00
Gavin Andresen
c4a3bf9e55 Only remove database log files on shutdown after wallet encryption/rewrite 2011-11-17 14:29:18 -05:00
Gavin Andresen
90de05e88e Create new keypool for newly encrypted wallets. 2011-11-17 14:29:12 -05:00
Gavin Andresen
1c15f88653 Only remove database log files on shutdown after wallet encryption/rewrite 2011-11-17 14:21:32 -05:00
Gavin Andresen
37971fcc76 Create new keypool for newly encrypted wallets. 2011-11-17 14:01:25 -05:00
Jeff Garzik
2bf36b4e7d Remove vladimir's DNS seed, at his request. 2011-11-15 17:39:38 -05:00
Gavin Andresen
831d24a19d Tweak handling of boost filesystem versions
(partial cherry pick)
2011-11-15 17:00:38 -05:00
Gavin Andresen
1aafd7464f Fix crash-on-osx-on-shutdown bug. And cleanup CDB handling in Rewrite. 2011-11-15 16:59:52 -05:00
Gavin Andresen
1b93ea0e31 Merge pull request #636 from gavinandresen/master
Fix crash-on-wallet-upgrade bug on OSX
2011-11-15 13:48:12 -08:00
Gavin Andresen
c4de918478 Tweak handling of boost filesystem versions 2011-11-15 14:30:24 -05:00
Gavin Andresen
8d0923109d Fix crash-on-osx-on-shutdown bug. And cleanup CDB handling in Rewrite. 2011-11-15 14:30:24 -05:00
Luke Dashjr
586ea168c2 add message about restarting bitcoin after encrypting wallet succesfully 2011-11-15 11:48:41 -05:00
Luke Dashjr
1179f6373d Update gitian descriptors to point at stable git repo 2011-11-15 10:33:26 -05:00
Gavin Andresen
0143c024af Fix boost filesystem incompatibility problem 2011-11-15 10:12:45 -05:00
Gavin Andresen
2744ea8c1f Obsolete keypool and make sure database removes log files on shutdown. 2011-11-15 10:11:53 -05:00
Pieter Wuille
00eae584a2 Resilvering 2011-11-15 10:03:31 -05:00
Gavin Andresen
709c1b267f Fix boost filesystem incompatibility problem 2011-11-15 09:47:29 -05:00
Gavin Andresen
b6d11a3018 Merge pull request #635 from gavinandresen/encryptionbug
Prevent unencrypted private keys from being written to wallet.dat
2011-11-15 06:38:43 -08:00
Wladimir J. van der Laan
4585f7e2c1 add message about restarting bitcoin after encrypting wallet succesfully 2011-11-15 09:30:16 -05:00
Gavin Andresen
d764d9161e Obsolete keypool and make sure database removes log files on shutdown. 2011-11-15 09:30:16 -05:00
Pieter Wuille
9e9869d0fe Resilvering 2011-11-14 09:59:22 -05:00
Gavin Andresen
e6a729d2d8 Merge pull request #631 from luke-jr/free_icons
Free icons
2011-11-14 06:57:46 -08:00
Gavin Andresen
88a1b89452 Merge pull request #633 from laanwj/qtrpcconflict
RPC: do not launch Shutdown in a new thread in case we are running the UI
2011-11-14 06:56:57 -08:00
Wladimir J. van der Laan
af836ad588 Improve documentation for UI classes 2011-11-13 14:12:44 +01:00
Wladimir J. van der Laan
66112ed6e6 Example documented class 2011-11-13 11:43:23 +01:00
Wladimir J. van der Laan
15ceadf7a5 Add doxygen documentation configuration file 2011-11-13 11:12:23 +01:00
Wladimir J. van der Laan
405ce5a876 Add model null pointer check (solves issue #595 and https://github.com/laanwj/bitcoin-qt/issues/29)
Missed this one before, which can be triggered in race condition if window event arrives before model is set
2011-11-13 08:50:58 +01:00
Wladimir J. van der Laan
19197d5e29 Do not launch Shutdown in a new thread in case we are running the UI.
This leads to the bitcoin core being shut down while the UI is accessing it, and generally results in a segmentation fault or crash. In case it is desirable to make it possible to shutdown the GUI from its RPC server, we'll need to implement a signal for it. For the mean time, this is a safe stopgap.
2011-11-12 14:14:27 +01:00
Michael Hendricks
29c8b9416d Deprecate RPC getblocknumber
This RPC is exactly identical to getblockcount.  This duplication
dates back to commit 22f721dbf2 when
Satoshi created the RPC interface.

There's no need to have both, so we standardize on "count" which
matches the naming convention in getconnectioncount.

Following the tradition established with previously deprecated APIs,
getblocknumber continues to work, but it's not listed in the help
system.
2011-11-11 10:13:36 -07:00
Luke Dashjr
0fe19a3a2c Replace kfm_home with go-home for "overview" 2011-11-11 11:11:07 -05:00
Luke Dashjr
d2e21a9d74 update doc/assets-attribution.txt 2011-11-10 16:27:24 -05:00
Gavin Andresen
6be6be2ed9 Tool/process for including correct qt translations in mac .App 2011-11-10 13:01:40 -05:00
Luke Dashjr
81dd7aa4c1 Replace icons with Nuvola (LGPL 2.1): some (but not all) GPL-licensed 2011-11-10 12:59:01 -05:00
Luke Dashjr
5a7321562d Replace icons with Nuvola (LGPL 2.1): all non-free except for those by Wladimir van der Laan (who will hopefully relicense) 2011-11-10 12:48:31 -05:00
Gavin Andresen
ba1fce94b5 Merge branch 'nullmodels' of https://github.com/laanwj/bitcoin 2011-11-10 10:30:24 -05:00
Gavin Andresen
5efee7da86 Release process doc fixes 2011-11-10 10:29:24 -05:00
Gavin Andresen
145b2d078e Merge pull request #608 from TheBlueMatt/debian-build
Debian build
2011-11-10 07:27:46 -08:00
Wladimir J. van der Laan
3c0baa68fa Merge pull request #617 from tcatm/translations-readme
add doc/translation_process.md
2011-11-08 23:40:36 -08:00
Wladimir J. van der Laan
90b5aadf56 Merge pull request #611 from sipa/docs
Some extra comments
2011-11-08 23:39:41 -08:00
Wladimir J. van der Laan
dead0ff8cd Add robustness against null models 2011-11-08 21:18:36 +01:00
Wladimir J. van der Laan
0fb0a38339 Merge pull request #618 from laanwj/issue615
Fix segmentation fault when editing address not in address book (issue #615)
2011-11-08 11:01:56 -08:00
Wladimir J. van der Laan
9bc9593df5 Fix segmentation fault when editing address not in address book (issue #615) 2011-11-08 19:54:16 +01:00
Matt Corallo
38f33ce4a3 Add debian build folder 2011-11-08 11:57:05 -05:00
Matt Corallo
2b814d6eb0 Re-add bitcoin(32&80).xpm 2011-11-08 11:43:37 -05:00
Nils Schneider
560078a768 add doc/translation_process.md 2011-11-08 16:19:52 +01:00
Nils Schneider
e1739cbf38 merged translations from transifex: da de es es_CL nb nl ru zh_TW 2011-11-08 14:51:28 +01:00
Pieter Wuille
09d7be3e63 Merge commit 'v0.5.0rc3' 2011-11-08 14:22:18 +01:00
Wladimir J. van der Laan
7e91dd27da Merge pull request #609 from iongchun/add-zhtw
add zh_TW locale
2011-11-07 22:35:00 -08:00
Gavin Andresen
d6245ca5d9 Mention Qt4 runtime dependencies 2011-11-07 12:11:11 -05:00
Gavin Andresen
a5f07cbea0 Static link on Linux. And better document release process on OSX. 2011-11-07 10:17:30 -05:00
Pieter Wuille
d825e6a31b Some extra comments 2011-11-07 00:11:34 +01:00
Ang Iong Chun
1615c14756 add zh_TW locale 2011-11-06 10:26:11 +08:00
Wladimir J. van der Laan
81a28d7a6f Merge pull request #606 from dooglus/add-english-translation
Add English translation to fix plural(s).
2011-11-04 13:15:42 -07:00
Chris Moore
2989b462a5 Add English translation to fix plural(s). 2011-11-04 13:04:49 -07:00
Gavin Andresen
ab15ebaae8 Merge branch 'master' of github.com:bitcoin/bitcoin 2011-11-04 11:30:05 -04:00
Gavin Andresen
f6aacbfe6d Mac releases use macdeployqtplus 2011-11-04 10:22:55 -04:00
Gavin Andresen
25e6573317 Merge pull request #604 from laanwj/winqt_deterministic
Make qt-win32 gitian build deterministic
2011-11-03 13:37:47 -07:00
Wladimir J. van der Laan
c589f09115 Make qt-win32 gitian build deterministic 2011-11-03 20:26:51 +01:00
Gavin Andresen
8c69b6621c Merge git://github.com/p2k/bitcoin-qt 2011-11-03 11:06:57 -04:00
Clark Gaebel
f873b84d6e Added simple critical section test cases. 2011-11-02 18:10:41 -04:00
p2k
a8fe4b7a5f Added a copy of the GPLv3 to macdeployqtplus 2011-11-02 19:26:32 +01:00
Matt Corallo
ef4280e08b Add returns to avoid annoying compile-time warnings. 2011-11-02 11:04:13 -04:00
Matt Corallo
ed176ba584 Only define __STDC_LIMIT_MACROS if not already defined. 2011-11-02 11:02:13 -04:00
cjdelisle
38a976d5bb Added a workaround for an Ubuntu bug which causes -fstack-protector-all to be disregarded. 2011-11-02 10:59:48 -04:00
p2k
6eaa1b36fc Mac Deployment Script
See notes.txt in contrib/macdeploy.

Also added a dash to the application name in src/qt/bitcoin.cpp
2011-11-02 14:58:50 +01:00
Clark Gaebel
3083cf100a Cleaned up the critical section macros. 2011-11-02 04:33:55 -04:00
Gavin Andresen
434a483d50 Update documentation to reflect 0.5 reality. And removed leading $ from shell commands, so it is easier to copy and paste from release-process.txt. 2011-11-01 17:59:33 -04:00
Wladimir J. van der Laan
8fb6134aa5 attempt to make build deterministic 2011-11-01 10:49:39 -04:00
Wladimir J. van der Laan
533c82ce92 do not use -fstack-protector on Windows 2011-11-01 10:49:26 -04:00
Matt Corallo
fca0e799c2 Update Win32 gitian descriptor for bitcoin-qt. 2011-11-01 10:49:11 -04:00
Matt Corallo
2f91039c70 Add gitian descriptor for qt cross compile via MinGW. 2011-11-01 10:49:02 -04:00
Jeff Garzik
02d630c37f Remove vladimir's DNS seed, at his request. 2011-10-31 12:42:01 -04:00
Wladimir J. van der Laan
8d3e1becf0 Save translators some work
- Remove duplicate translation strings (that somehow came from old wx UI and ended up in bitcoinstrings.cpp)
2011-10-29 23:09:58 +02:00
Gavin Andresen
383ad8b8a6 Add notes on getting gitian builds going 2011-10-25 12:27:09 -04:00
Gavin Andresen
7ec064b88e Update documentation to reflect reality (no win32 gitian builds, new Mac process) 2011-10-25 12:09:08 -04:00
Matt Corallo
472bbb750c Update openssl to 1.0.0e. 2011-10-25 11:54:46 -04:00
Matt Corallo
d1df571746 Update setup.nsi for bitcoin-qt. 2011-10-25 11:53:00 -04:00
Matt Corallo
438adb6c25 Decrease number of installed packages for Linux Gitian build. 2011-10-25 11:52:51 -04:00
Matt Corallo
f5e760268b Remove wxWidgets gitian descriptors. 2011-10-25 11:52:36 -04:00
Matt Corallo
8ab246297b Update Linux gitian descriptor for bitcoin-qt. 2011-10-25 11:52:15 -04:00
Matt Corallo
aaf71d8453 Allow miniupnpc include path specificaiton and fix link on Win32. 2011-10-25 11:51:57 -04:00
Matt Corallo
5f2e76b8c7 Optionally include additional QT plugins when required to build. 2011-10-25 11:51:34 -04:00
Matt Corallo
3f197952bd Add BOOST_THREAD_USE_LIB define. 2011-10-25 11:51:19 -04:00
Matt Corallo
0e569e4a27 Add option to specify a different suffix for boost_thread. 2011-10-25 11:47:10 -04:00
Matt Corallo
0767e69199 Add returns to avoid annoying compile-time warnings. 2011-10-25 11:40:59 -04:00
Matt Corallo
d041590218 Add -Wno-strict-aliasing because boost breaks that too much. 2011-10-25 11:39:56 -04:00
Matt Corallo
25a9a1f62b Only define __STDC_LIMIT_MACROS if not already defined. 2011-10-25 11:39:17 -04:00
Matt Corallo
f891cc9415 Update qt readme to indicate Qt is now the primary GUI. 2011-10-25 11:38:46 -04:00
Gavin Andresen
20601f3477 Merge pull request #592 from dooglus/qt-at-spi-bug
Warn about the qt-at-spi bug in Ubuntu 11.10.
2011-10-25 05:49:26 -07:00
Chris Moore
6c33ec4045 Warn about the qt-at-spi bug in Ubuntu 11.10. 2011-10-24 20:38:46 -07:00
Gavin Andresen
f9f289aba5 Merge pull request #584 from kwaaak/master
Make build work on Mac OS X 10.7 Lion
2011-10-24 11:29:57 -07:00
Gavin Andresen
d760b5c979 Merge pull request #586 from cjdelisle/hardening-bug-workaround
Added a workaround for an Ubuntu bug which causes -fstack-protector-all t
2011-10-24 11:29:32 -07:00
Gavin Andresen
cf908574cf Merge pull request #591 from laanwj/translation_lookup_logic
Translation look-up logic improvements for Qt UI
2011-10-24 11:28:23 -07:00
Wladimir J. van der Laan
5c92622ad6 Translation lookup logic improvements
- use wildcard for TRANSLATIONS in bitcoin-qt.pro to automatically build all translations present in src/qt/locale (thanks @tcatm)
- first load translations/<language>.qm, then translations/<language>_<TERRITORY>.qm, so that territory-specific translations take precedence, but the fallback is on the base language if no territory-specific translation exists.
2011-10-23 13:42:11 +02:00
Wladimir J. van der Laan
3a30f34f1a Revert "translation fixes"
This reverts commit f86ecd4a06.
2011-10-23 11:20:39 +02:00
Wladimir J. van der Laan
f86ecd4a06 translation fixes
- use wildcard for TRANSLATIONS in bitcoin-qt.pro to automatically build all translations present in src/qt/locale (thanks @tcatm)
- rename language files to the usual <lang>_<TERRITORY>
- include recently added language files for es_ES and nb_NO
2011-10-23 10:35:00 +02:00
Nils Schneider
38a9edba20 update translations: nb, es_CL (from transifex) 2011-10-22 23:21:03 +02:00
Nick Bosma
7298ebb432 Added Caps Lock check and warning at askpassphrasedialog. 2011-10-18 16:07:52 +02:00
cjdelisle
1e5f939381 Added a workaround for an Ubuntu bug which causes -fstack-protector-all to be disregarded. 2011-10-16 20:38:23 -04:00
Wladimir J. van der Laan
b68a8a6b34 Merge pull request #583 from laanwj/qt3
More Qt GUI updates
- Make USE_SSL qmake build flag actually work
- Improve mac experience, general UI improvements
- Add keyboard shortcut to switch between tabs
2011-10-15 08:33:10 -07:00
kwaaak
efb3d3292f Make build work on Mac OS X 10.7 Lion
(32bit dependencies through MacPorts)
2011-10-14 07:39:54 +03:00
Wladimir J. van der Laan
fbea7eca65 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-10-11 21:07:09 +02:00
Gavin Andresen
755e2819b0 Merge pull request #578 from luke-jr/bitcoind_build_improvements
Allow users to customize CXX, CXXFLAGS, and LDFLAGS normally
2011-10-10 13:57:47 -07:00
Gavin Andresen
b526cbaa71 bitcoind does not need to link with gthread-2.0 2011-10-10 16:18:58 -04:00
Gavin Andresen
e44a00ae0d bitcoind does not need to link with gthread-2.0 2011-10-10 16:03:14 -04:00
Luke Dashjr
aec5c5fe26 Bump version to 0.4.1 2011-10-10 14:22:31 -04:00
Luke Dashjr
a1e0bb5a09 Allow users to customize CXX, CXXFLAGS, and LDFLAGS normally 2011-10-10 13:42:43 -04:00
Gavin Andresen
ef49d8a6ca Add spanish translation to TRANSLATIONS 2011-10-10 11:25:51 -04:00
Gavin Andresen
e99b8eae65 Merge pull request #577 from paraipanakos/master
Spanish translation for new qt gui
2011-10-10 08:20:53 -07:00
Gavin Andresen
ab877a2dde Merge pull request #576 from luke-jr/bitcoind_build_improvements
bitcoind build improvements
2011-10-10 08:20:28 -07:00
Gavin Andresen
b50ac8f73e Mac OSX release process changes
Rename App Bundle "Bitcoin-Qt.app" instead of "Bitcoin Qt" for
consistency with Windows/Linux.
Update create_osx_dmg.sh script to use macdeployqt tool.
Add ifdef STATIC to makefile.osx to build bitcoind static or dynamic.
2011-10-10 11:13:32 -04:00
Alex B
53f21f6ee7 Added Spanish translation for qt 2011-10-09 23:54:07 +02:00
Wladimir J. van der Laan
d85f245800 Add alt-1..alt-5 shortcut to switch between tabs 2011-10-09 21:40:03 +02:00
p2k
527137e3ee Improved Mac experience; QDoubleSpinBox for BitcoinAmountField
Now it can't be told if this is was a Windows App before. All Mac design principles are fulfilled and some cosmetics have been applied to suit the native look and feel. The biggest change there is the proper use of the Dock icon which takes the role of the Tray icon on Mac.

The QDoubleSpinBox improves entering of Bitcoin amounts, no two separate fields are required anymore. All functionality and validation effects have been retained; pressing the comma key will be internally translated to a period to keep it consistent throughout the application and eases entering in countries which use the comma as decimal separator.

Additionally, Notificator now supports Growl, Mac's native notification system. This is provided via Apple Script in order to avoid linking to Growl on compile time. Other changes involve encapsulation of Toolbar and Menubar creation, loading of Qt's own translation and some clean up.
2011-10-09 21:19:44 +02:00
Wladimir J. van der Laan
d934e7e3dd Make "Quit" menu saner
- Use 'x' for Exit shortcut
- Set Ctrl-Q as global quit key sequence
2011-10-09 21:06:28 +02:00
Wladimir J. van der Laan
8828da5f56 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-10-09 20:26:40 +02:00
Luke Dashjr
b4d0588d06 Add support to makefile.unix for the same parameters used by bitcoin-qt.pro, dynamic linking unless STATIC=1 is passed 2011-10-09 14:23:20 -04:00
Gavin Andresen
eab61cd0b2 Merge branch 'master' of github.com:bitcoin/bitcoin 2011-10-09 13:36:10 -04:00
Gavin Andresen
4db9705dd8 Merge pull request #573 from luke-jr/bugfix_bits_string
Bugfix: getmemorypool "bits" should be a hex-string
2011-10-09 10:32:22 -07:00
Gavin Andresen
ddd9b39bd4 Merge pull request #575 from globalcitizen/master
Unix build documentation improvements
2011-10-09 10:27:34 -07:00
globalcitizen
bdf2f7e711 Fix typo. Improve Gentoo instructions. 2011-10-09 17:18:34 +08:00
globalcitizen
4adf78bad3 Improved Gentoo instructions. 2011-10-09 17:16:53 +08:00
globalcitizen
c60aec9c20 Fix extraneous directory specifier, beautify bash syntax $VAR -> ${VAR} 2011-10-09 17:10:43 +08:00
globalcitizen
7b465b663a Collate generic dependency information. Segregate distribution-specific (Ubuntu/Debian) information. Add Gentoo information. 2011-10-09 17:04:35 +08:00
Gavin Andresen
94eaab7710 Bump version to 0.5.0.0 2011-10-08 17:29:47 -04:00
Gavin Andresen
0b3f3657c8 Remove old wx translations, updated qt translations 2011-10-08 17:29:21 -04:00
Gavin Andresen
c1131a28ad Remove ui_res from makefiles 2011-10-07 14:35:36 -04:00
Victor Leschuk
600dc62559 Fix for 64bit build 2011-10-07 11:04:04 -04:00
Gavin Andresen
6853e627f1 Fix build on windows and mac
Replaced all occurrences of #if* __WXMSW__ with WIN32,
and all occurrences of __WXMAC_OSX__ with MAC_OSX, and made
sure those are defined appropriately in the makefile and bitcoin-qt.pro.
2011-10-07 11:02:21 -04:00
Gavin Andresen
e9b95e4f6c Merge pull request #572 from delirium---/master
Fix for win64 build
2011-10-06 12:11:07 -07:00
Luke Dashjr
903a255836 Bugfix: "bits" should be a hex-string, not a number (that just doesn't make sense) 2011-10-06 12:47:28 -04:00
Victor Leschuk
b95e6376d0 Fix for 64bit build 2011-10-06 19:53:42 +04:00
Gavin Andresen
32ebde4612 Merge pull request #564 from luke-jr/optimize_remove_CheckWork_delay
Remove 2 second sleep from CheckWork
2011-10-06 07:54:50 -07:00
Gavin Andresen
e653578db3 Merge pull request #566 from luke-jr/optimize_http_status
Optimize HTTP status messages
2011-10-05 12:19:34 -07:00
David Joel Schwartz
ae81b82fb8 Use C's const char* for status strings rather than C++'s std::string, which is slower 2011-10-05 14:48:33 -04:00
Gavin Andresen
9e5322d23a Fix miner_test unit test bug 2011-10-05 14:33:49 -04:00
Gavin Andresen
3a6e468d9a Merge branch 'listsinceblock' of https://github.com/cdhowie/bitcoin 2011-10-05 11:38:24 -04:00
Gavin Andresen
4ffbdcc0f5 Auto-build dependencies 2011-10-05 11:28:08 -04:00
Gavin Andresen
e9e7bb968b Update mac Makefile and build instructions to use MacPorts 2011-10-05 11:10:06 -04:00
Luke Dashjr
030d7acf7d Merge commit '65ba3e2f5024e1e38e119a0c25d5fc30c896cd65' into 0.4.x 2011-10-05 11:06:55 -04:00
Gavin Andresen
ff3b235580 Merge pull request #545 from tcatm/remove-addr.txt
remove code that reads addr.txt in LoadAddreses()
2011-10-05 07:41:07 -07:00
Gavin Andresen
b898c8fce6 Merge branch 'no-cryptopp' of https://github.com/tcatm/bitcoin 2011-10-05 10:38:10 -04:00
Gavin Andresen
8bc52d0692 Merge pull request #558 from luke-jr/bugfix_CreateThread_ThreadSocketHandler_errReporting
Bugfix: ThreadSocketHandler creation error
2011-10-05 07:27:56 -07:00
Gavin Andresen
9ec4fa7b50 Merge pull request #561 from luke-jr/optimize_conn_adjtime
Only GetAdjustedTime once for the retry loop
2011-10-05 07:22:52 -07:00
Luke Dashjr
3552497ae5 Send "Connection: close" HTTP header with JSON-RPC requests (client) 2011-10-05 10:15:07 -04:00
Gavin Andresen
5c5d310a0a Merge pull request #549 from enmaku/master
Python scripts demonstrating using RPC to keep passphrases out of shell history/etc.
2011-10-04 07:41:00 -07:00
Gavin Andresen
887b9d4113 Merge pull request #547 from TheBlueMatt/build-updates
Update release-process to point to gitian.sigs repo.
2011-10-04 07:38:06 -07:00
David Joel Schwartz
514b18722a Remove 2 second sleep from CheckWork 2011-10-04 00:04:43 -04:00
Luke Dashjr
65ba3e2f50 Bugfix: report error creating ThreadSocketHandler thread just like the rest 2011-10-03 23:45:42 -04:00
Luke Dashjr
a4e6ae101a Only GetAdjustedTime once for the retry loop 2011-10-03 23:41:47 -04:00
David Perry
5a105cdb7d Added bitrpc.py which allows for sending of all standard Bitcoin commands via RPC rather than as command line args.
Signed-off-by: David Perry <enmaku@gmail.com>
2011-10-03 16:10:03 -07:00
David Perry
8ad100a55b Added wallet tools
Signed-off-by: David Perry <enmaku@gmail.com>
2011-10-03 14:04:11 -07:00
Gavin Andresen
3504801778 Declare integer constant LL 2011-10-03 13:10:31 -04:00
Matt Corallo
c923fe71b4 Update release-process to point to gitian.sigs repo. 2011-10-03 12:59:37 -04:00
Wladimir J. van der Laan
ba2db7262b Edited doc/readme-qt.rst via GitHub 2011-10-02 10:47:23 +03:00
Luke Dashjr
5d3083c3fb Bugfix: Restore old behaviour of USE_UPNP as close as possible (built & enabled by default, can be disabled or unsupported by option) 2011-10-02 09:40:17 +02:00
Wladimir J. van der Laan
20cff2ade4 remove possibility of 63 bit overflow in ParseMoney 2011-10-01 19:04:24 -04:00
Nils Schneider
74567f7ef1 remove code that reads addr.txt in LoadAddreses() 2011-10-01 22:27:02 +02:00
Gavin Andresen
1ff3583e41 Merge pull request #543 from laanwj/utiltests
Remove possibility of 63 bit overflow in ParseMoney
2011-10-01 12:00:24 -07:00
Gavin Andresen
ad9ceecf9c Merge pull request #476 from forrestv/getmemorypool
Added RPC call 'getmemorypool' for p2p mining pools
2011-10-01 11:57:51 -07:00
Forrest Voight
074d584a04 Added RPC call 'getmemorypool' that provides everything needed to construct a block with a custom generation transaction and submit a solution
getmemorypool [data]
If [data] is not specified, returns data needed to construct a block to work on:
  "version" : block version
  "previousblockhash" : hash of current highest block
  "transactions" : contents of non-coinbase transactions that should be included in the next block
  "coinbasevalue" : maximum allowable input to coinbase transaction, including the generation award and transaction fees
  "time" : timestamp appropriate for next block
  "bits" : compressed target of next block
If [data] is specified, tries to solve the block and returns true if it was successful.
2011-10-01 14:42:54 -04:00
Wladimir J. van der Laan
2f7f2a5fca remove possibility of 63 bit overflow in ParseMoney
- also, add unit tests for various functions in util.cpp/util.h
2011-10-01 17:29:46 +02:00
Wladimir J. van der Laan
608dacf689 only install translator when not empty 2011-10-01 13:23:00 +02:00
Nils Schneider
452506fc41 simpler ByteReverse 2011-09-30 20:00:30 +02:00
Nils Schneider
6ccff2cbde remove cryptopp dependency, add simple unittest for SHA256Transform() 2011-09-30 20:00:22 +02:00
Wladimir J. van der Laan
52e9fe9296 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-09-30 17:39:29 +02:00
Wladimir J. van der Laan
8f1631b797 make USE_SSL actually work (thanks @prusnak for noticing) 2011-09-30 17:36:39 +02:00
Gavin Andresen
f4769e44a3 Merge pull request #524 from sipa/signandverif
Sign and verify message with bitcoin address
2011-09-30 05:04:26 -07:00
Gavin Andresen
e297ea999e Merge pull request #542 from laanwj/qt2
qmake build system improvements
2011-09-29 12:06:03 -07:00
Wladimir J. van der Laan
07e2882366 qmake build system improvements
- USE_SSL=1 to support RPC SSL
- BDB_LIB_SUFFIX= to link against specific BDB version
- Fix typo
- Start lrelease during qmake phase to prevent errors/warnings
2011-09-29 20:39:56 +02:00
Gavin Andresen
9a7e5ed3b0 Merge pull request #539 from laanwj/qt2
Qt GUI updates
2011-09-29 10:50:40 -07:00
Nils Schneider
7dd4001b40 Merge pull request #537 from tcatm/remove-deprecated-rpcs
remove deprecated RPCs
2011-09-29 09:39:11 -07:00
Wladimir J. van der Laan
20091df725 Add assertion size>0 to MedianFilter 2011-09-29 17:17:42 +02:00
Gavin Andresen
e8e0e23d20 Merge pull request #538 from tcatm/deprecate-midstate
deprecate midstate and hash1 in getwork
2011-09-29 07:57:22 -07:00
Wladimir J. van der Laan
f33a43efdf Update "other files" in Qt Creator with all documentation now that the projects merged 2011-09-28 22:01:47 +02:00
Wladimir J. van der Laan
002a4dcad0 Merge branch 'master' of https://github.com/bitcoin/bitcoin
Conflicts:
	.gitignore (used upstream version)
	bitcoin-qt.pro
2011-09-28 21:52:32 +02:00
Wladimir J. van der Laan
a8b95ce6ed use median filter for peer-reported reported number of blocks
- fixes problem that one misconfigured or malicious node can mess up progress bar
- implementation in src/util.h
- testcase in src/test/util_tests.cpp
2011-09-28 21:35:58 +02:00
Jeff Garzik
4dcad1d294 Merge pull request #536 from TheBlueMatt/build-updates
Update release-process.txt with gitian release instructions.
2011-09-28 09:27:25 -07:00
Nils Schneider
f8acc29fca deprecate midstate and hash1 in getwork 2011-09-28 17:54:44 +02:00
Nils Schneider
eec44dad17 remove deprecated RPCs 2011-09-28 17:43:31 +02:00
Matt Corallo
45723584c5 Update release-process.txt with gitian release instructions. 2011-09-28 11:19:09 -04:00
Jeff Garzik
ab1bbe5492 Merge pull request #533 from alexwaters/readme
Updated readme file with timers.
2011-09-27 20:47:06 -07:00
Wladimir J. van der Laan
5902040874 translation handling improvements
- automatically build binary translation files in qmake/make
- roll translations into resource file and executable, to simply installation
2011-09-27 20:47:51 +02:00
Pieter Wuille
3a570dc80a Use key recovery for message signatures
Instead of encoding the public key inside the signature string, use
key recovery to do verification. This allows 88-character base64-encoded
signature strings instead of 188-character ones.
2011-09-27 19:48:22 +02:00
Pieter Wuille
01cc526318 Compact signatures and key recovery
Introduce a new type of signatures that are only 65 bytes long, and allow
reconstruction of the public key that was used to create the signature.
2011-09-27 19:48:22 +02:00
Pieter Wuille
d9867551fc base64-based sign/verify 2011-09-27 19:48:22 +02:00
Pieter Wuille
b53d6284eb Incorporate pubkey in signature, check based on address
Include the public key in the signature string, to allow verification
based on address.
2011-09-27 19:48:22 +02:00
Khalahan
cc2567e32f Sign and verify message with bitcoin address and public key
Add padding to input (fixed string + address) before hashing
2011-09-27 19:48:22 +02:00
Pieter Wuille
e93bf37e86 Test case for base64 encode/decode 2011-09-27 19:48:10 +02:00
Pieter Wuille
4b603f1cd6 Inline base64 encoder/decoder
This replaces the openssl-based base64 encoder and decoder with a more
efficient internal one. Tested against the rfc4648 test vectors.

Decoder is based on JoelKatz' version.
2011-09-27 19:47:35 +02:00
JoelKatz
4e67a6216b Faster Base64 decoder. 2011-09-27 19:47:34 +02:00
Wladimir J. van der Laan
d28ed9c98e Merge pull request #25 from Matoking/master
Send Coins page changes
2011-09-27 09:34:25 -07:00
Janne Pulkkinen
a1ef0d19b1 Removing the if statement entirely - not needed. 2011-09-27 19:20:24 +03:00
Gavin Andresen
a8c108bca1 Remove DoS penalty for SigOpCount or immature transactions 2011-09-27 11:19:57 -04:00
Janne Pulkkinen
609acbf43d Send Coins page not cleared when changing tabs. Clear all button for clearing the entries 2011-09-27 17:46:19 +03:00
Alex Waters
13945b2a61 Updated readme file with timers. 2011-09-26 22:22:19 -04:00
Luke Dashjr
7944d81567 Merge commit '3f94dfa' into stable 2011-09-26 15:37:57 -04:00
Gavin Andresen
9a1ce86969 Merge pull request #532 from TheBlueMatt/build-updates
Output build temp files in build/ instead of current directory.
2011-09-26 10:16:03 -07:00
Matt Corallo
36eccc5174 Output build temp files in build/ instead of current directory. 2011-09-26 13:14:34 -04:00
Gavin Andresen
adea540e38 Update build instructions for the new, no-wxwidgets world 2011-09-26 11:40:43 -04:00
Gavin Andresen
81cadd74d2 Fix build: put back rules to build cryptopp files 2011-09-26 11:15:01 -04:00
Gavin Andresen
565c4771b6 Remove wxWidgets
Makefiles now build bitcoind only.
qmake/make in top-level directory is used to build Bitcoin QT
Deleted almost all #ifdef GUI from the code (left one possibly controversial one)
Deleted xpm/ files.
2011-09-26 10:04:04 -04:00
Gavin Andresen
ee1d6e4ed0 Merge pull request #492 from gavinandresen/fasterinitialdownload
Skip verifying transaction signatures during initial block-chain download
2011-09-26 06:21:13 -07:00
Gavin Andresen
b14bd4df58 Skip verifying transaction signatures during initial block-chain download 2011-09-26 09:20:22 -04:00
Gavin Andresen
6b8a5ab622 Bump version to 0.4.1 2011-09-26 09:16:56 -04:00
Gavin Andresen
5df25e78db Merge pull request #513 from cjdelisle/feature-hardening
Hardening
2011-09-26 06:12:59 -07:00
Gavin Andresen
17e2c24645 Merge pull request #517 from gavinandresen/DoSprevention
Denial-of-service prevention
2011-09-26 06:06:16 -07:00
Gavin Andresen
f7f2a36925 Merge pull request #521 from laanwj/qt
Qt GUI
2011-09-26 06:05:11 -07:00
Wladimir J. van der Laan
010c4fc0b5 Change define to determine use of DBUS to USE_DBUS, to prevent overlap with Qt-defined QT_DBUS 2011-09-24 11:56:33 +02:00
Wladimir J. van der Laan
99cec89cb3 make qmake build system more configurable (as suggested by lukejr) 2011-09-24 11:43:58 +02:00
Jeff Garzik
f8937b2d3b Merge pull request #528 from TheBlueMatt/gitian-downloader
Add win32 gitian download config.
2011-09-23 10:56:25 -07:00
Gavin Andresen
c1ffdc5801 Update release process for repackaging gitian builds, and osx dmg 2011-09-23 11:18:22 -04:00
Wladimir J. van der Laan
0961c2fc0d Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-09-23 13:42:04 +02:00
Matt Corallo
3fc4c3a9f1 Add win32 gitian download config. 2011-09-23 00:52:08 -04:00
Gavin Andresen
a4f2c8419f Script to create OSX .dmg diskimage file. 2011-09-22 17:16:13 -04:00
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
Wladimir J. van der Laan
b8afa21fad show balance in sendcoins screen (issue #24) 2011-09-22 19:05:04 +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
Gavin Andresen
806704c237 More denial-of-service misbehavior detection: version/addr/inv/getdata messages 2011-09-21 12:50:13 -04:00
Gavin Andresen
3e52aaf212 Transaction/Block denial-of-service detection/response 2011-09-21 12:50:12 -04:00
Gavin Andresen
15f3ad4dbd Framework for banning mis-behaving peers 2011-09-21 12:49:53 -04:00
Gavin Andresen
54d02f158d SetMockTime() for cleaner unit testing 2011-09-21 12:01:56 -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
Wladimir J. van der Laan
9b490f71b0 put Q_OBJECT everywhere it should be (removes warnings when running lupdate) 2011-09-19 13:08:24 +02:00
Pieter Wuille
88367a5fb8 SocketHandler thread can be detached 2011-09-19 13:08:22 +02:00
Wladimir J. van der Laan
0465c41c84 move current qt specific readme to doc/, restore original README.md 2011-09-18 12:47:49 +02:00
Wladimir J. van der Laan
e122e42354 assure that base bitcoind and bitcoin still build 2011-09-18 12:44:38 +02:00
Wladimir J. van der Laan
3c66913cd2 move qt-specific scripts to qt-specific directory in scripts/ 2011-09-18 12:44:32 +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
Wladimir J. van der Laan
5dd7318db7 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-09-16 06:55:47 +02: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
flower
c1e667222a make German translation up-to-date 2011-09-13 18:55:50 +02:00
cjdelisle
3f94dfa25f Add some hardening to protect against unknown/future exploits. 2011-09-12 17:09:55 -04: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
Wladimir J. van der Laan
83312d7c6c remove transparency effect and windows-specific code for now, it's not working as supposed 2011-09-11 21:06:23 +02:00
Wladimir J. van der Laan
1837644c4a Merge pull request #22 from p2k/master
Some improvements for Mac OS X
2011-09-11 08:52:57 -07:00
p2k
2c1fd3c395 Some Mac OS X specific things
* Added application icon for Mac OS X * Added instructions for compiling
under Mac OS X * Added Portfile for compiling miniupnpc with MacPorts
2011-09-11 17:42:20 +02:00
Wladimir J. van der Laan
d33cc2b5e3 clarify function signature (GetNumBlocksOfPeers) and use number of 'frozen' blocks as initial value for number of peer blocks 2011-09-11 10:49:30 +02:00
Janne Pulkkinen
78b3bf56f7 The synchronization progress bar now compares the amount of total blocks to amount of blocks downloaded at application start-up. Could be probably implemented better. 2011-09-11 10:29:29 +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
Wladimir J. van der Laan
9b9e2f1748 http -> https 2011-09-08 18:07:07 +02:00
Wladimir J. van der Laan
a0d2f9a12d Merge branch 'master' of https://github.com/bitcoin/bitcoin
Conflicts:
	.gitignore
2011-09-07 18:57:11 +02:00
Wladimir J. van der Laan
f077d1ad62 fix the build (moved code use 'this' instead of 'window') 2011-09-07 18:16:38 +02:00
Janne Pulkkinen
94723e27ad Pull request #21: windows fixes/cleanup by Matoking 2011-09-07 17:45:07 +02: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
Wladimir J. van der Laan
cf9195c808 (k)ubuntu 10.04+ notification support (based on @zwierzak his code) 2011-09-03 21:05:12 +02:00
Wladimir J. van der Laan
69e87633bc Merge branch 'master' of github.com:laanwj/bitcoin-qt 2011-09-03 20:51:48 +02: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
Wladimir J. van der Laan
0a70a3f4d8 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-09-03 09:09:34 +02: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
Wladimir J. van der Laan
4785e6df74 Edited README.rst via GitHub 2011-09-02 19:42:59 +03:00
Wladimir J. van der Laan
0aca8577b5 support USE_UPNP setting 2011-09-02 18:33:09 +02: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
Wladimir J. van der Laan
b2d1129f27 bitcoin-qt cannot be used as command line rpc client 2011-09-02 18:05:08 +02:00
Wladimir J. van der Laan
c5aa1b139a update to work with new lock system, add protocol.* to build system 2011-09-02 18:02:22 +02: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
Wladimir J. van der Laan
7a15d4ff67 Merge branch 'master' of https://github.com/bitcoin/bitcoin
Conflicts:
	src/main.cpp
2011-09-02 17:35:30 +02: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
Wladimir J. van der Laan
f43f46c175 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-08-31 17:06:38 +02:00
Wladimir J. van der Laan
6c85cbecf1 comments and readme update 2011-08-31 16:08:31 +02:00
Wladimir J. van der Laan
b7bcaf940d Wallet encryption part 2: ask passphrase when needed, add menu options 2011-08-31 14:19:43 +02:00
Misbakh-Soloviev Vadim A
3f0816e3d9 add russian translation and add unicode compatibility (merges pull request #20) 2011-08-28 14:14:29 +02: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
Wladimir J. van der Laan
ae8adeb90a Wallet encryption part 1: show wallet encryption status 2011-08-23 20:08:42 +02: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
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
Wladimir J. van der Laan
adce862c27 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-08-22 14:43:37 +02: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
Wladimir J. van der Laan
872b1f3e4c update README for issue #15 2011-08-16 17:37:01 +02:00
Wladimir J. van der Laan
317c733572 add russian translation by msva 2011-08-16 17:30:58 +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
Wladimir J. van der Laan
8c4738d5a7 fix issue #13 2011-08-16 11:18:27 +02:00
Wladimir J. van der Laan
b90c9ecb13 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-08-16 10:28:24 +02: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
Wladimir J. van der Laan
0a76546ae9 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-08-11 10:17:21 +02: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
Wladimir J. van der Laan
b0849613bf QtUI code cleanup / comment improvements 2011-08-08 17:38:17 +02:00
Wladimir J. van der Laan
fb390d3505 add TODOs in parseBitcoinURL 2011-08-07 17:07:04 +02:00
Wladimir J. van der Laan
f839f96578 update readme 2011-08-07 16:21:09 +02:00
Wladimir J. van der Laan
c359ac9128 allow empty/missing amounts in URL 2011-08-07 16:17:02 +02:00
Wladimir J. van der Laan
856aacf388 don't include <QDebug> 2011-08-07 16:09:49 +02:00
Wladimir J. van der Laan
db7f023417 Accept "bitcoin:" URL drops from browsers 2011-08-07 16:04:48 +02:00
Wladimir J. van der Laan
330c190958 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-08-06 18:45:15 +02:00
Wladimir J. van der Laan
e74e8a184a reorganize transaction model data function, and transaction tooltip 2011-08-06 18:40:45 +02:00
Wladimir J. van der Laan
d4e3cb4c03 improve sync spinner 2011-08-05 20:32:26 +02:00
Wladimir J. van der Laan
00f4f8d54c speling fix 2011-08-05 15:37:49 +02:00
Wladimir J. van der Laan
126185aaa7 improve tooltip over transactions 2011-08-05 15:35:52 +02:00
Wladimir J. van der Laan
ffccb56914 select new address immediately after creation 2011-08-04 21:36:14 +02: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
Wladimir J. van der Laan
2351a3fc9f minimize amount of text in status bar; show only icons, if the user wants explanation they can view the tooltip 2011-08-04 19:04:42 +02:00
Wladimir J. van der Laan
1b39201966 when clicking a transaction on the overview page, send the user to the transactions page 2011-08-04 04:41:01 +02:00
Wladimir J. van der Laan
186f3e2f0c Clarity: change definition of "confirmed" to "counts towards balance" 2011-08-04 04:40:01 +02:00
Matt Corallo
01a509fa26 Don't listen if on TOR (resolves #441). 2011-08-03 22:16:29 +02:00
Wladimir J. van der Laan
2ccd47596b fix drawing on gtk 2011-08-03 21:28:11 +02:00
Wladimir J. van der Laan
82303fc3ca unconfirmed amount = grey 2011-08-03 21:04:15 +02:00
Matt Corallo
918150048a Make it clear that setting proxy requires restart to fully apply. 2011-08-03 21:02:07 +02:00
Wladimir J. van der Laan
a99ac8d3f4 show last few transactions on overview page 2011-08-03 20:52:18 +02:00
Wladimir J. van der Laan
2566b30c38 make amount field the same width as decimals field 2011-08-03 14:06:13 +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
Wladimir J. van der Laan
6e903b0b32 add attribution for wallet image 2011-08-02 22:08:59 +02:00
Wladimir J. van der Laan
5762295ec3 update readme and splash screen text 2011-08-02 22:03:41 +02:00
Wladimir J. van der Laan
10d680cff4 add splash screen 2011-08-02 21:48:59 +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
Wladimir J. van der Laan
d8f5c59a59 show n/a for mined transactions (and send to self) instead of empty field 2011-07-31 17:43:46 +02:00
Wladimir J. van der Laan
05bcf7089e address icons 2011-07-31 17:05:34 +02:00
Matt Corallo
33208fb557 Check for duplicate txins in CheckTransaction. 2011-07-31 14:20:10 +02:00
Wladimir J. van der Laan
dedf83a19b Properly html-escape labels 2011-07-31 12:56:46 +02:00
Wladimir J. van der Laan
a5e1325879 comment update 2011-07-30 19:28:41 +02:00
Wladimir J. van der Laan
f0ec774d9c make sure address book model is up to date after sending coins 2011-07-30 19:21:46 +02:00
Han Lin Yap
8c2143d4d8 Comment "deprecated" 2011-07-30 19:58:22 +03:00
Wladimir J. van der Laan
04f38adf73 Remove unused variable 2011-07-30 18:48:05 +02:00
Wladimir J. van der Laan
2f5d380943 Hide addresses in transaction overview by default, they can be re-shown as a configuration option 2011-07-30 17:42:02 +02:00
Wladimir J. van der Laan
1aafe34a08 Make dot in amount field more apparent 2011-07-30 17:01:31 +02:00
Wladimir J. van der Laan
19fba3cd24 Make debug info more interesting (show SHA160 addresses for inputs) 2011-07-29 23:11:40 +02:00
Wladimir J. van der Laan
3b59297b36 Remove no longer valid comment 2011-07-29 16:16:12 +02:00
Wladimir J. van der Laan
53d65b5500 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-07-29 14:45:54 +02:00
Wladimir J. van der Laan
ee014e5b10 Full support for other units, add configuration option for default unit (used when displaying amounts) 2011-07-29 14:36:35 +02: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
Wladimir J. van der Laan
b5b1d1a66b Merge branch 'master' of https://github.com/bitcoin/bitcoin
Conflicts:
	src/script.cpp
2011-07-27 21:44:55 +02:00
Wladimir J. van der Laan
7df001be94 normalize SIGNAL/SLOT signatures (http://marcmutz.wordpress.com/effective-qt/prefer-to-use-normalised-signalslot-signatures/) 2011-07-27 20:54:10 +02:00
Wladimir J. van der Laan
384625c1a6 also accept numbers without dot/decimals for parsing, fixes transaction filter row 2011-07-27 20:52:00 +02: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
dd61035645 show amounts in <b>bold</b> in confirmation dialog 2011-07-26 17:37:26 +02:00
Wladimir J. van der Laan
1e89d5d2fe Re-apply pull request #10, it got lost for some reason 2011-07-26 17:12:06 +02: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
Wladimir J. van der Laan
5326a31249 make SetHash160 return a value (as specified in the function signature) 2011-07-26 16:54:32 +02:00
Wladimir J. van der Laan
491ad6db50 Merge remote branch 'upstream/master'
Conflicts:
	src/bitcoinrpc.cpp
2011-07-26 16:47:23 +02:00
Wladimir J. van der Laan
c0b892fee8 update readme 2011-07-26 13:43:54 +02:00
Wladimir J. van der Laan
83c8d678aa Reset unit to default when clearing the field, to prevent confusion 2011-07-26 13:31:59 +02:00
Wladimir J. van der Laan
f2b10f6469 refuse to format nor parse invalid units 2011-07-26 13:27:33 +02:00
Wladimir J. van der Laan
587e52855a allow multiple units in bitcoin amount widget (for example, for sending) using a combobox 2011-07-26 13:08:34 +02:00
Wladimir J. van der Laan
ca1dbe10ed Negative transaction color changed to red (was grey due to mistake) 2011-07-26 09:16:50 +02:00
JoelKatz
67ed7d9d49 Fix UNIX-specific thread handle leak. 2011-07-25 15:06:45 -07:00
Wladimir J. van der Laan
e780b94bd3 fix unit names (μBTC) 2011-07-25 22:28:12 +02:00
Wladimir J. van der Laan
e285ffcd05 preparations for multiple unit (uBTC, mBTC, BTC) support, fix amount entry issue 2011-07-25 21:38:54 +02:00
Wladimir J. van der Laan
bbae0fc9ef put color constants in guiconstants.h 2011-07-25 18:39:52 +02: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
celil-kj
a8c50c06e3 Clean up the project file. 2011-07-24 14:54:40 -07:00
Celil
2af40a5013 On Mac OS X do not link aginst the boost libraries in UNIX:LIBS 2011-07-24 14:45:51 -07:00
Wladimir J. van der Laan
daa1a7398f better exit icon 2011-07-24 19:09:29 +02:00
Wladimir J. van der Laan
f5472574a7 make all tab icons blue/gray for more consistencyx 2011-07-24 18:32:21 +02:00
Wladimir J. van der Laan
591dcaf681 improve tooltip texts 2011-07-24 18:06:07 +02: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
Wladimir J. van der Laan
8a13456f3a add windows program (.exe) icon 2011-07-24 15:53:27 +02:00
Wladimir J. van der Laan
1a925b8e60 Merge pull request #9 from celil-kj/master
allow decimals such as .05 for amount of bitcoins to send
2011-07-24 02:41:19 +02:00
Celil
2eac3a6dec Allow ammount field to be empty so that one can specify .05 instead of
having to type the leading zero as in 0.05
2011-07-22 16:55:50 -07:00
Celil
64c991da2a Merge branch 'master' of https://github.com/laanwj/bitcoin-qt 2011-07-22 15:44:53 -07:00
Wladimir J. van der Laan
7beada58cd Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-07-22 21:41:24 +02:00
Wladimir J. van der Laan
8b936b617f Implement range... transaction filter 2011-07-22 18:30:25 +02:00
Wladimir J. van der Laan
73cd5e5212 fix clear() (clear red/invalid status) 2011-07-22 17:06:37 +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
Celil
29f9e4e400 Merge branch 'master' of https://github.com/laanwj/bitcoin-qt 2011-07-18 15:45:55 -07:00
Wladimir J. van der Laan
174b3eddc0 one remove/delete icon is enough and the red minus better matches the add icon 2011-07-18 21:02:17 +02:00
Wladimir J. van der Laan
8ea1c9a418 Merge branch 'notebook' 2011-07-18 18:50:35 +02:00
Wladimir J. van der Laan
68e327ae7b move buttons to bottom of send coins tab, outside of scroll area 2011-07-18 18:39:49 +02:00
Wladimir J. van der Laan
24c835b0b6 windows build fix 2011-07-18 18:34:53 +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
Wladimir J. van der Laan
a75e1e3292 Fix "Last received block was generated Up to date" 2011-07-18 06:55:05 +02: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
Wladimir J. van der Laan
1907b96d69 put sendcoins entries in scroll area, so that window does not become bigger than screen with many recipients 2011-07-17 17:42:41 +02:00
Wladimir J. van der Laan
8dcffd4d07 show rotating spinner when block download out of date, tick otherwise 2011-07-17 17:31:37 +02:00
Wladimir J. van der Laan
5df0b03c95 make initial block download reporting somewhat better by tracking version responses 2011-07-17 14:17:13 +02: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
Wladimir J. van der Laan
b5f918cbd6 readme update 2011-07-16 19:54:44 +02:00
Wladimir J. van der Laan
2a429030ff update readme 2011-07-16 19:47:22 +02:00
Wladimir J. van der Laan
9b9cd3dd20 add missing icon 2011-07-16 19:35:41 +02:00
Wladimir J. van der Laan
9958e09dbc Revert "Now that send coins / receive coins etc are tabs, remove them from menu, and reorganize menu bar"
This reverts commit ea37fb9187.
2011-07-16 19:28:15 +02:00
Wladimir J. van der Laan
a5e6d72339 add sendmany support 2011-07-16 19:25:02 +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
Celil
97f908e483 Suppress uninitialized warnings. 2011-07-15 16:10:48 -07:00
Wladimir J. van der Laan
d421117620 Merge branch 'master' of https://github.com/bitcoin/bitcoin 2011-07-15 16:42:44 +02:00
Wladimir J. van der Laan
a24b23622e move README.md out of the way for now 2011-07-15 15:42:02 +02:00
Wladimir J. van der Laan
19366be186 Merge remote-tracking branch 'satoshi/qtui'
Conflicts (resolved by copying files from remote branch):
	.gitignore
	src/cryptopp/cpu.cpp
	src/cryptopp/cpu.h
	src/cryptopp/cryptlib.h
	src/cryptopp/iterhash.h
	src/cryptopp/misc.h
	src/cryptopp/secblock.h
	src/cryptopp/sha.cpp
	src/cryptopp/sha.h
	src/cryptopp/smartptr.h
	src/json/json_spirit_reader.cpp
	src/json/json_spirit_value.cpp
	src/json/json_spirit_writer.cpp
2011-07-15 15:12:17 +02:00
Wladimir J. van der Laan
a35ee96336 Add call to request unconfirmed balance 2011-07-15 15:09:49 +02:00
Wladimir J. van der Laan
249c6818f1 fix quoting 2011-07-15 15:06:28 +02:00
Wladimir J. van der Laan
ea37fb9187 Now that send coins / receive coins etc are tabs, remove them from menu, and reorganize menu bar 2011-07-15 14:55:21 +02:00
Wladimir J. van der Laan
f8be324ace Merge pull request #8 from celil-kj/master
fix error when cancelling export
2011-07-15 01:30:54 -07: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
Celil
608810a3e7 Fix error when export is cancelled without specifying a filename. 2011-07-14 17:11:11 -07:00
Chris Howie
76aed0141c listsinceblock now shows txns with 0 confirms, as well as allows the lastblock return property to be targeted to the block with the specified depth 2011-07-14 15:56:29 -04:00
Chris Howie
5b2f35167f Add listsinceblock command for retrieving all wallet transactions in blocks after the specified block 2011-07-14 15:56:21 -04:00
Wladimir J. van der Laan
77b615ceba solve warnings at startup 2011-07-14 21:21:17 +02: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
Wladimir J. van der Laan
2a097fc5ed Update mac build (alkor on forums) 2011-07-13 08:27:41 +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
Wladimir J. van der Laan
4a843976e0 also show balloon on sent transaction, to notify when coins sent 2011-07-11 21:01:53 +02:00
Wladimir J. van der Laan
df5ccbd2b2 Show unconfirmed balance on overview page 2011-07-11 20:42:10 +02:00
Wladimir J. van der Laan
eee0d2391c Make tooltip on refresh more clear 2011-07-11 19:35:08 +02: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
c87cdc9160 wxp/mingw build fixes 2011-07-09 15:58:05 +02:00
Wladimir J. van der Laan
0b814f9ea3 add better windows7/vista look by nico_w 2011-07-09 15:26:57 +02:00
Wladimir J. van der Laan
7668631d1b remove placeholder text from ui form, code generator screws up on older qt 2011-07-09 14:00:00 +02:00
Wladimir J. van der Laan
ea8440d742 Add -fstack-protector to gcc CXX flags 2011-07-09 11:54:25 +02:00
Wladimir J. van der Laan
adad8e46c9 README update 2011-07-09 10:55:46 +02:00
Wladimir J. van der Laan
f54d59ba4a add export functionality for address book / receiving addresses 2011-07-09 10:54:17 +02:00
Wladimir J. van der Laan
2eace48d9a remove magic number: change threshold for nLockTime to constant 2011-07-09 10:30:23 +02:00
Wladimir J. van der Laan
fa989f42c1 remove magic number: change threshold for nLockTime to constant 2011-07-09 10:25:12 +02:00
Wladimir J. van der Laan
aa496b75c2 remove magic number: change threshold for nLockTime to constant 2011-07-09 10:11:28 +02:00
Wladimir J. van der Laan
460cd40aa5 Readme update 2011-07-08 22:45:15 +02:00
Wladimir J. van der Laan
51d7cc07f1 Add context menu on transaction list: copy label, copy address, edit label, show details 2011-07-08 22:27:36 +02:00
Wladimir J. van der Laan
35105534e7 Transaction list: less terse tooltip 2011-07-08 19:56:28 +02:00
Wladimir J. van der Laan
3ddf10e5ca send coins dialog: make sure send button remain default button (triggered with enter) 2011-07-08 19:51:24 +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
Wladimir J. van der Laan
83b8237046 forgot synced icons 2011-07-08 19:25:35 +02:00
Wladimir J. van der Laan
d8aeb8dd2a Reorganize "send coins" tab 2011-07-08 19:09:13 +02:00
Wladimir J. van der Laan
84c8506e90 Display a "freshness" indicator instead of nr of blocks 2011-07-08 18:05:23 +02: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
Wladimir J. van der Laan
8ffec99b07 update README 2011-07-07 21:26:46 +02:00
Wladimir J. van der Laan
610121480c "Status" doesn't fit into narrow first column in transaction history, make the header empty 2011-07-07 21:25:17 +02:00
Wladimir J. van der Laan
ba3d0255fc Add German translation by nico_w 2011-07-07 21:19:25 +02:00
Wladimir J. van der Laan
0002bdddfa add [testnet] to whatever the current window title is 2011-07-07 18:38:37 +02:00
Wladimir J. van der Laan
a7e506d698 clarify todo/dones in readme 2011-07-07 18:32:47 +02:00
Wladimir J. van der Laan
94fe42a945 Selection/tab navigation fixes 2011-07-07 18:25:27 +02:00
Wladimir J. van der Laan
3479849dc4 convert to full tab-based ui 2011-07-07 17:33:15 +02:00
Wladimir J. van der Laan
5eaa1b435c Qt handles the "..." for too long table rows. Remove this functionality from TransactionTableModel... 2011-07-07 16:57:19 +02:00
Wladimir J. van der Laan
ae3d0aba15 Sync to bitcoin git e94010b239 2011-07-07 15:22:54 +02:00
Wladimir J. van der Laan
42c405ad23 temp patch for qtui 2011-07-07 15:18:35 +02:00
Wladimir J. van der Laan
33c75fd9aa CKeyStore::AddKey must return a boolean 2011-07-07 15:16:26 +02:00
Wladimir J. van der Laan
fbaee7a853 Export functionality for transaction list 2011-07-07 14:27:16 +02:00
Wladimir J. van der Laan
d52a0f3bca Rename "History" tab to more logical "Transactions", move "Number of transactions" from status bar to overview page 2011-07-07 10:59:00 +02:00
Wladimir J. van der Laan
fac047480d minor language/text updates 2011-07-07 10:43:04 +02:00
Wladimir J. van der Laan
e599246803 Improve view of generated transactions (show clock icon when still maturing) 2011-07-07 10:29:07 +02:00
Wladimir J. van der Laan
393adf7acd Address book: Disable "copy to clipboard" and "Delete" buttons when nothing selected 2011-07-06 21:52:23 +02:00
Wladimir J. van der Laan
8bca4099c7 Remove code for no longer existing edit button in address book dialog 2011-07-06 20:52:31 +02:00
Wladimir J. van der Laan
e1f3d64c4a Add "BTC" to all amount widgets, to make clear what the unit is 2011-07-06 20:41:13 +02:00
Wladimir J. van der Laan
64c8b69948 tab reorg phase 1: split main gui into "overview" and "history" 2011-07-05 22:09:39 +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
Wladimir J. van der Laan
825aa7d8d8 make balance selectable / copyable 2011-07-05 20:21:33 +02: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
Wladimir J. van der Laan
b8f174a5ce as there is no "default receiving address" in this GUI, don't autogenerate new addresses on receiving 2011-07-04 20:12:58 +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
Wladimir J. van der Laan
9dfb2d2814 add windows build instructions 2011-07-04 07:45:28 +02:00
Wladimir J. van der Laan
3913c387c9 Eliminate useless padding 2011-07-03 22:29:26 +02:00
Wladimir J. van der Laan
8fe2308b34 windows build fixes 2011-07-03 22:29:26 +02: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
Wladimir J. van der Laan
482e57812b move another setPlaceHolderText to 4.7+ only code 2011-07-03 08:24:07 +02:00
Wladimir J. van der Laan
21e47f8d04 remove libboostall-dev is not needed dependency 2011-07-03 07:51:20 +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
Wladimir J. van der Laan
ecde936aee remove "edit" button, document double-click behaviour to edit 2011-07-02 18:30:41 +02:00
Wladimir J. van der Laan
154e25ff60 ui improvements: allow inline editing of labels/addresses in address book table, better tab order in send dialog, set focus on sending address table when coming from send coins dialog 2011-07-02 17:31:27 +02:00
Wladimir J. van der Laan
c1ffa5b1c5 make tooltip equal to placeholder 2011-07-02 15:42:12 +02:00
Wladimir J. van der Laan
669b0a5835 Check addresses in address book for validity 2011-07-02 15:11:40 +02:00
Wladimir J. van der Laan
ebff5c40a2 Send: dialog redesign (automatically look up label for entered address) 2011-07-02 13:45:59 +02:00
Matt Corallo
013df1cc3b Give more detailed error messages for connection failure. 2011-07-02 13:25:18 +02:00
Wladimir J. van der Laan
05da981f05 update build instructions (thanks tschaboo) 2011-07-02 10:33:36 +02:00
Wladimir J. van der Laan
bb82fdb543 "Receive coins" instead of "Receiving addresses" 2011-07-02 10:13:29 +02:00
Wladimir J. van der Laan
f48b4c8897 Placeholder text can only be used for Qt 4.7+ 2011-07-02 09:21:16 +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
Wladimir J. van der Laan
e5b47b4328 Remove "default address" from main GUI screen, it only confuses people 2011-07-01 21:41:14 +02:00
Wladimir J. van der Laan
05bae43c3c Add "last month" filter 2011-07-01 20:28:11 +02:00
Eric Hosmer
f8b5028cd1 Updated Visual C++ makefile. 2011-07-01 12:58:48 -04:00
Wladimir J. van der Laan
b5384e93ed make amount column wider, so that more decimals fit in 2011-07-01 18:55:13 +02:00
Wladimir J. van der Laan
cdff41c12e cleanup unused constants 2011-07-01 18:31:10 +02:00
Matt Corallo
ce8f78a7bb Only use dnsseeds and static seeds when not on testnet. 2011-07-01 17:33:19 +02:00
Wladimir J. van der Laan
ab90d6e62a reverse address and label (suggestion by Danube) 2011-07-01 17:26:57 +02:00
Wladimir J. van der Laan
0052fe7bbc General cleanups 2011-07-01 17:06:36 +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
Wladimir J. van der Laan
c60015a260 Fix detailed transaction information on doubleclick 2011-06-30 21:34:00 +02:00
Wladimir J. van der Laan
64f125f353 Address book: show unlabeled addresses as (no label) 2011-06-30 21:29:20 +02:00
Wladimir J. van der Laan
8b040f812a fix sorting in address table dialog 2011-06-30 21:11:51 +02:00
Wladimir J. van der Laan
c16eb94945 add icons to address book dialog buttons 2011-06-30 20:20:46 +02:00
Wladimir J. van der Laan
d61b7d13e4 Add "receiving addresses" to toolbar 2011-06-30 19:43:44 +02:00
Wladimir J. van der Laan
d56c6f312c Make it very clear when on testnet (green icon, add [testnet] to title) 2011-06-30 19:14:42 +02:00
Wladimir J. van der Laan
ef079e183b Split off WalletModel from ClientModel, to be able to support multi-wallets in future 2011-06-30 18:05:29 +02:00
Wladimir J. van der Laan
929eb9dc6c show an error if amount is not valid (either the amount or decimals is empty) 2011-06-30 17:32:19 +02:00
Wladimir J. van der Laan
6ed283946c Make it more clear what the "New" button does 2011-06-30 17:22:03 +02:00
Wladimir J. van der Laan
ceb6d4e11d Implement filter row instead of tabs, allows for more expressive filters 2011-06-29 23:09:55 +02:00
Wladimir J. van der Laan
19a5975d5a add "BTC" to balance for clarity 2011-06-29 20:50:21 +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
Wladimir J. van der Laan
3cfe12c1b7 use 256x256 window icon, to prevent uglyness on OSes that show full-size icons for apps 2011-06-28 18:29:58 +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
Wladimir J. van der Laan
7aff3d5852 add icons to "New..." and "Copy to clipboard" buttons 2011-06-26 23:09:41 +02:00
Wladimir J. van der Laan
34fa178243 Change transaction table:
- Split "Description" column into "Type" and "Address", to make sorting easier (and facilitate filtering in the future)
- Merged "credit" and "debit" columns into one "amount" column that can be black (positive) or red (negative)
2011-06-26 22:47:02 +02: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
Wladimir J. van der Laan
e8ef3da713 update core to d0d80170a2 (CWallet class) 2011-06-26 19:23:24 +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
Wladimir J. van der Laan
d99f5a470c reduce spacing between "Add to address book as" and the text field 2011-06-26 12:01:25 +02: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
Wladimir J. van der Laan
cae5264a4c fix typo in dutch translation 2011-06-25 23:27:19 +02:00
Wladimir J. van der Laan
42e950aa69 update dutch translation 2011-06-25 23:20:42 +02:00
Wladimir J. van der Laan
0030c1bd6c compile fixes by Unthinkingbit 2011-06-25 23:14:10 +02:00
Wladimir J. van der Laan
a404b1512a Improve look/usablity of send coins dialog 2011-06-25 22:57:24 +02:00
Wladimir J. van der Laan
38deedc1b5 allow adding address to address book in send dialog 2011-06-25 19:32:36 +02:00
Wladimir J. van der Laan
c88e14fe26 Call "initial download" "synchronizing with network" instead 2011-06-25 12:39:08 +02:00
Wladimir J. van der Laan
40951d81a7 finish nl translation 2011-06-24 21:45:33 +02:00
Wladimir J. van der Laan
6665c2431b use buttonbox for options dialog 2011-06-24 21:23:43 +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
Wladimir J. van der Laan
daaee738fc experiment with internationalization (nl), unbreak build (externui.h->qtui.h) 2011-06-23 22:35:55 +02:00
Wladimir J. van der Laan
47c6215c22 use #ifdef QT_UI to distinguish Qt UI instead of hardcoded #if 0 2011-06-22 20:11:35 +02:00
Wladimir J. van der Laan
5f280ff557 clarify text 2011-06-21 20:39:37 +02:00
Wladimir J. van der Laan
b9e80983a5 Allow changing default address (fixes issue #6) 2011-06-21 20:36:03 +02:00
Wladimir J. van der Laan
f5927f5b32 highlight default address 2011-06-21 19:54:09 +02:00
Wladimir J. van der Laan
c92fc340a2 when going to decimals field using ./, select it all, so that entry starts from scratch instead of appending to previous value 2011-06-21 19:14:35 +02:00
Wladimir J. van der Laan
50d08dc1e1 fix issue #7 2011-06-21 15:33:10 +02:00
Wladimir J. van der Laan
54e903a543 Add comment to tooltip that only sending addresses can be deleted 2011-06-21 07:56:44 +02:00
Wladimir J. van der Laan
84114e341d Fix some padding and focus issues with the new BitcoinAmountWidget 2011-06-21 07:36:49 +02:00
Wladimir J. van der Laan
f193c57a63 introduce bitcoin amount field with split amount/decimals, to protect against mistakes (https://forum.bitcoin.org/index.php?topic=19168.0) 2011-06-20 21:34:43 +02:00
Wladimir J. van der Laan
18b99e3f69 number of confirmations is no longer magic value 2011-06-20 21:34:31 +02: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
Wladimir J. van der Laan
679592720a Merge pull request #5 from mjmvisser/master
mac fixes
2011-06-20 08:17:31 -07:00
mark
3c7ebaedcd fixes for mac build 2011-06-20 07:30:54 -04: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
0f9ee792d9 initial block download spans total blocks minus threshold 2011-06-19 00:15:28 +02:00
Wladimir J. van der Laan
eade213197 add GetTotalBlocksEstimate() function, move magic number to constant 2011-06-19 00:12:02 +02:00
Wladimir J. van der Laan
6cab66354d On initial block chain download, show a progress bar 2011-06-18 21:25:38 +02:00
Wladimir J. van der Laan
0eeb4f5d5b update bitcoin core from git (eeac8727bc) 2011-06-18 18:46:01 +02:00
Wladimir J. van der Laan
245ab4d0ac add configure and receive icon 2011-06-18 17:26:31 +02:00
Matt Corallo
4acfe655d5 Update translations and remove obsolete translations. 2011-06-18 15:56:12 +01:00
Wladimir J. van der Laan
45c4a0b354 Use explicit resource initialization, apparently needed on some platforms 2011-06-18 14:25:46 +02:00
Wladimir J. van der Laan
7df70c000a Prevent notification balloon-spam on initial block download, const-correctness in client model 2011-06-18 13:13:48 +02:00
Wladimir J. van der Laan
0f3981bea9 remove commented code, use // for one-line comments and comments inside functions 2011-06-18 11:53:25 +02:00
Wladimir J. van der Laan
aa52972660 fix issue #3 (dark theme compat) 2011-06-17 22:44:15 +02:00
Wladimir J. van der Laan
e4347a43b9 add license for md2k7's icons 2011-06-17 20:35:22 +02:00
Wladimir J. van der Laan
553af2f702 remove unused icons 2011-06-17 18:43:08 +02:00
Wladimir J. van der Laan
e61cfaf5c1 add svg sources for icons 2011-06-17 18:25:29 +02:00
Wladimir J. van der Laan
89c94b5578 better icons for confirmations 2011-06-17 17:47:40 +02:00
Jeff Garzik
eeac8727bc doc/release-process.txt: minor updates 2011-06-16 17:52:38 -04:00
Wladimir J. van der Laan
8c69f1fb25 show connection meter "full" only at 10+ connections 2011-06-16 09:10:05 +02:00
Wladimir J. van der Laan
aec8763a8e add attribution for icons 2011-06-15 21:06:51 +02:00
Wladimir J. van der Laan
58557b5aff transaction status icons 2011-06-15 21:03:17 +02:00
Wladimir J. van der Laan
cf450e1b4c icons test 2011-06-15 20:07:21 +02: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
Wladimir J. van der Laan
b1ef1b24ce add connection meter 2011-06-14 21:34:51 +02:00
Wladimir J. van der Laan
a790ec5884 Make status column narrow (icon only, details on tooltip) 2011-06-14 21:06:00 +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
Wladimir J. van der Laan
5363cb05f6 Add berkelydb version warning 2011-06-14 08:18:31 +02:00
Wladimir J. van der Laan
f15df6bb7a link to -lcrypto as well 2011-06-13 21:40:07 +02:00
Wladimir J. van der Laan
6315130e60 Internationalization -- conversion of strings from bitcoin core 2011-06-13 19:29:35 +02:00
Wladimir J. van der Laan
39cf857db9 Internationalization -- initial step, make _ return a std::string to prevent memory leaks 2011-06-13 16:56:37 +02:00
Wladimir J. van der Laan
e83474f2eb Address book: select action (edit/select) based on context 2011-06-13 12:07:32 +02:00
Wladimir J. van der Laan
249300aebe Status column reorganization 2011-06-13 09:05:48 +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
Wladimir J. van der Laan
92ab03afc8 new icons -- test 2011-06-12 19:22:06 +02:00
Wladimir J. van der Laan
d066e25744 replace icons 2011-06-12 18:53:02 +02:00
Wladimir J. van der Laan
3ac5aa4a95 add svg version of icon, so that it can be scaled to bigger sizes later 2011-06-12 14:37:14 +02:00
Wladimir J. van der Laan
ab2fe68fd8 prepare internationalization; rename project to bitcoin-qt 2011-06-12 14:32:36 +02:00
Wladimir J. van der Laan
18cf214528 update bitcoin core to git ce148944c7 2011-06-12 12:27:01 +02:00
Wladimir J. van der Laan
0424613ba2 add the bitcoin (MIT?) license 2011-06-12 11:27:15 +02:00
Wladimir J. van der Laan
c428d9e76a remove wallet updating debug output 2011-06-12 11:22:44 +02:00
Wladimir J. van der Laan
37f793c631 use stylized icon by bitboy 2011-06-12 11:16:08 +02: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
Wladimir J. van der Laan
0304f4a759 add build instructions to doc 2011-06-11 23:13:29 +02:00
Wladimir J. van der Laan
ba4081c1fc move back to original directory structure 2011-06-11 22:11:58 +02:00
Jeff Garzik
e051f1b510 Merge pull request #312 from codler/patch-1
Remove unused variable
2011-06-11 09:58:02 -07:00
Wladimir J. van der Laan
5813089e0b Somewhat confident now, tested on GNOME+KDE, with all types of transactions. Next step is integration into bitcoin tree. 2011-06-11 13:33:59 +02:00
Wladimir J. van der Laan
5e1feddcb6 Add tooltips, make "amount" entry consistent in Options dialog 2011-06-11 12:46:09 +02: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
Wladimir J. van der Laan
4181184acf Merge branch 'master' of github.com:laanwj/bitcoin-qt 2011-06-10 22:39:47 +02:00
Wladimir J. van der Laan
725d460e4b show notification balloon on incoming transaction 2011-06-10 21:59:29 +02:00
Wladimir J. van der Laan
a777f7b9b5 show transaction details on doubleclick 2011-06-10 20:49:50 +02:00
Wladimir J. van der Laan
c30075142f address book edit: edit the right row 2011-06-10 20:06:59 +02:00
Wladimir J. van der Laan
5b0dc80bf7 use real copyright sign in about dialog 2011-06-10 16:16:43 +02:00
Wladimir J. van der Laan
66d536ed07 transaction details dialog on doubleclick 2011-06-10 15:05:51 +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
Wladimir J. van der Laan
8e86dca256 consistent bracing style 2011-06-07 18:59:01 +02: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
Wladimir J. van der Laan
6717457390 align "amount" input in send coins dialog to the right 2011-06-05 21:40:28 +02:00
Jeff Garzik
352b4ea5b9 Reduce minimum TX fee for new transactions, to 0.0005. 2011-06-05 14:28:14 -04:00
Wladimir J. van der Laan
822f2e3ddf update to newest git bitcoin core 2011-06-05 20:25:56 +02:00
Wladimir J. van der Laan
b7726d924e ask fee 2011-06-05 17:36:52 +02: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
Wladimir J. van der Laan
00b8acdf49 fix 2011-06-05 16:24:23 +02:00
Wladimir J. van der Laan
9e0576587b Merge branch 'master' of ssh://amethyst/home/orion/projects2/bitcoin/bitcoin-qt 2011-06-05 16:11:44 +02:00
Wladimir J. van der Laan
467c31ea0a show messages from core/net thread 2011-06-05 16:03:29 +02:00
Wladimir J. van der Laan
352083cb23 Implement Minimize to tray / Minimize on close 2011-06-05 14:19:57 +02:00
Wladimir J. van der Laan
cddc003e70 Disable map upnp option if built without USE_UPNP 2011-06-05 12:43:18 +02:00
Wladimir J. van der Laan
e29b623db3 save changed options in database 2011-06-05 11:45:42 +02:00
Wladimir J. van der Laan
4663e339b8 show actual version nr in about dialog 2011-06-05 11:15:40 +02:00
Wladimir J. van der Laan
afacb3406d comment update 2011-06-05 11:15:40 +02:00
Wladimir J. van der Laan
a4b4cc290c comment update 2011-06-05 11:04:14 +02:00
Wladimir J. van der Laan
75ff9d841b update most importent TODOs in readme 2011-06-04 22:02:30 +02:00
Wladimir J. van der Laan
b9e41844c0 fix "send to" address book 2011-06-04 21:54:49 +02:00
Wladimir J. van der Laan
64bca50d54 update transaction status as new blocks come in 2011-06-04 21:41:31 +02:00
Wladimir J. van der Laan
2547f1f7e5 create new address from main gui, move address book model to client model 2011-06-03 21:18:05 +02:00
Wladimir J. van der Laan
9d9a4e874d support incremental wallet updates 2011-06-03 20:48:03 +02:00
Nils Schneider
ca81b168d9 create keypool in LoadWallet() 2011-06-03 18:04:41 +02:00
Wladimir J. van der Laan
48208883de Finish implementation of address book 2011-06-03 15:16:11 +02:00
Wladimir J. van der Laan
dab03e34f5 Make base58 validator explicit 2011-06-03 13:05:34 +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
Wladimir J. van der Laan
44384a4602 edit address dialog: basic data/widget binding 2011-06-02 17:56:51 +02:00
Wladimir J. van der Laan
5c94371f9a resolve dependency issues 2011-06-02 17:37:03 +02: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
Wladimir J. van der Laan
e457b02142 namespacing, user friendly base58 entry, addressbook work 2011-06-02 15:57:23 +02:00
Wladimir J. van der Laan
ef1b844e7b monospace font for bitcoin addresses 2011-06-01 20:08:21 +02:00
Wladimir J. van der Laan
df6dfb4ab8 readme fix 2011-06-01 18:24:22 +02:00
Wladimir J. van der Laan
9357dcf68e update readme 2011-06-01 17:42:31 +02:00
Wladimir J. van der Laan
9aef9bca3d define PAIR_TYPE as std::pair 2011-06-01 17:15:43 +02:00
Wladimir J. van der Laan
f96681c5e4 beginning of address model 2011-06-01 17:15:43 +02:00
Wladimir J. van der Laan
c51f051257 Add addresses that we've sent to to the address book 2011-06-01 17:15:43 +02:00
Wladimir J. van der Laan
5d5990dc8f Impl->Priv 2011-06-01 17:15:42 +02:00
Wladimir J. van der Laan
c3e0734dbc implement options model / improve view with validators 2011-06-01 17:15:42 +02:00
Wladimir J. van der Laan
c6dd35f03d Apply button 2011-06-01 17:15:42 +02:00
Wladimir J. van der Laan
968d55aafa move getTransactionFee to OptionsModel 2011-06-01 09:34:12 +02:00
Wladimir J. van der Laan
92f20d53fb implement options model, show current options in options dialog 2011-05-31 22:24:53 +02:00
Wladimir J. van der Laan
6630c1cbf5 sending support 2011-05-30 20:20:12 +02:00
Wladimir J. van der Laan
1d7e321c10 mark specific warnings to disable for the cases where bitcoin core "sins" 2011-05-29 21:39:49 +02:00
Wladimir J. van der Laan
8c937da5f2 "Receive with" i.s.o. "Receive from" address 2011-05-28 22:31:27 +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
Wladimir J. van der Laan
63760fa1cd auto-update transaction list 2011-05-28 20:32:19 +02:00
Pieter Wuille
12a1256c1d bugfix: accept free transactions 2011-05-28 16:43:49 +02:00
Wladimir J. van der Laan
f6c18bc9ed documentation, small fixes 2011-05-28 16:09:23 +02:00
Wladimir J. van der Laan
3e1ea1c025 Generated transactions are 'other', and only show up in All tab 2011-05-27 22:09:22 +02:00
Wladimir J. van der Laan
e923f8188d extend generation descriptions 2011-05-27 22:06:30 +02:00
Wladimir J. van der Laan
0eba00447e use real ParseMoney function to parse input to Send dialog 2011-05-27 21:43:05 +02:00
Wladimir J. van der Laan
dd8e82f797 fix balance display, display number of transactions 2011-05-27 21:24:17 +02:00
Wladimir J. van der Laan
f79efbab6f look up addresses in address book 2011-05-27 20:36:58 +02:00
Wladimir J. van der Laan
f488e7358d transaction color based on confirmed/not confirmed, basic transaction model impl 2011-05-27 19:48:42 +02:00
Wladimir J. van der Laan
0856c1a03e work on transaction list model 2011-05-27 18:38:30 +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
Wladimir J. van der Laan
213f763630 bind transactionmodel 2011-05-27 08:20:23 +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
Wladimir J. van der Laan
8968bf2e36 use user roles instead of hidden columns for model sort/filter keys 2011-05-22 19:32:37 +02:00
Wladimir J. van der Laan
858ff187f5 don't start in server mode 2011-05-22 19:32:18 +02:00
Wladimir J. van der Laan
18cab09a95 core initialisation, client model binding 2011-05-22 17:19:43 +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
Wladimir van der Laan
ad88e7626b go on testnet for now 2011-05-22 14:54:13 +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
Wladimir J. van der Laan
29bbcab6b4 update build system for macosx 2011-05-16 08:14:04 +02: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
Wladimir J. van der Laan
b90626021b add readme file 2011-05-15 20:17:19 +02:00
Wladimir J. van der Laan
fb7e2901b7 remove debug stuff for implemented methods 2011-05-15 19:39:21 +02:00
Wladimir J. van der Laan
992ff49b43 make send coins dialog more user friendly (better checking) 2011-05-15 19:31:20 +02: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
85663f2c18 update to bitcoin-git 2011-05-15 16:50:28 +02:00
Wladimir J. van der Laan
223b6f1ba4 make bitcoin include files more modular 2011-05-15 12:04:20 +02:00
Wladimir J. van der Laan
6a8062a30d todo update 2011-05-15 08:32:30 +02:00
Wladimir J. van der Laan
69d605f410 integration of core bitcoin 2011-05-14 20:10:21 +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
Wladimir J. van der Laan
2097c09a9b integrate a few extra .h files 2011-05-14 17:25:05 +02:00
Wladimir J. van der Laan
c24d047b9c core is a more appropriate name for the bitcoin library 2011-05-14 11:25:37 +02:00
Wladimir J. van der Laan
6644d98d9e integration phase 2011-05-14 11:18:39 +02:00
Wladimir J. van der Laan
1f2e0df865 begin integration with bitcoin upstream 2011-05-14 10:31:46 +02:00
mewantsbitcoins
95f5b36772 Add Lithuanian translation. 2011-05-14 01:07:22 +02:00
Wladimir J. van der Laan
4d1bb15e31 more improvements 2011-05-13 22:00:27 +02:00
Wladimir J. van der Laan
b8e302eb53 improve address book, add less conspicious toolbar icon 2011-05-13 15:58:27 +02:00
Wladimir J. van der Laan
871f9979c6 make address settable from outside 2011-05-13 08:30:20 +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
Wladimir J. van der Laan
1a6d504a38 make balance/blocks/connections/transactions settable through slots 2011-05-12 20:28:07 +02:00
Wladimir J. van der Laan
3f323a61fe clipboard handling 2011-05-12 20:16:42 +02:00
Wladimir J. van der Laan
d5da2f7b37 rename UI controls 2011-05-12 18:27:20 +02:00
Wladimir J. van der Laan
3a7abc2c77 update 2011-05-12 17:55:24 +02:00
Wladimir J. van der Laan
0fd01780e9 lowercase 2011-05-12 14:49:42 +02:00
Wladimir J. van der Laan
df577886e4 rename to qt standard 2011-05-12 14:44:52 +02:00
Wladimir J. van der Laan
8812ce7b27 add options dialog, spawn dialogs at the right place 2011-05-12 09:40:40 +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
Wladimir J. van der Laan
af94377667 implement filtering, action listeners 2011-05-10 19:03:10 +02:00
Wladimir J. van der Laan
0522725754 ignore generated resource file 2011-05-10 13:33:48 +02:00
Wladimir J. van der Laan
de11d82856 update model 2011-05-10 13:32:56 +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
Wladimir J. van der Laan
94ccfa8c5d new resource location 2011-05-09 20:45:22 +02:00
Wladimir J. van der Laan
053980bb19 moved files 2011-05-09 20:45:09 +02:00
Wladimir J. van der Laan
13740b7ed1 Use resource system 2011-05-09 20:44:46 +02: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
Wladimir J. van der Laan
1355cfe131 add all (unpopulated) dialogs 2011-05-08 22:23:31 +02:00
Wladimir J. van der Laan
4d27c96033 update 2011-05-08 16:30:10 +02:00
Wladimir J. van der Laan
f79405b5e1 restore orig send image 2011-05-07 22:18:24 +02:00
Wladimir J. van der Laan
aaa1c3c400 initial commit 2011-05-07 22:13:39 +02: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
--author=Satoshi Nakamoto
a75560d828 reverted makefile.unix wx-config -- version 0.3.6 2010-07-30 17:36:06 +00:00
--author=Satoshi Nakamoto
ec82517c89 Fredrik Roubert: simplified makefile.unix with wx-config, misc 2010-07-30 17:35:17 +00:00
--author=Satoshi Nakamoto
31ffe954b6 fixed makefile.osx 2010-07-30 17:31:39 +00:00
--author=Satoshi Nakamoto
872d60f6e4 fixed makefile.vc 2010-07-30 17:31:05 +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
--author=Satoshi Nakamoto
2689f4d02b better IsInitialBlockDownload 2010-07-27 20:46:41 +00:00
--author=Satoshi Nakamoto
3dd20ff2f8 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 2010-07-27 20:43:55 +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
--author=Satoshi Nakamoto
9f35575ca3 tcatm's cached SHA256 state idea, about 70% faster generating 2010-07-27 14:21:02 +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
Satoshi Nakamoto
b6dc3b517b bitcoind now compiles without wxWidgets or wxBase 2010-07-26 17:44:51 +00:00
Gavin Andresen
f0c11b1917 Gavin: BIO_FLAGS_BASE64_NO_NL 2010-07-26 17:41:47 +00:00
Satoshi Nakamoto
40cd036941 Gavin Andresen's JSON-RPC HTTP authentication,
faster initial block download
-- version 0.3.3
2010-07-26 17:40:05 +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
Gavin Andresen
fe98cf8dc5 Configuration file, HTTP Basic authentication 2010-07-23 13:58:39 +00:00
Gavin Andresen
e96cd730d1 json-rpc password, minor UI tweaks, removed some outdated txt files 2010-07-19 01:18:46 +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
345 changed files with 67861 additions and 29218 deletions

21
.gitignore vendored Normal file
View File

@@ -0,0 +1,21 @@
src/*.exe
src/bitcoin
src/bitcoind
.*.swp
*.*~*
*.bak
*.rej
*.orig
*.o
*.patch
.bitcoin
#compilation and Qt preprocessor part
*.qm
Makefile
bitcoin-qt
#resources cpp
qrc_*.cpp
#qt creator
*.pro.user
#mac specific
.DS_Store

View File

@@ -1,4 +1,4 @@
Copyright (c) 2009-2010 Satoshi Nakamoto
Copyright (c) 2009-2012 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

9
INSTALL Normal file
View File

@@ -0,0 +1,9 @@
Building Bitcoin
See doc/readme-qt.rst for instructions on building Bitcoin QT,
the intended-for-end-users, nice-graphical-interface, reference
implementation of Bitcoin.
See doc/build-*.txt for instructions on building bitcoind,
the intended-for-services, no-graphical-interface, reference
implementation of Bitcoin.

1
README Symbolic link
View File

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

42
README.md Normal file
View File

@@ -0,0 +1,42 @@
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.
From time to time a pull request will become outdated. If this occurs, and
the pull is no longer automatically mergeable; a comment on the pull will
be used to issue a warning of closure. The pull will be closed 15 days
after the warning if action is not taken by the author. Pull requests closed
in this manner will have their corresponding issue labeled 'stagnant'.
Issues with no commits will be given a similar warning, and closed after
15 days from their last activity. Issues closed in this manner will be
labeled 'stale'.
Requests to reopen closed pull requests and/or issues can be submitted to
QA@BitcoinTesting.org.

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));
}

280
bitcoin-qt.pro Normal file
View File

@@ -0,0 +1,280 @@
TEMPLATE = app
TARGET =
VERSION = 0.5.3
INCLUDEPATH += src src/json src/qt
DEFINES += QT_GUI BOOST_THREAD_USE_LIB
CONFIG += no_include_pwd
# for boost 1.37, add -mt to the boost libraries
# use: qmake BOOST_LIB_SUFFIX=-mt
# for boost thread win32 with _win32 sufix
# use: BOOST_THREAD_LIB_SUFFIX=_win32-...
# or when linking against a specific BerkelyDB version: BDB_LIB_SUFFIX=-4.8
# Dependency library locations can be customized with BOOST_INCLUDE_PATH,
# BOOST_LIB_PATH, BDB_INCLUDE_PATH, BDB_LIB_PATH
# OPENSSL_INCLUDE_PATH and OPENSSL_LIB_PATH respectively
OBJECTS_DIR = build
MOC_DIR = build
UI_DIR = build
# use: qmake "RELEASE=1"
contains(RELEASE, 1) {
# Mac: compile for maximum compatibility (10.5, 32-bit)
macx:QMAKE_CXXFLAGS += -mmacosx-version-min=10.5 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk
!windows:!macx {
# Linux: static link
LIBS += -Wl,-Bstatic
}
}
# use: qmake "USE_UPNP=1" ( enabled by default; default)
# or: qmake "USE_UPNP=0" (disabled by default)
# or: qmake "USE_UPNP=-" (not supported)
# miniupnpc (http://miniupnp.free.fr/files/) must be installed for support
contains(USE_UPNP, -) {
message(Building without UPNP support)
} else {
message(Building with UPNP support)
count(USE_UPNP, 0) {
USE_UPNP=1
}
DEFINES += USE_UPNP=$$USE_UPNP STATICLIB
INCLUDEPATH += $$MINIUPNPC_INCLUDE_PATH
LIBS += $$join(MINIUPNPC_LIB_PATH,,-L,) -lminiupnpc
win32:LIBS += -liphlpapi
}
# use: qmake "USE_DBUS=1"
contains(USE_DBUS, 1) {
message(Building with DBUS (Freedesktop notifications) support)
DEFINES += USE_DBUS
QT += dbus
}
# use: qmake "USE_SSL=1"
contains(USE_SSL, 1) {
message(Building with SSL support for RPC)
DEFINES += USE_SSL
}
contains(BITCOIN_NEED_QT_PLUGINS, 1) {
DEFINES += BITCOIN_NEED_QT_PLUGINS
QTPLUGIN += qcncodecs qjpcodecs qtwcodecs qkrcodecs qtaccessiblewidgets
}
!windows {
# for extra security against potential buffer overflows
QMAKE_CXXFLAGS += -fstack-protector
QMAKE_LFLAGS += -fstack-protector
# do not enable this on windows, as it will result in a non-working executable!
}
# disable quite some warnings because bitcoin core "sins" a lot
QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wno-strict-aliasing -Wno-invalid-offsetof -Wno-unused-variable -Wno-unused-parameter -Wno-sign-compare -Wno-char-subscripts -Wno-unused-value -Wno-sequence-point -Wno-parentheses -Wno-unknown-pragmas -Wno-switch
# Input
DEPENDPATH += src/qt src src json/include
HEADERS += src/qt/bitcoingui.h \
src/qt/transactiontablemodel.h \
src/qt/addresstablemodel.h \
src/qt/optionsdialog.h \
src/qt/sendcoinsdialog.h \
src/qt/addressbookpage.h \
src/qt/aboutdialog.h \
src/qt/editaddressdialog.h \
src/qt/bitcoinaddressvalidator.h \
src/base58.h \
src/bignum.h \
src/checkpoints.h \
src/util.h \
src/uint256.h \
src/serialize.h \
src/strlcpy.h \
src/main.h \
src/net.h \
src/key.h \
src/db.h \
src/script.h \
src/noui.h \
src/init.h \
src/headers.h \
src/irc.h \
src/json/json_spirit_writer_template.h \
src/json/json_spirit_writer.h \
src/json/json_spirit_value.h \
src/json/json_spirit_utils.h \
src/json/json_spirit_stream_reader.h \
src/json/json_spirit_reader_template.h \
src/json/json_spirit_reader.h \
src/json/json_spirit_error_position.h \
src/json/json_spirit.h \
src/qt/clientmodel.h \
src/qt/guiutil.h \
src/qt/transactionrecord.h \
src/qt/guiconstants.h \
src/qt/optionsmodel.h \
src/qt/monitoreddatamapper.h \
src/qtui.h \
src/qt/transactiondesc.h \
src/qt/transactiondescdialog.h \
src/qt/bitcoinamountfield.h \
src/wallet.h \
src/keystore.h \
src/qt/transactionfilterproxy.h \
src/qt/transactionview.h \
src/qt/walletmodel.h \
src/bitcoinrpc.h \
src/qt/overviewpage.h \
src/qt/csvmodelwriter.h \
src/crypter.h \
src/qt/sendcoinsentry.h \
src/qt/qvalidatedlineedit.h \
src/qt/bitcoinunits.h \
src/qt/qvaluecombobox.h \
src/qt/askpassphrasedialog.h \
src/protocol.h \
src/qt/notificator.h
SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \
src/qt/transactiontablemodel.cpp \
src/qt/addresstablemodel.cpp \
src/qt/optionsdialog.cpp \
src/qt/sendcoinsdialog.cpp \
src/qt/addressbookpage.cpp \
src/qt/aboutdialog.cpp \
src/qt/editaddressdialog.cpp \
src/qt/bitcoinaddressvalidator.cpp \
src/util.cpp \
src/script.cpp \
src/main.cpp \
src/init.cpp \
src/net.cpp \
src/irc.cpp \
src/checkpoints.cpp \
src/db.cpp \
src/json/json_spirit_writer.cpp \
src/json/json_spirit_value.cpp \
src/json/json_spirit_reader.cpp \
src/qt/clientmodel.cpp \
src/qt/guiutil.cpp \
src/qt/transactionrecord.cpp \
src/qt/optionsmodel.cpp \
src/qt/monitoreddatamapper.cpp \
src/qt/transactiondesc.cpp \
src/qt/transactiondescdialog.cpp \
src/qt/bitcoinstrings.cpp \
src/qt/bitcoinamountfield.cpp \
src/wallet.cpp \
src/keystore.cpp \
src/qt/transactionfilterproxy.cpp \
src/qt/transactionview.cpp \
src/qt/walletmodel.cpp \
src/bitcoinrpc.cpp \
src/qt/overviewpage.cpp \
src/qt/csvmodelwriter.cpp \
src/crypter.cpp \
src/qt/sendcoinsentry.cpp \
src/qt/qvalidatedlineedit.cpp \
src/qt/bitcoinunits.cpp \
src/qt/qvaluecombobox.cpp \
src/qt/askpassphrasedialog.cpp \
src/protocol.cpp \
src/qt/notificator.cpp
RESOURCES += \
src/qt/bitcoin.qrc
FORMS += \
src/qt/forms/sendcoinsdialog.ui \
src/qt/forms/addressbookpage.ui \
src/qt/forms/aboutdialog.ui \
src/qt/forms/editaddressdialog.ui \
src/qt/forms/transactiondescdialog.ui \
src/qt/forms/overviewpage.ui \
src/qt/forms/sendcoinsentry.ui \
src/qt/forms/askpassphrasedialog.ui
CODECFORTR = UTF-8
# for lrelease/lupdate
# also add new translations to src/qt/bitcoin.qrc under translations/
TRANSLATIONS = $$files(src/qt/locale/bitcoin_*.ts)
isEmpty(QMAKE_LRELEASE) {
win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe
else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
}
isEmpty(TS_DIR):TS_DIR = src/qt/locale
# automatically build translations, so they can be included in resource file
TSQM.name = lrelease ${QMAKE_FILE_IN}
TSQM.input = TRANSLATIONS
TSQM.output = $$TS_DIR/${QMAKE_FILE_BASE}.qm
TSQM.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN}
TSQM.CONFIG = no_link
QMAKE_EXTRA_COMPILERS += TSQM
PRE_TARGETDEPS += compiler_TSQM_make_all
# "Other files" to show in Qt Creator
OTHER_FILES += \
doc/*.rst doc/*.txt doc/README README.md
# platform specific defaults, if not overridden on command line
isEmpty(BOOST_LIB_SUFFIX) {
macx:BOOST_LIB_SUFFIX = -mt
windows:BOOST_LIB_SUFFIX = -mgw44-mt-1_43
}
isEmpty(BOOST_THREAD_LIB_SUFFIX) {
BOOST_THREAD_LIB_SUFFIX = $$BOOST_LIB_SUFFIX
}
isEmpty(BDB_LIB_PATH) {
macx:BDB_LIB_PATH = /opt/local/lib/db48
}
isEmpty(BDB_LIB_SUFFIX) {
macx:BDB_LIB_SUFFIX = -4.8
}
isEmpty(BDB_INCLUDE_PATH) {
macx:BDB_INCLUDE_PATH = /opt/local/include/db48
}
isEmpty(BOOST_LIB_PATH) {
macx:BOOST_LIB_PATH = /opt/local/lib
}
isEmpty(BOOST_INCLUDE_PATH) {
macx:BOOST_INCLUDE_PATH = /opt/local/include
}
windows:LIBS += -lws2_32
windows:DEFINES += WIN32
windows:RC_FILE = src/qt/res/bitcoin-qt.rc
macx:HEADERS += src/qt/macdockiconhandler.h
macx:OBJECTIVE_SOURCES += src/qt/macdockiconhandler.mm
macx:LIBS += -framework Foundation -framework ApplicationServices -framework AppKit
macx:DEFINES += MAC_OSX MSG_NOSIGNAL=0
macx:ICON = src/qt/res/icons/bitcoin.icns
macx:TARGET = "Bitcoin-Qt"
# Set libraries and includes at end, to use platform-defined defaults if not overridden
INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH
LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,)
LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX
# -lgdi32 has to happen after -lcrypto (see #681)
windows:LIBS += -lgdi32
LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread$$BOOST_THREAD_LIB_SUFFIX
contains(RELEASE, 1) {
!windows:!macx {
# Linux: turn dynamic linking back on for c/c++ runtime libraries
LIBS += -Wl,-Bdynamic
}
}
system($$QMAKE_LRELEASE -silent $$_PRO_FILE_)

View File

@@ -1,2 +0,0 @@
Known bugs:
- Window flickers when blocks are added (problem with repainting?)

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

@@ -1,217 +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).
Mac OS X build instructions
Laszlo Hanyecz (solar@heliacal.net)
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
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/deps # dependencies.. like libraries and headers needed to compile
~/bitcoin/Bitcoin.app # the application bundle where you can run the app
Just execute: mkdir ~/bitcoin
This will create the top dir for you..
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:
cd ~/bitcoin
svn checkout https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk
This will make ~/bitcoin/trunk for you with all the files from subversion.
3. Get and build the dependencies
Boost
-----
Download from http://www.boost.org/users/download/
I'm assuming it ended up in ~/Downloads..
mkdir ~/bitcoin/deps
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
This part takes a while.. use your judgement and fix it if something doesn't
build for some reason.
Change the prefix to whatever your directory is (my username in this example
is macosuser). I'm also running on 10.6 so i have macosx-version=10.6 change
to 10.5 if you're using leopard.
This is what my output looked like at the end:
...failed updating 2 targets...
...skipped 144 targets...
...updated 8074 targets...
OpenSSL
-------
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
2 times and join it together here.. If you downloaded with safari it already
uncompressed it so it will just be a tar not a tar.gz
cd ~/bitcoin/deps
tar xvf ~/Downloads/openssl-1.0.0.tar
mv openssl-1.0.0 openssl-1.0.0-i386
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
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
cd ..
# combine the libs
cd ~/bitcoin/deps
lipo -arch i386 openssl-1.0.0-i386/libcrypto.a -arch x86_64 openssl-1.0.0-x86_64/libcrypto.a -o lib/libcrypto.a -create
lipo -arch i386 openssl-1.0.0-i386/libssl.a -arch x86_64 openssl-1.0.0-x86_64/libssl.a -o lib/libssl.a -create
Verify your binaries
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
Berkeley DB
-----------
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
../dist/configure --prefix=/Users/macosuser/bitcoin/deps --enable-cxx && make && make install
wxWidgets
---------
This is the big one..
Check it out from svn
cd ~/bitcoin/deps
svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk wxWidgets-trunk
This will make a wxWidgets-trunk directory in deps.
Use this script snippet, change your prefix to whatever your dir is:
PREFIX=~/bitcoin/deps
SRCDIR="$PREFIX/wxWidgets-trunk"
BUILDDIR="$SRCDIR/macbuild"
cd "$PREFIX" &&
#svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/trunk wxWidgets-trunk &&
cd "$SRCDIR" &&
[ -f include/wx/hashmap.h.orig ] || cp include/wx/hashmap.h include/wx/hashmap.h.orig &&
sed 's/if wxUSE_STL/if 0 \&\& wxUSE_STL/g' < include/wx/hashmap.h.orig > include/wx/hashmap.h &&
[ -f include/wx/hashset.h.orig ] || cp include/wx/hashset.h include/wx/hashset.h.orig &&
sed 's/if wxUSE_STL/if 0 \&\& wxUSE_STL/g' < include/wx/hashset.h.orig > include/wx/hashset.h &&
rm -vrf "$BUILDDIR" &&
mkdir "$BUILDDIR" &&
cd "$BUILDDIR" &&
../configure --prefix="$PREFIX" \
--with-osx_cocoa \
--disable-shared \
--disable-debug_flag \
--with-macosx-version-min=10.5 \
--enable-stl \
--enable-utf8 \
--enable-universal_binary \
--with-libjpeg=builtin \
--with-libpng=builtin \
--with-regex=builtin \
--with-libtiff=builtin \
--with-zlib=builtin \
--with-expat=builtin \
--with-macosx-sdk=/Developer/SDKs/MacOSX10.5.sdk &&
find . -name Makefile |
while read i; do
echo $i;
sed 's/-arch i386/-arch i386 -arch x86_64/g' < "$i" > "$i".new &&
mv "$i" "$i".old &&
mv "$i".new "$i";
done
make &&
make install
Now you should be able to build bitcoin
cd ~/bitcoin/trunk
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
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

View File

@@ -1,83 +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).
UNIX BUILD NOTES
================
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
We're now using wxWidgets 2.9, which uses UTF-8.
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.
You need to download wxWidgets from http://www.wxwidgets.org/downloads/
and build it yourself. See the build instructions and configure parameters
below.
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
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
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" to strip the debug
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
mkdir buildgtk
cd buildgtk
../configure --with-gtk --enable-debug --disable-shared --enable-monolithic
make
sudo su
make install
ldconfig
su <username>
cd ..
mkdir buildbase
cd buildbase
../configure --disable-gui --enable-debug --disable-shared --enable-monolithic
make
sudo su
make install
ldconfig
Boost
-----
If you want to build Boost yourself,
cd /usr/local/boost_1_40_0
su
./bootstrap.sh
./bjam install

View File

@@ -1,7 +0,0 @@
Changes after 0.1.5:
--------------------
+ Options dialog layout changed - added the UI options panel
+ Minimize to tray feature
+ Startup on system boot feature
+ Ask before closing
+ NSIS installer

324
contrib/bitrpc/bitrpc.py Normal file
View File

@@ -0,0 +1,324 @@
from jsonrpc import ServiceProxy
import sys
import string
# ===== BEGIN USER SETTINGS =====
# if you do not set these you will be prompted for a password for every command
rpcuser = ""
rpcpass = ""
# ====== END USER SETTINGS ======
if rpcpass == "":
access = ServiceProxy("http://127.0.0.1:8332")
else:
access = ServiceProxy("http://"+rpcuser+":"+rpcpass+"@127.0.0.1:8332")
cmd = sys.argv[1].lower()
if cmd == "backupwallet":
try:
path = raw_input("Enter destination path/filename: ")
print access.backupwallet(path)
except:
print "\n---An error occurred---\n"
elif cmd == "getaccount":
try:
addr = raw_input("Enter a Bitcoin address: ")
print access.getaccount(addr)
except:
print "\n---An error occurred---\n"
elif cmd == "getaccountaddress":
try:
acct = raw_input("Enter an account name: ")
print access.getaccountaddress(acct)
except:
print "\n---An error occurred---\n"
elif cmd == "getaddressesbyaccount":
try:
acct = raw_input("Enter an account name: ")
print access.getaddressesbyaccount(acct)
except:
print "\n---An error occurred---\n"
elif cmd == "getbalance":
try:
acct = raw_input("Enter an account (optional): ")
mc = raw_input("Minimum confirmations (optional): ")
try:
print access.getbalance(acct, mc)
except:
print access.getbalance()
except:
print "\n---An error occurred---\n"
elif cmd == "getblockbycount":
try:
height = raw_input("Height: ")
print access.getblockbycount(height)
except:
print "\n---An error occurred---\n"
elif cmd == "getblockcount":
try:
print access.getblockcount()
except:
print "\n---An error occurred---\n"
elif cmd == "getblocknumber":
try:
print access.getblocknumber()
except:
print "\n---An error occurred---\n"
elif cmd == "getconnectioncount":
try:
print access.getconnectioncount()
except:
print "\n---An error occurred---\n"
elif cmd == "getdifficulty":
try:
print access.getdifficulty()
except:
print "\n---An error occurred---\n"
elif cmd == "getgenerate":
try:
print access.getgenerate()
except:
print "\n---An error occurred---\n"
elif cmd == "gethashespersec":
try:
print access.gethashespersec()
except:
print "\n---An error occurred---\n"
elif cmd == "getinfo":
try:
print access.getinfo()
except:
print "\n---An error occurred---\n"
elif cmd == "getnewaddress":
try:
acct = raw_input("Enter an account name: ")
try:
print access.getnewaddress(acct)
except:
print access.getnewaddress()
except:
print "\n---An error occurred---\n"
elif cmd == "getreceivedbyaccount":
try:
acct = raw_input("Enter an account (optional): ")
mc = raw_input("Minimum confirmations (optional): ")
try:
print access.getreceivedbyaccount(acct, mc)
except:
print access.getreceivedbyaccount()
except:
print "\n---An error occurred---\n"
elif cmd == "getreceivedbyaddress":
try:
addr = raw_input("Enter a Bitcoin address (optional): ")
mc = raw_input("Minimum confirmations (optional): ")
try:
print access.getreceivedbyaddress(addr, mc)
except:
print access.getreceivedbyaddress()
except:
print "\n---An error occurred---\n"
elif cmd == "gettransaction":
try:
txid = raw_input("Enter a transaction ID: ")
print access.gettransaction(txid)
except:
print "\n---An error occurred---\n"
elif cmd == "getwork":
try:
data = raw_input("Data (optional): ")
try:
print access.gettransaction(data)
except:
print access.gettransaction()
except:
print "\n---An error occurred---\n"
elif cmd == "help":
try:
cmd = raw_input("Command (optional): ")
try:
print access.help(cmd)
except:
print access.help()
except:
print "\n---An error occurred---\n"
elif cmd == "listaccounts":
try:
mc = raw_input("Minimum confirmations (optional): ")
try:
print access.listaccounts(mc)
except:
print access.listaccounts()
except:
print "\n---An error occurred---\n"
elif cmd == "listreceivedbyaccount":
try:
mc = raw_input("Minimum confirmations (optional): ")
incemp = raw_input("Include empty? (true/false, optional): ")
try:
print access.listreceivedbyaccount(mc, incemp)
except:
print access.listreceivedbyaccount()
except:
print "\n---An error occurred---\n"
elif cmd == "listreceivedbyaddress":
try:
mc = raw_input("Minimum confirmations (optional): ")
incemp = raw_input("Include empty? (true/false, optional): ")
try:
print access.listreceivedbyaddress(mc, incemp)
except:
print access.listreceivedbyaddress()
except:
print "\n---An error occurred---\n"
elif cmd == "listtransactions":
try:
acct = raw_input("Account (optional): ")
count = raw_input("Number of transactions (optional): ")
frm = raw_input("Skip (optional):")
try:
print access.listtransactions(acct, count, frm)
except:
print access.listtransactions()
except:
print "\n---An error occurred---\n"
elif cmd == "move":
try:
frm = raw_input("From: ")
to = raw_input("To: ")
amt = raw_input("Amount:")
mc = raw_input("Minimum confirmations (optional): ")
comment = raw_input("Comment (optional): ")
try:
print access.move(frm, to, amt, mc, comment)
except:
print access.move(frm, to, amt)
except:
print "\n---An error occurred---\n"
elif cmd == "sendfrom":
try:
frm = raw_input("From: ")
to = raw_input("To: ")
amt = raw_input("Amount:")
mc = raw_input("Minimum confirmations (optional): ")
comment = raw_input("Comment (optional): ")
commentto = raw_input("Comment-to (optional): ")
try:
print access.sendfrom(frm, to, amt, mc, comment, commentto)
except:
print access.sendfrom(frm, to, amt)
except:
print "\n---An error occurred---\n"
elif cmd == "sendmany":
try:
frm = raw_input("From: ")
to = raw_input("To (in format address1:amount1,address2:amount2,...): ")
mc = raw_input("Minimum confirmations (optional): ")
comment = raw_input("Comment (optional): ")
try:
print access.sendmany(frm,to,mc,comment)
except:
print access.sendmany(frm,to)
except:
print "\n---An error occurred---\n"
elif cmd == "sendtoaddress":
try:
to = raw_input("To (in format address1:amount1,address2:amount2,...): ")
amt = raw_input("Amount:")
comment = raw_input("Comment (optional): ")
commentto = raw_input("Comment-to (optional): ")
try:
print access.sendtoaddress(to,amt,comment,commentto)
except:
print access.sendtoaddress(to,amt)
except:
print "\n---An error occurred---\n"
elif cmd == "setaccount":
try:
addr = raw_input("Address: ")
acct = raw_input("Account:")
print access.setaccount(addr,acct)
except:
print "\n---An error occurred---\n"
elif cmd == "setgenerate":
try:
gen= raw_input("Generate? (true/false): ")
cpus = raw_input("Max processors/cores (-1 for unlimited, optional):")
try:
print access.setgenerate(gen, cpus)
except:
print access.setgenerate(gen)
except:
print "\n---An error occurred---\n"
elif cmd == "settxfee":
try:
amt = raw_input("Amount:")
print access.settxfee(amt)
except:
print "\n---An error occurred---\n"
elif cmd == "stop":
try:
print access.stop()
except:
print "\n---An error occurred---\n"
elif cmd == "validateaddress":
try:
addr = raw_input("Address: ")
print access.validateaddress(addr)
except:
print "\n---An error occurred---\n"
elif cmd == "walletpassphrase":
try:
pwd = raw_input("Enter wallet passphrase: ")
access.walletpassphrase(pwd, 60)
print "\n---Wallet unlocked---\n"
except:
print "\n---An error occurred---\n"
elif cmd == "walletpassphrasechange":
try:
pwd = raw_input("Enter old wallet passphrase: ")
pwd2 = raw_input("Enter new wallet passphrase: ")
access.walletpassphrasechange(pwd, pwd2)
print
print "\n---Passphrase changed---\n"
except:
print
print "\n---An error occurred---\n"
print
else:
print "Command not found or not supported"

16
contrib/debian/bin/bitcoin-qt Executable file
View File

@@ -0,0 +1,16 @@
#!/bin/sh
set -e
umask 077
basedir=~/.bitcoin
dbfile="$basedir/DB_CONFIG"
cfgfile="$basedir/bitcoin.conf"
[ -e "$basedir" ] || mkdir "$basedir"
# Bitcoin does not clean up DB log files by default
[ -e "$dbfile" ] || echo 'set_flags DB_LOG_AUTOREMOVE' > "$dbfile"
exec /usr/lib/bitcoin/bitcoin-qt "$@"

18
contrib/debian/bin/bitcoind Executable file
View File

@@ -0,0 +1,18 @@
#!/bin/sh
set -e
umask 077
basedir=~/.bitcoin
dbfile="$basedir/DB_CONFIG"
cfgfile="$basedir/bitcoin.conf"
[ -e "$basedir" ] || mkdir "$basedir"
[ -e "$cfgfile" ] || perl -le 'print"rpcpassword=",map{(a..z,A..Z,0..9)[rand 62]}0..9' > "$cfgfile"
# Bitcoin does not clean up DB log files by default
[ -e "$dbfile" ] || echo 'set_flags DB_LOG_AUTOREMOVE' > "$dbfile"
exec /usr/lib/bitcoin/bitcoind "$@"

View File

@@ -0,0 +1,11 @@
[Desktop Entry]
Encoding=UTF-8
Name=Bitcoin
Comment=Bitcoin P2P Cryptocurrency
Exec=/usr/bin/bitcoin-qt
Terminal=false
Type=Application
Icon=/usr/share/pixmaps/bitcoin80.xpm
#For when bitcoin (finally) properly handles bitcoin: URLs
#MimeType=x-scheme-handler/bitcoin;
Categories=Office;

View File

@@ -0,0 +1,5 @@
debian/bin/bitcoin-qt usr/bin
bitcoin-qt usr/lib/bitcoin
share/pixmaps/bitcoin32.xpm usr/share/pixmaps
share/pixmaps/bitcoin80.xpm usr/share/pixmaps
debian/bitcoin-qt.desktop usr/share/applications

View File

@@ -0,0 +1,2 @@
# Linked code is Expat - only Debian packaging is GPL-2+
bitcoin-qt: possible-gpl-code-linked-with-openssl

View File

@@ -0,0 +1 @@
debian/examples/bitcoin.conf

View File

@@ -0,0 +1,2 @@
debian/bin/bitcoind usr/bin
src/bitcoind usr/lib/bitcoin

View File

@@ -0,0 +1,2 @@
# Linked code is Expat - only Debian packaging is GPL-2+
bitcoind: possible-gpl-code-linked-with-openssl

View File

@@ -0,0 +1,2 @@
debian/manpages/bitcoind.1
debian/manpages/bitcoin.conf.5

287
contrib/debian/changelog Normal file
View File

@@ -0,0 +1,287 @@
bitcoin (0.5.3-natty0) natty; urgency=low
* New upstream release.
-- Luke Dashjr <luke+bitcoin+deb@dashjr.org> Tue, 10 Jan 2012 15:57:00 -0500
bitcoin (0.5.2-natty1) natty; urgency=low
* Remove mentions on anonymity in package descriptions and manpage.
These should never have been there, bitcoin isnt anonymous without
a ton of work that virtually no users will ever be willing and
capable of doing
-- Matt Corallo <matt@bluematt.me> Sat, 7 Jan 2012 13:37:00 -0500
bitcoin (0.5.2-natty0) natty; urgency=low
* New upstream release.
-- Luke Dashjr <luke+bitcoin+deb@dashjr.org> Fri, 16 Dec 2011 17:57:00 -0500
bitcoin (0.5.1-natty0) natty; urgency=low
* New upstream release.
-- Matt Corallo <matt@bluematt.me> Fri, 16 Dec 2011 13:27:00 -0500
bitcoin (0.5.0-natty0) natty; urgency=low
* New upstream release.
-- Matt Corallo <matt@bluematt.me> Mon, 21 Nov 2011 11:32:00 -0500
bitcoin (0.5.0~rc7-natty0) natty; urgency=low
* New upstream release candidate.
-- Matt Corallo <matt@bluematt.me> Sun, 20 Nov 2011 17:08:00 -0500
bitcoin (0.5.0~rc3-natty0) natty; urgency=low
* New upstream release candidate.
* Don't set rpcpassword for bitcoin-qt.
-- Matt Corallo <matt@bluematt.me> Tue, 8 Nov 2011 11:56:00 -0400
bitcoin (0.5.0~rc1-natty1) natty; urgency=low
* Add test_bitcoin to build test
* Fix clean
* Remove uneccessary build-dependancies
-- Matt Corallo <matt@bluematt.me> Wed, 26 Oct 2011 14:37:18 -0400
bitcoin (0.5.0~rc1-natty0) natty; urgency=low
* Mark for natty
* Fix broken build
* Fix copyright listing
* Remove bitcoin: URL handler until bitcoin actually has support for it (Oops)
-- Matt Corallo <matt@bluematt.me> Wed, 26 Oct 2011 14:37:18 -0400
bitcoin (0.5.0~rc1-2) experimental; urgency=low
* Add bitcoin-qt
-- Matt Corallo <matt@bluematt.me> Tue, 25 Oct 2011 15:24:18 -0400
bitcoin (0.5.0~rc1-1) experimental; urgency=low
* New upstream prerelease.
* Add Github as alternate upstream source in watch file.
* Stop build-depending on libcrypto++-dev, and drop patch 1000:
Upstream no longer use crypto++.
* Drop patch 1003: Upstream builds dynamic by default now.
* Update copyright file: Drop notes on longer included sources.
-- Jonas Smedegaard <dr@jones.dk> Fri, 14 Oct 2011 00:16:18 +0200
bitcoin (0.4.0-1) unstable; urgency=low
* New upstream release.
* Stop repackaging source tarballs: No DFSG-violating stripping left.
* Update copyright file:
+ Add Github URL to Source.
* Drop dpkg-source local-options hint: Declared options are default
since dpkg-source 1.16.1.
+ Add irc URL to Upstream-Contact.
+ Add comment on Bitcoin Developers to catch-all Files section.
+ Add Files sections for newly readded src/cryptopp/* (new custom
BSD-like license), and newly added doc/build-osx.txt and
src/makefile.osx (Expat).
* Bump debhelper compatibility level to 7.
* Suppress binary icns and gpg files.
* Enable regression tests:
+ Build-depend on libboost-test-dev.
+ Extend patch 1003 to also dynamically link test binary.
+ Build and invoke test binary unless tests are disabled.
* Tighten build-dependency on cdbs: Recent version needed to support
debhelper 7.
* Relax build-depend unversioned on debhelper: needed version
satisfied even in oldstable.
* Stop suppress optional build-dependencies: Satisfied in stable.
Build-depend on devscripts (enabling copyright-check).
-- Jonas Smedegaard <dr@jones.dk> Wed, 05 Oct 2011 01:48:53 +0200
bitcoin (0.3.24~dfsg-1) unstable; urgency=low
* New upstream release.
[ Jonas Smedegaard ]
* Improve various usage hints:
+ Explicitly mention in long description that bitcoind contains
daemon and command-line interface.
+ Extend README.Debian with section on lack of GUI, and add primary
headline.
+ Avoid installing upstream README: contains no parts relevant for
Debian usage.
Thanks to richard for suggestions (see bug#629443).
* Favor final releases over prereleases in rules and watch file.
Thanks to Jan Dittberner.
* Track -src (not -linux) tarballs in rules and watch file.
Thanks to Jan Dittberner.
* Drop patches 1004 and 1005 (integrated upstream) and simplify
CXXFLAGS in rules file.
* Stop stripping no longer included source-less binaries from upstream
tarballs.
[ Jan Dittberner ]
* refresh debian/patches/1000_use_system_crypto++.patch
-- Jonas Smedegaard <dr@jones.dk> Tue, 19 Jul 2011 15:08:54 +0200
bitcoin (0.3.21~dfsg-2) unstable; urgency=low
* Enable UPNP support:
+ Drop patch 1006.
+ Build-depend on libminiupnpc-dev.
Thanks to Matt Corallo.
-- Jonas Smedegaard <dr@jones.dk> Sat, 28 May 2011 15:52:44 +0200
bitcoin (0.3.21~dfsg-1) unstable; urgency=low
* New upstream release.
* Refresh patches.
* Drop patch 1002: no longer needed, as upstream use pkgconfig now.
* Add patch 1006 to really unset USE_UPNP as aparently intended.
* Adjust cleanup rule to preserve .gitignore files.
* Update copyright file:
+ Bump format to draft 174 of DEP-5.
+ Shorten comments.
* Bump policy compliance to standards-version 3.9.2.
* Shorten Vcs-Browser paragraph in control file.
* Fix mention daemon (not CLI tools) in short description.
* Stop conflicting with or replace bitcoin-cli: Only transitional, no
longer needed.
* Link against unversioned berkeleydb. Update NEWS and README.Debian
accordingly (and improve wording while at it).
Closes: Bug#621425. Thanks to Ondřej Surý.
* This release also implicitly updates linkage against libcrypto++,
which closes: bug#626953, #627024.
* Disable linkage against not yet Debian packaged MiniUPnP.
* Silence seemingly harmless noise about unused variables.
-- Jonas Smedegaard <dr@jones.dk> Tue, 17 May 2011 15:31:24 +0200
bitcoin (0.3.20.2~dfsg-2) unstable; urgency=medium
* Fix have wrapper script execute real binary (not loop executing
itself).
Closes: bug#617290. Thanks to Philippe Gauthier and Etienne Laurin.
* Set urgency=medium as the only (user-exposed) binary is useless
without this fix and has been for some time.
-- Jonas Smedegaard <dr@jones.dk> Wed, 16 Mar 2011 09:11:06 +0100
bitcoin (0.3.20.2~dfsg-1) unstable; urgency=low
* New upstream release.
* Fix provide and replace former package name bitcoin-cli.
Closes: bug#618439. Thanks to Shane Wegner.
-- Jonas Smedegaard <dr@jones.dk> Tue, 15 Mar 2011 11:41:43 +0100
bitcoin (0.3.20.01~dfsg-1) unstable; urgency=low
* New upstream release.
[ Micah Anderson ]
* Add myself as uploader.
[ Jonas Smedegaard ]
* Add wrapper for bitcoind to ease initial startup.
* Update patches:
+ Drop patch 2002: Applied upstream.
+ Add patch 1005 to add phtread linker option.
Closes: bug#615619. Thanks to Shane Wegner.
+ Refresh patches.
* Extend copyright years in rules file header.
* Rewrite copyright file using draft svn166 of DEP5 format.
* Rename binary package to bitcoind (from bincoin-cli).
Closes: bug#614025. Thanks to Luke-Jr.
-- Jonas Smedegaard <dr@jones.dk> Tue, 01 Mar 2011 15:55:04 +0100
bitcoin (0.3.19~dfsg-6) unstable; urgency=low
* Fix override agressive optimizations.
* Fix tighten build-dependencies to really fit backporting to Lenny:
+ Add fallback build-dependency on libdb4.6++-dev.
+ Tighten unversioned Boost build-dependencies to recent versions,
To force use of versioned Boost when backporting to Lenny.
...needs more love, though: actual build fails.
-- Jonas Smedegaard <dr@jones.dk> Mon, 17 Jan 2011 19:48:35 +0100
bitcoin (0.3.19~dfsg-5) unstable; urgency=low
* Fix lower Boost fallback-build-dependencies to 1.35, really
available in Lenny.
* Correct comment in rules file regarding reason for versioned Boost
fallback-build-dependency.
* Add patch 2002 adding -mt decoration to Boost flags, to ease
backporting to Lenny.
* Respect DEB_BUILD_OPTIONS, and suppress arch-specific optimizations:
+ Add patch 1004 to allow overriding optimization flags.
+ Set optimization flags conditionally at build time.
+ Drop patch 2002 unconditionally suppressing arch-optimizations.
-- Jonas Smedegaard <dr@jones.dk> Mon, 17 Jan 2011 16:04:48 +0100
bitcoin (0.3.19~dfsg-4) unstable; urgency=low
[ Micah Anderson ]
* Provide example bitcoin.conf.
* Add bitcoind(1) and bitcoin.conf(5) man pages.
[ Jonas Smedegaard ]
* Ease backporting:
+ Suppress optional build-dependencies.
+ Add fallback build-dependencies on the most recent Boost libs
available in Lenny (where unversioned Boost libs are missing).
* Add Micah as copyright holder for manpages, licensed as GPL-3+.
* Bump copyright format to Subversion candidate draft 162 of DEP5.
-- Jonas Smedegaard <dr@jones.dk> Mon, 17 Jan 2011 14:00:48 +0100
bitcoin (0.3.19~dfsg-3) unstable; urgency=low
* Document in copyright file files excluded from repackaged source.
* Update copyright file:
+ Bump DEP5 format hint to Subversion draft rev. 153.
+ Consistently wrap at 72 chars.
+ Refer to GPL-2 file (not GPL symlink).
* Link against Berkeley DB 4.8 (not 4.7):
+ Build-depend on libdb4.8++-dev (and on on libdb4.7++-dev).
+ Suggest libdb4.8-util and db4.7-util.
+ Add README.Debian note on (untested) upgrade routine.
+ Add NEWS entry on changed db version, referring to README.Debian.
-- Jonas Smedegaard <dr@jones.dk> Fri, 07 Jan 2011 22:50:57 +0100
bitcoin (0.3.19~dfsg-2) unstable; urgency=low
* Adjust build options to use optimized miner only for amd64. Fixes
FTBFS on i386 (and other archs, if compiling anywhere else at all).
* Avoid static linking.
* Adjust patch 2001 to avoid only arch-specific optimizations (keep
-O3).
* Extend long description to mention disk consumption and initial use
of IRC.
All of above changes thanks to Helmuth Grohne.
* Add lintian override regarding OpenSSL and GPL: Linked code is Expat
- only Debian packaging is GPL-2+.
-- Jonas Smedegaard <dr@jones.dk> Wed, 29 Dec 2010 00:27:54 +0100
bitcoin (0.3.19~dfsg-1) unstable; urgency=low
[ Jonas Smedegaard ]
* Initial release.
Closes: bug#578157.
-- Jonas Smedegaard <dr@jones.dk> Tue, 28 Dec 2010 15:49:22 +0100

1
contrib/debian/compat Normal file
View File

@@ -0,0 +1 @@
7

57
contrib/debian/control Normal file
View File

@@ -0,0 +1,57 @@
Source: bitcoin
Section: utils
Priority: optional
Maintainer: Jonas Smedegaard <dr@jones.dk>
Uploaders: Micah Anderson <micah@debian.org>
Build-Depends: debhelper,
devscripts,
libboost-system-dev (>> 1.35) | libboost-system1.35-dev,
libdb4.8++-dev,
libssl-dev,
pkg-config,
libminiupnpc8-dev,
libboost-filesystem-dev (>> 1.35) | libboost-filesystem1.35-dev,
libboost-program-options-dev (>> 1.35) | libboost-program-options1.35-dev,
libboost-thread-dev (>> 1.35) | libboost-thread1.35-dev,
libboost-test-dev (>> 1.35) | libboost-test1.35-dev,
qt4-qmake,
libqt4-dev
Standards-Version: 3.9.2
Homepage: http://www.bitcoin.org/
Vcs-Git: git://github.com/bitcoin/bitcoin.git
Vcs-Browser: http://github.com/bitcoin/bitcoin
Package: bitcoind
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: peer-to-peer network based digital currency - daemon
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.
.
By default connects to an IRC network to discover other peers.
.
Full transaction history is stored locally at each client. This
requires 150+ MB of space, slowly growing.
.
This package provides bitcoind, a combined daemon and CLI tool to
interact with the daemon.
Package: bitcoin-qt
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: peer-to-peer network based digital currency - QT GUI
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.
.
By default connects to an IRC network to discover other peers.
.
Full transaction history is stored locally at each client. This
requires 150+ MB of space, slowly growing.
.
This package provides bitcoin-qt, a GUI for Bitcoin based on QT.

167
contrib/debian/copyright Normal file
View File

@@ -0,0 +1,167 @@
Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?rev=174
Upstream-Name: Bitcoin
Upstream-Contact: Satoshi Nakamoto <satoshin@gmx.com>
irc://#bitcoin@freenode.net
Source: http://sourceforge.net/projects/bitcoin/files/
https://github.com/bitcoin/bitcoin
Files: *
Copyright: 2009-2011, Bitcoin Developers
License: Expat
Comment: The Bitcoin Developers encompasses the current developers listed on bitcoin.org,
as well as the numerous contributors to the project.
Files: src/json/*
Copyright: 2007-2009, John W. Wilkinson
License: Expat
Files: src/strlcpy.h
Copyright: 1998, Todd C. Miller <Todd.Miller@courtesan.com>
License: ISC
Files: debian/*
Copyright: 2010-2011, Jonas Smedegaard <dr@jones.dk>
2011, Matt Corallo <matt@bluematt.me>
License: GPL-2+
Files: debian/manpages/*
Copyright: Micah Anderson <micah@debian.org>
License: GPL-3+
Files: src/qt/res/icons/clock*.png, src/qt/res/icons/tx*.png,
src/qt/res/src/*.svg
Copyright: Wladimir van der Laan
License: Expat
Files: src/qt/res/icons/address-book.png, src/qt/res/icons/export.png,
src/qt/res/icons/history.png, src/qt/res/icons/key.png,
src/qt/res/icons/lock_*.png, src/qt/res/icons/overview.png,
src/qt/res/icons/receive.png, src/qt/res/icons/send.png,
src/qt/res/icons/synced.png
Copyright: David Vignoni (david@icon-king.com)
ICON KING - www.icon-king.com
License: LGPL
Comment: NUVOLA ICON THEME for KDE 3.x
Original icons: kaddressbook, klipper_dock, view-list-text,
key-password, encrypted/decrypted, go-home, go-down,
go-next, dialog-ok
Site: http://www.icon-king.com/projects/nuvola/
Files: src/qt/res/icons/connect*.png
Copyright: schollidesign
License: GPL-3+
Comment: Icon Pack: Human-O2
Site: http://findicons.com/icon/93743/blocks_gnome_netstatus_0
Files: src/qt/res/icons/transaction*.png
Copyright: md2k7
License: You are free to do with these icons as you wish, including selling,
copying, modifying etc.
Comment: Site: https://forum.bitcoin.org/index.php?topic=15276.0
Files: src/qt/res/icons/configure.png, src/qt/res/icons/quit.png,
src/qt/res/icons/editcopy.png, src/qt/res/icons/editpaste.png,
src/qt/res/icons/add.png, src/qt/res/icons/edit.png,
src/qt/res/icons/remove.png
Copyright: http://www.everaldo.com
License: LGPL
Comment: Icon Pack: Crystal SVG
Files: src/qt/res/icons/bitcoin.png, src/qt/res/icons/toolbar.png
Copyright: Bitboy (optimized for 16x16 by Wladimir van der Laan)
License: PUB-DOM
Comment: Site: http://forum.bitcoin.org/?topic=1756.0
Files: scripts/img/reload.xcf, src/qt/res/movies/update_spinner.mng
Copyright: Everaldo (Everaldo Coelho)
License: GPL-3+
Comment: Icon Pack: Kids
Site: http://findicons.com/icon/17102/reload?id=17102
Files: src/qt/res/images/splash2.jpg
License: PUB-DOM
Copyright: Crobbo (forum)
Comment: Site: https://bitcointalk.org/index.php?topic=32273.0
License: Expat
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
License: ISC
Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
License: GPL-2+
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
Comment:
On Debian systems the GNU General Public License (GPL) version 2 is
located in '/usr/share/common-licenses/GPL-2'.
.
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
License: GPL-3+
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU General Public License, Version 3 or any
later version published by the Free Software Foundation.
Comment:
On Debian systems the GNU General Public License (GPL) version 3 is
located in '/usr/share/common-licenses/GPL-3'.
.
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
License: LGPL
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Comment:
On Debian systems the GNU Lesser General Public License (LGPL) is
located in '/usr/share/common-licenses/LGPL'.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
License: PUB-DOM
This work is in the public domain.

View File

@@ -0,0 +1,88 @@
# bitcoin.conf configuration file. Lines beginning with # are comments.
# Network-related settings:
# Run on the test network instead of the real bitcoin network.
#testnet=1
# Connect via a socks4 proxy
#proxy=127.0.0.1:9050
# Use as many addnode= settings as you like to connect to specific peers
#addnode=69.164.218.197
#addnode=10.0.0.2:8333
# ... or use as many connect= settings as you like to connect ONLY
# to specific peers:
#connect=69.164.218.197
#connect=10.0.0.1:8333
# Do not use Internet Relay Chat (irc.lfnet.org #bitcoin channel) to
# find other peers.
#noirc=1
# Maximum number of inbound+outbound connections.
#maxconnections=
# JSON-RPC options (for controlling a running Bitcoin/bitcoind process)
# server=1 tells Bitcoin to accept JSON-RPC commands.
#server=1
# You must set rpcuser and rpcpassword to secure the JSON-RPC api
#rpcuser=Ulysseys
#rpcpassword=YourSuperGreatPasswordNumber_385593
# By default, only RPC connections from localhost are allowed. Specify
# as many rpcallowip= settings as you like to allow connections from
# other hosts (and you may use * as a wildcard character):
#rpcallowip=10.1.1.34
#rpcallowip=192.168.1.*
# Listen for RPC connections on this TCP port:
rpcport=8332
# You can use Bitcoin or bitcoind to send commands to Bitcoin/bitcoind
# running on another host using this option:
rpcconnect=127.0.0.1
# Use Secure Sockets Layer (also known as TLS or HTTPS) to communicate
# with Bitcoin -server or bitcoind
#rpcssl=1
# OpenSSL settings used when rpcssl=1
rpcsslciphers=TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH
rpcsslcertificatechainfile=server.cert
rpcsslprivatekeyfile=server.pem
# Miscellaneous options
# Set gen=1 to attempt to generate bitcoins
gen=0
# Use SSE instructions to try to generate bitcoins faster.
#4way=1
# Pre-generate this many public/private key pairs, so wallet backups will be valid for
# both prior transactions and several dozen future transactions.
keypool=100
# Pay an optional transaction fee every time you send bitcoins. Transactions with fees
# are more likely than free transactions to be included in generated blocks, so may
# be validated sooner.
paytxfee=0.00
# Allow direct connections for the 'pay via IP address' feature.
#allowreceivebyip=1
# User interface options
# Start Bitcoin minimized
#min=1
# Minimize to the system tray
#minimizetotray=1

5
contrib/debian/gbp.conf Normal file
View File

@@ -0,0 +1,5 @@
# Configuration file for git-buildpackage and friends
[DEFAULT]
pristine-tar = True
sign-tags = True

View File

@@ -0,0 +1,94 @@
.TH BITCOIN.CONF "5" "January 2011" "bitcoin.conf 3.19"
.SH NAME
bitcoin.conf \- bitcoin configuration file
.SH SYNOPSIS
All command-line options (except for '-datadir' and '-conf') may be specified in a configuration file, and all configuration file options may also be specified on the command line. Command-line options override values set in the configuration file.
.TP
The configuration file is a list of 'setting=value' pairs, one per line, with optional comments starting with the '#' character.
.TP
The configuration file is not automatically created; you can create it using your favorite plain-text editor. By default, bitcoind(1) will look for a file named bitcoin.conf(5) in the bitcoin data directory, but both the data directory and the configuration file path may be changed using the '-datadir' and '-conf' command-line arguments.
.SH LOCATION
bitcoin.conf should be located in $HOME/.bitcoin
.SH NETWORK-RELATED SETTINGS
.TP
.TP
\fBtestnet=\fR[\fI'1'\fR|\fI'0'\fR]
Enable or disable run on the test network instead of the real *bitcoin* network.
.TP
\fBproxy=\fR\fI'127.0.0.1:9050'\fR
Connect via a socks4 proxy.
.TP
\fBaddnode=\fR\fI'10.0.0.2:8333'\fR
Use as many *addnode=* settings as you like to connect to specific peers.
.TP
\fBconnect=\fR\fI'10.0.0.1:8333'\fR
Use as many *connect=* settings as you like to connect ONLY to specific peers.
.TP
\fBnoirc=\fR[\fI'1'\fR|\fI'0'\fR]
Use or Do not use Internet Relay Chat (irc.lfnet.org #bitcoin channel) to find other peers.
.TP
\fRmaxconnections=\fR\fI'value'\fR
Maximum number of inbound+outbound connections.
.SH JSON-RPC OPTIONS
.TP
\fBserver=\fR[\fI'1'\fR|\fI'0'\fR]
Tells *bitcoin* to accept or not accept JSON-RPC commands.
.TP
\fBrpcuser=\fR\fI'username'\fR
You must set *rpcuser* to secure the JSON-RPC api.
.TP
\fBrpcpassword=\fR\fI'password'\fR
You must set *rpcpassword* to secure the JSON-RPC api.
.TP
\fBrpctimeout=\fR\fI'30'\fR
How many seconds *bitcoin* will wait for a complete RPC HTTP request, after the HTTP connection is established.
.TP
\fBrpcallowip=\fR\fI'192.168.1.*'\fR
By default, only RPC connections from localhost are allowed. Specify as many *rpcallowip=* settings as you like to allow connections from other hosts (and you may use * as a wildcard character).
.TP
\fBrpcport=\fR\fI'8332'\fR
Listen for RPC connections on this TCP port.
.TP
\fBrpcconnect=\fR\fI'127.0.0.1'\fR
You can use *bitcoin* or *bitcoind(1)* to send commands to *bitcoin*/*bitcoind(1)* running on another host using this option.
.TP
\fBrpcssl=\fR\fI'1'\fR
Use Secure Sockets Layer (also known as TLS or HTTPS) to communicate with *bitcoin* '-server' or *bitcoind(1)*. Example of OpenSSL settings used when *rpcssl*='1':
.TP
\fBrpcsslciphers=\fR\fI'TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH'\fR
.TP
\fBrpcsslcertificatechainfile=\fR\fI'server.cert'\fR
.TP
\fBrpcsslprivatekeyfile=\fR\fI'server.pem'\fR
.TP
.SH MISCELLANEOUS OPTIONS
.TP
\fBgen=\fR[\fI'0'\fR|\fI'1'\fR]
Enable or disable attempt to generate bitcoins.
.TP
\fB4way=\fR[\fI'0'\fR|\fI'1'\fR]
Enable or disable use SSE instructions to try to generate bitcoins faster.
.TP
\fBkeypool=\fR\fI'100'\fR
Pre-generate this many public/private key pairs, so wallet backups will be valid for both prior transactions and several dozen future transactions.
.TP
\fBpaytxfee=\fR\fI'0.00'\fR
Pay an optional transaction fee every time you send bitcoins. Transactions with fees are more likely than free transactions to be included in generated blocks, so may be validated sooner.
.TP
\fBallowreceivebyip=\fR\fI'1'\fR
Allow direct connections for the 'pay via IP address' feature.
.TP
.SH USER INTERFACE OPTIONS
.TP
\fBmin=\fR[\fI'0'\fR|\fI'1'\fR]
Enable or disable start bitcoind minimized.
.TP
\fBminimizetotray=\fR[\fI'0'\fR|\fI'1'\fR]
Enable or disable minimize to the system tray.
.SH "SEE ALSO"
bitcoind(1)
.SH AUTHOR
This manual page was written by Micah Anderson <micah@debian.org> for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or any later version published by the Free Software Foundation.
On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

View File

@@ -0,0 +1,209 @@
.TH BITCOIND "1" "January 2011" "bitcoind 3.19"
.SH NAME
bitcoind \- peer-to-peer network based digital currency
.SH SYNOPSIS
bitcoin [options] <command> [params]
.TP
bitcoin [options] help <command> - Get help for a command
.SH DESCRIPTION
This manual page documents the bitcoind program. Bitcoin is a peer-to-peer digital currency. Peer-to-peer (P2P) means that there is no central authority to issue new money or keep track of transactions. Instead, these tasks are managed collectively by the nodes of the network. Advantages:
Bitcoins can be sent easily through the Internet, without having to trust middlemen. Transactions are designed to be irreversible. Be safe from instability caused by fractional reserve banking and central banks. The limited inflation of the Bitcoin systems money supply is distributed evenly (by CPU power) throughout the network, not monopolized by banks.
.SH OPTIONS
.TP
\fB\-conf=\fR<file>
Specify configuration file (default: bitcoin.conf)
.TP
\fB\-gen\fR
Generate coins
.TP
\fB\-gen\fR=\fI0\fR
Don't generate coins
.TP
\fB\-min\fR
Start minimized
.TP
\fB\-datadir=\fR<dir>
Specify data directory
.TP
\fB\-proxy=\fR<ip:port>
Connect through socks4 proxy
.TP
\fB\-addnode=\fR<ip>
Add a node to connect to
.TP
\fB\-connect=\fR<ip>
Connect only to the specified node
.TP
\fB\-paytxfee=\fR<amt>
Fee per KB to add to transactions you send
.TP
\fB\-server\fR
Accept command line and JSON\-RPC commands
.TP
\fB\-daemon\fR
Run in the background as a daemon and accept commands
.TP
\fB\-testnet\fR
Use the test network
.TP
\fB\-rpcuser=\fR<user>
Username for JSON\-RPC connections
.TP
\fB\-rpcpassword=\fR<pw>
Password for JSON\-RPC connections
.TP
\fB\-rpcport=\fR<port>
Listen for JSON\-RPC connections on <port>
.TP
\fB\-rpcallowip=\fR<ip>
Allow JSON\-RPC connections from specified IP address
.TP
\fB\-rpcconnect=\fR<ip>
Send commands to node running on <ip>
.PP
SSL options: (see the Bitcoin Wiki for SSL setup instructions)
.TP
\fB\-rpcssl\fR=\fI1\fR
Use OpenSSL (https) for JSON\-RPC connections
.TP
\fB\-rpcsslcertificatchainfile=\fR<file.cert>
Server certificate file (default: server.cert)
.TP
\fB\-rpcsslprivatekeyfile=\fR<file.pem>
Server private key (default: server.pem)
.TP
\fB\-rpcsslciphers=\fR<ciphers>
Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
.TP
\-?
This help message
.SH COMMANDS
.TP
\fBbackupwallet 'destination'\fR
Safely copies *wallet.dat* to 'destination', which can be a directory or a path with filename.
.TP
\fBgetaccount 'bitcoinaddress'\fR
Returns the account associated with the given address.
.TP
\fBsetaccount 'bitcoinaddress' ['account']\fR
Sets the ['account'] associated with the given address. ['account'] may be omitted to remove an address from ['account'].
.TP
\fBgetaccountaddress 'account'\fR
Returns a new bitcoin address for 'account'.
.TP
\fBgetaddressesbyaccount 'account'\fR
Returns the list of addresses associated with the given 'account'.
.TP
\fBgetbalance 'account'\fR
Returns the server's available balance, or the balance for 'account'.
.TP
\fBgetblockcount\fR
Returns the number of blocks in the longest block chain.
.TP
\fBgetblocknumber\fR
Returns the block number of the latest block in the longest block chain.
.TP
\fBgetconnectioncount\fR
Returns the number of connections to other nodes.
.TP
\fBgetdifficulty\fR
Returns the proof-of-work difficulty as a multiple of the minimum difficulty.
.TP
\fBgetgenerate\fR
Returns boolean true if server is trying to generate bitcoins, false otherwise.
.TP
\fBsetgenerate 'generate' ['genproclimit']\fR
Generation is limited to ['genproclimit'] processors, -1 is unlimited.
.TP
\fBgethashespersec\fR
Returns a recent hashes per second performance measurement while generating.
.TP
\fBgetinfo\fR
Returns an object containing server information.
.TP
\fBgetnewaddress 'account'\fR
Returns a new bitcoin address for receiving payments. If 'account' is specified (recommended), it is added to the address book so payments received with the address will be credited to 'account'.
.TP
\fBgetreceivedbyaccount 'account' ['minconf=1']\fR
Returns the total amount received by addresses associated with 'account' in transactions with at least ['minconf'] confirmations.
.TP
\fBgetreceivedbyaddress 'bitcoinaddress' ['minconf=1']\fR
Returns the total amount received by 'bitcoinaddress' in transactions with at least ['minconf'] confirmations.
.TP
\fBgettransaction 'txid'\fR
Returns information about a specific transaction, given hexadecimal transaction ID.
.TP
\fBgetwork 'data'\fR
If 'data' is specified, tries to solve the block and returns true if it was successful. If 'data' is not specified, returns formatted hash 'data' to work on:
"midstate" : precomputed hash state after hashing the first half of the data.
"data" : block data.
"hash1" : formatted hash buffer for second hash.
"target" : little endian hash target.
.TP
\fBhelp 'command'\fR
List commands, or get help for a command.
.TP
\fBlistaccounts ['minconf=1']\fR
List accounts and their current balances.
*note: requires bitcoin 0.3.20 or later.
.TP
\fBlistreceivedbyaccount ['minconf=1'] ['includeempty=false']\fR
['minconf'] is the minimum number of confirmations before payments are included. ['includeempty'] whether to include addresses that haven't received any payments. Returns an array of objects containing:
"account" : the account of the receiving address.
"amount" : total amount received by the address.
"confirmations" : number of confirmations of the most recent transaction included.
.TP
\fBlistreceivedbyaddress ['minconf=1'] ['includeempty=false']\fR
['minconf'] is the minimum number of confirmations before payments are included. ['includeempty'] whether to include addresses that haven't received any payments. Returns an array of objects containing:
"address" : receiving address.
"account" : the account of the receiving address.
"amount" : total amount received by the address.
"confirmations" : number of confirmations of the most recent transaction included.
.TP
\fBlisttransactions 'account' ['count=10']\fR
Returns a list of the last ['count'] transactions for 'account' - for all accounts if 'account' is not specified or is "*". Each entry in the list may contain:
"category" : will be generate, send, receive, or move.
"amount" : amount of transaction.
"fee" : Fee (if any) paid (only for send transactions).
"confirmations" : number of confirmations (only for generate/send/receive).
"txid" : transaction ID (only for generate/send/receive).
"otheraccount" : account funds were moved to or from (only for move).
"message" : message associated with transaction (only for send).
"to" : message-to associated with transaction (only for send).
*note: requires bitcoin 0.3.20 or later.
.TP
\fBmove <'fromaccount'> <'toaccount'> <'amount'> ['minconf=1'] ['comment']\fR
Moves funds between accounts.
.TP
\fBsendfrom* <'account'> <'bitcoinaddress'> <'amount'> ['minconf=1'] ['comment'] ['comment-to']\fR
Sends amount from account's balance to 'bitcoinaddress'. This method will fail if there is less than amount bitcoins with ['minconf'] confirmations in the account's balance (unless account is the empty-string-named default account; it behaves like the *sendtoaddress* method). Returns transaction ID on success.
.TP
\fBsendtoaddress 'bitcoinaddress' 'amount' ['comment'] ['comment-to']\fR
Sends amount from the server's available balance to 'bitcoinaddress'. amount is a real and is rounded to the nearest 0.01. Returns transaction id on success.
.TP
\fBstop\fR
Stops the bitcoin server.
.TP
\fBvalidateaddress 'bitcoinaddress'\fR
Checks that 'bitcoinaddress' looks like a proper bitcoin address. Returns an object containing:
"isvalid" : true or false.
"ismine" : true if the address is in the server's wallet.
"address" : bitcoinaddress.
*note: ismine and address are only returned if the address is valid.
.SH "SEE ALSO"
bitcoin.conf(5)
.SH AUTHOR
This manual page was written by Micah Anderson <micah@debian.org> for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or any later version published by the Free Software Foundation.
On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

View File

@@ -0,0 +1,26 @@
Description: Use system JSON Spirit library
Author: Jonas Smedegaard <dr@jones.dk>
Last-Update: 2011-05-17
--- a/src/rpc.cpp
+++ b/src/rpc.cpp
@@ -12,9 +12,7 @@
#include <boost/asio/ssl.hpp>
typedef boost::asio::ssl::stream<boost::asio::ip::tcp::socket> SSLStream;
#endif
-#include "json/json_spirit_reader_template.h"
-#include "json/json_spirit_writer_template.h"
-#include "json/json_spirit_utils.h"
+#include <json_spirit.h>
#define printf OutputDebugStringF
// MinGW 3.4.5 gets "fatal error: had to relocate PCH" if the json headers are
// precompiled in headers.h. The problem might be when the pch file goes over
--- a/src/makefile.unix
+++ b/src/makefile.unix
@@ -23,6 +23,7 @@
-l boost_thread \
-l db_cxx \
-l ssl \
+ -l json_spirit \
-l crypto
ifdef USE_UPNP

View File

@@ -0,0 +1,3 @@
0xxx: Grabbed from upstream development.
1xxx: Possibly relevant for upstream adoption.
2xxx: Only relevant for official Debian release.

View File

@@ -0,0 +1 @@
#1001_use_system_json-spirit.patch

33
contrib/debian/rules Executable file
View File

@@ -0,0 +1,33 @@
#!/usr/bin/make -f
# -*- mode: makefile; coding: utf-8 -*-
#DEB_MAKE_CHECK_TARGET = test_bitcoin
#build/bitcoind::
# $(if $(filter nocheck,$(DEB_BUILD_OPTIONS)),,src/test_bitcoin)
DEB_INSTALL_EXAMPLES_bitcoind += debian/examples/*
DEB_INSTALL_MANPAGES_bitcoind += debian/manpages/*
%:
dh $@
override_dh_auto_build:
cd src; $(MAKE) -f makefile.unix bitcoind
$(MAKE)
override_dh_auto_clean:
if [ -f Makefile ]; then $(MAKE) clean; else rm -rf build/; rm -f bitcoin-qt; fi
cd src; $(MAKE) -f makefile.unix clean
override_dh_auto_configure:
qmake bitcoin-qt.pro
override_dh_auto_test:
cd src; $(MAKE) -f makefile.unix test_bitcoin
src/test_bitcoin
# Ensure wrapper is set executable
binary-post-install/bitcoind:
chmod +x $(cdbs_curdestdir)usr/bin/bitcoind
binary-post-install/bitcoin-qt:
chmod +x $(cdbs_curdestdir)usr/bin/bitcoin-qt

View File

@@ -0,0 +1 @@
3.0 (quilt)

7
contrib/debian/watch Normal file
View File

@@ -0,0 +1,7 @@
# Run the "uscan" command to check for upstream updates and more.
version=3
# use qa.debian.org redirector; see man uscan
opts=uversionmangle=s/(\d)(alpha|beta|rc)/$1~$2/;s/\-src//,dversionmangle=s/~dfsg\d*// \
http://sf.net/bitcoin/bitcoin-(\d.*)-linux\.tar\.gz debian
opts=uversionmangle=s/(\d)(alpha|beta|rc)/$1~$2/,dversionmangle=s/~dfsg\d*// \
http://githubredir.debian.net/github/bitcoin/bitcoin v(.*).tar.gz

View File

@@ -0,0 +1,31 @@
Gavin's notes on getting gitian builds up and running:
You need the right hardware: you need a 64-bit-capable CPU with hardware virtualization support (Intel VT-x or AMD-V). Not all modern CPUs support hardware virtualization.
You probably need to enable hardware virtualization in your machine's BIOS.
You need to be running a recent version of 64-bit-Ubuntu, and you need to install several prerequisites:
sudo apt-get install apache2 git apt-cacher-ng python-vm-builder qemu-kvm
Sanity checks:
sudo service apt-cacher-ng status # Should return apt-cacher-ng is running
ls -l /dev/kvm # Should show a /dev/kvm device
Once you've got the right hardware and software:
git clone git://github.com/bitcoin/bitcoin.git
git clone git://github.com/devrandom/gitian-builder.git
mkdir gitian-builder/inputs
wget 'http://miniupnp.tuxfamily.org/files/download.php?file=miniupnpc-1.6.tar.gz' -O gitian-builder/inputs/miniupnpc-1.6.tar.gz
cd gitian-builder
bin/make-base-vm --arch i386
bin/make-base-vm --arch amd64
cd ..
# To build
cd bitcoin
git pull
cd ../gitian-builder
git pull
./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian.yml

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,88 @@
---
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://git.gitorious.org/+bitcoin-stable-developers/bitcoin/bitcoind-stable.git"
"dir": "bitcoin"
files:
- "qt-win32-4.7.4-gitian.zip"
- "boost-win32-1.47.0-gitian.zip"
- "openssl-1.0.0e.tar.gz"
- "db-4.8.30.NC.tar.gz"
- "miniupnpc-1.6.tar.gz"
script: |
#
mkdir $HOME/qt
cd $HOME/qt
unzip ../build/qt-win32-4.7.4-gitian.zip
cd $HOME/build/
export PATH=$PATH:$HOME/qt/bin/
#
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.0e.tar.gz
cd openssl-1.0.0e
./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 $OUTDIR/src/doc/README_windows.txt $OUTDIR/readme.txt
cp $OUTDIR/src/COPYING $OUTDIR/license.txt
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
$HOME/qt/src/bin/qmake -spec unsupported/win32-g++-cross USE_SSL=1 MINIUPNPC_LIB_PATH=$HOME/build/miniupnpc MINIUPNPC_INCLUDE_PATH=$HOME/build/ BDB_LIB_PATH=$HOME/build/db-4.8.30.NC/build_unix BDB_INCLUDE_PATH=$HOME/build/db-4.8.30.NC/build_unix BOOST_LIB_PATH=$HOME/build/boost_1_47_0/stage/lib BOOST_INCLUDE_PATH=$HOME/build/boost_1_47_0 BOOST_LIB_SUFFIX=-mt-s BOOST_THREAD_LIB_SUFFIX=_win32-mt-s OPENSSL_LIB_PATH=$HOME/build/openssl-1.0.0e OPENSSL_INCLUDE_PATH=$HOME/build/openssl-1.0.0e/include INCLUDEPATH=$HOME/build DEFINES=BOOST_THREAD_USE_LIB BITCOIN_NEED_QT_PLUGINS=1 QMAKE_LRELEASE=lrelease QMAKE_CXXFLAGS=-frandom-seed=bitcoin QMAKE_LFLAGS=-frandom-seed=bitcoin
make $MAKEOPTS
cp release/bitcoin-qt.exe $OUTDIR/
#
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 bitcoind.exe USE_SSL=1 USE_UPNP=0
i586-mingw32msvc-strip bitcoind.exe
makensis ../share/setup.nsi
cp ../share/bitcoin-*-win32-setup.exe $OUTDIR/
mkdir $OUTDIR/daemon
cp bitcoind.exe $OUTDIR/daemon

View File

@@ -0,0 +1,48 @@
---
name: "bitcoin"
suites:
- "lucid"
architectures:
- "i386"
- "amd64"
packages:
- "libdb4.8++-dev"
- "qt4-qmake"
- "libqt4-dev"
- "libboost-system-dev"
- "libboost-filesystem-dev"
- "libboost-program-options-dev"
- "libboost-thread-dev"
- "libssl-dev"
- "git-core"
- "unzip"
reference_datetime: "2011-01-30 00:00:00"
remotes:
- "url": "https://git.gitorious.org/+bitcoin-stable-developers/bitcoin/bitcoind-stable.git"
"dir": "bitcoin"
files:
- "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 ..
#
cd bitcoin
mkdir -p $OUTDIR/src
cp -a . $OUTDIR/src
rm -rf $OUTDIR/src/.git
cp $OUTDIR/src/doc/README $OUTDIR
cp $OUTDIR/src/COPYING $OUTDIR
cd src
sed 's/$(DEBUGFLAGS)//' -i makefile.unix
make -f makefile.unix STATIC=1 OPENSSL_INCLUDE_PATH="$INSTDIR/include" OPENSSL_LIB_PATH="$INSTDIR/lib" $MAKEOPTS bitcoind USE_UPNP=0 USE_SSL=1
mkdir -p $OUTDIR/bin/$GBUILD_BITS
install -s bitcoind $OUTDIR/bin/$GBUILD_BITS
cd ..
qmake INCLUDEPATH="$INSTDIR/include" LIBS="-L$INSTDIR/lib" RELEASE=1 USE_SSL=1
make $MAKEOPTS
install bitcoin-qt $OUTDIR/bin/$GBUILD_BITS

View File

@@ -0,0 +1,54 @@
---
name: "qt"
suites:
- "lucid"
architectures:
- "i386"
packages:
- "mingw32"
- "zip"
- "faketime"
reference_datetime: "2011-01-30 00:00:00"
remotes: []
files:
- "qt-everywhere-opensource-src-4.7.4.tar.gz"
script: |
INSTDIR="$HOME/qt/"
mkdir $INSTDIR
SRCDIR="$INSTDIR/src/"
mkdir $SRCDIR
#
tar xzf qt-everywhere-opensource-src-4.7.4.tar.gz
cd qt-everywhere-opensource-src-4.7.4
sed 's/$TODAY/2011-01-30/' -i configure
sed 's/i686-pc-mingw32-/i586-mingw32msvc-/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf
sed --posix 's|QMAKE_CFLAGS\t\t= -pipe|QMAKE_CFLAGS\t\t= -pipe -isystem /usr/i586-mingw32msvc/include/ -frandom-seed=qtbuild|' -i mkspecs/unsupported/win32-g++-cross/qmake.conf
sed 's/QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads/QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf
sed 's/QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads/QMAKE_LFLAGS_EXCEPTIONS_ON = -lmingwthrd/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf
sed --posix 's/QMAKE_MOC\t\t= i586-mingw32msvc-moc/QMAKE_MOC\t\t= moc/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf
sed --posix 's/QMAKE_RCC\t\t= i586-mingw32msvc-rcc/QMAKE_RCC\t\t= rcc/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf
sed --posix 's/QMAKE_UIC\t\t= i586-mingw32msvc-uic/QMAKE_UIC\t\t= uic/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf
# ar adds timestamps to every object file included in the static library
# providing -D as ar argument is supposed to solve it, but doesn't work as qmake strips off the arguments and adds -M to pass a script...
# which somehow cannot be combined with other flags.
# use faketime only for ar, as it confuses make/qmake into hanging sometimes
sed --posix "s|QMAKE_LIB\t\t= i586-mingw32msvc-ar -ru|QMAKE_LIB\t\t= $HOME/ar -Dr|" -i mkspecs/unsupported/win32-g++-cross/qmake.conf
echo '#!/bin/bash' > $HOME/ar
echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> $HOME/ar
echo 'i586-mingw32msvc-ar "$@"' >> $HOME/ar
chmod +x $HOME/ar
#export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
./configure -prefix $INSTDIR -confirm-license -release -opensource -static -no-qt3support -xplatform unsupported/win32-g++-cross -no-multimedia -no-audio-backend -no-phonon -no-phonon-backend -no-declarative -no-script -no-scripttools -no-javascript-jit -no-webkit -no-svg -no-xmlpatterns -no-sql-sqlite -no-nis -no-cups -no-iconv -no-dbus -no-gif -no-libtiff -opengl no -nomake examples -nomake demos -nomake docs
find . -name *.prl | xargs -l sed 's|/\.||' -i
find . -name *.prl | xargs -l sed 's|/$||' -i
make $MAKEOPTS install
cp -a bin $SRCDIR/
cd $INSTDIR
find . -name *.prl | xargs -l sed 's|/$||' -i
#sed 's|QMAKE_PRL_LIBS.*|QMAKE_PRL_LIBS = -lQtDeclarative -lQtScript -lQtSvg -lQtSql -lQtXmlPatterns -lQtGui -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtNetwork -lQtCore -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32|' -i imports/Qt/labs/particles/qmlparticlesplugin.prl
# as zip stores file timestamps, use faketime to intercept stat calls to set dates for all files to reference date
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
zip -r $OUTDIR/qt-win32-4.7.4-gitian.zip *

Binary file not shown.

Binary file not shown.

Binary file not shown.

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.

View File

@@ -0,0 +1,30 @@
---
name: bitcoin
urls:
- http://bitcoin.org/bitcoin-latest-win32-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+-win32-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

674
contrib/macdeploy/LICENSE Normal file
View File

@@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

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>window_bounds</key>
<array>
<integer>300</integer>
<integer>300</integer>
<integer>800</integer>
<integer>620</integer>
</array>
<key>background_picture</key>
<string>background.png</string>
<key>icon_size</key>
<integer>96</integer>
<key>applications_symlink</key>
<true/>
<key>items_position</key>
<dict>
<key>Applications</key>
<array>
<integer>370</integer>
<integer>156</integer>
</array>
<key>Bitcoin-Qt.app</key>
<array>
<integer>128</integer>
<integer>156</integer>
</array>
</dict>
</dict>
</plist>

341
contrib/macdeploy/macdeployqtplus Executable file
View File

@@ -0,0 +1,341 @@
#!/usr/bin/env python
#
# Copyright (C) 2011 Patrick "p2k" Schneider <me@p2k-network.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import subprocess, sys, re, os, shutil, os.path
from time import sleep
from argparse import ArgumentParser
qt_conf="""[Paths]
translations=Resources
plugins=PlugIns
"""
ap = ArgumentParser(description="""Front-end to macdeployqt with some additional functions.
Outputs a ready-to-deploy app in a folder "dist" and optionally wraps it in a .dmg file.
Note, that the "dist" folder will be deleted before deploying on each run.
Optionally, Qt translation files (.qm) and additional resources can be added to the bundle.""")
ap.add_argument("app_bundle", nargs=1, metavar="app-bundle", help="application bundle to be deployed")
ap.add_argument("-verbose", type=int, nargs=1, default=[1], metavar="<0-3>", help="0 = no output, 1 = error/warning (default), 2 = normal, 3 = debug")
ap.add_argument("-no-plugins", dest="plugins", action="store_false", default=True, help="skip plugin deployment")
ap.add_argument("-no-strip", dest="strip", action="store_false", default=True, help="don't run 'strip' on the binaries")
ap.add_argument("-dmg", nargs="?", const="", metavar="basename", help="create a .dmg disk image; if basename is not specified, a camel-cased version of the app name is used")
ap.add_argument("-fancy", nargs=1, metavar="plist", default=[], help="make a fancy looking disk image using the given plist file with instructions; requires -dmg to work")
ap.add_argument("-add-qt-tr", nargs=1, metavar="languages", default=[], help="add Qt translation files to the bundle's ressources; the language list must be separated with commas, not with whitespace")
ap.add_argument("-add-resources", nargs="+", metavar="path", default=[], help="list of additional files or folders to be copied into the bundle's resources; must be the last argument")
config = ap.parse_args()
verbose = config.verbose[0]
# ------------------------------------------------
app_bundle = config.app_bundle[0]
if not os.path.exists(app_bundle):
if verbose >= 1:
sys.stderr.write("Error: Could not find app bundle \"%s\"\n" % (app_bundle))
sys.exit(1)
app_bundle_name = os.path.splitext(os.path.basename(app_bundle))[0]
# ------------------------------------------------
for p in config.add_resources:
if verbose >= 3:
print "Checking for \"%s\"..." % p
if not os.path.exists(p):
if verbose >= 1:
sys.stderr.write("Error: Could not find additional resource file \"%s\"\n" % (p))
sys.exit(1)
# ------------------------------------------------
if len(config.add_qt_tr) == 0:
add_qt_tr = []
else:
qt_tr_dir = os.path.join(os.getenv("QTDIR", ""), "translations")
add_qt_tr = ["qt_%s.qm" % lng for lng in config.add_qt_tr[0].split(",")]
for lng_file in add_qt_tr:
p = os.path.join(qt_tr_dir, lng_file)
if verbose >= 3:
print "Checking for \"%s\"..." % p
if not os.path.exists(p):
if verbose >= 1:
sys.stderr.write("Error: Could not find Qt translation file \"%s\"\n" % (lng_file))
sys.exit(1)
# ------------------------------------------------
if len(config.fancy) == 1:
if verbose >= 3:
print "Fancy: Importing plistlib..."
try:
import plistlib
except ImportError:
if verbose >= 1:
sys.stderr.write("Error: Could not import plistlib which is required for fancy disk images.\n")
sys.exit(1)
if verbose >= 3:
print "Fancy: Importing appscript..."
try:
import appscript
except ImportError:
if verbose >= 1:
sys.stderr.write("Error: Could not import appscript which is required for fancy disk images.\n")
sys.stderr.write("Please install it e.g. with \"sudo easy_install appscript\".\n")
sys.exit(1)
p = config.fancy[0]
if verbose >= 3:
print "Fancy: Loading \"%s\"..." % p
if not os.path.exists(p):
if verbose >= 1:
sys.stderr.write("Error: Could not find fancy disk image plist at \"%s\"\n" % (p))
sys.exit(1)
try:
fancy = plistlib.readPlist(p)
except:
if verbose >= 1:
sys.stderr.write("Error: Could not parse fancy disk image plist at \"%s\"\n" % (p))
sys.exit(1)
try:
assert not fancy.has_key("window_bounds") or (isinstance(fancy["window_bounds"], list) and len(fancy["window_bounds"]) == 4)
assert not fancy.has_key("background_picture") or isinstance(fancy["background_picture"], str)
assert not fancy.has_key("icon_size") or isinstance(fancy["icon_size"], int)
assert not fancy.has_key("applications_symlink") or isinstance(fancy["applications_symlink"], bool)
if fancy.has_key("items_position"):
assert isinstance(fancy["items_position"], dict)
for key, value in fancy["items_position"].iteritems():
assert isinstance(value, list) and len(value) == 2 and isinstance(value[0], int) and isinstance(value[1], int)
except:
if verbose >= 1:
sys.stderr.write("Error: Bad format of fancy disk image plist at \"%s\"\n" % (p))
sys.exit(1)
if fancy.has_key("background_picture"):
bp = fancy["background_picture"]
if verbose >= 3:
print "Fancy: Resolving background picture \"%s\"..." % bp
if not os.path.exists(bp):
bp = os.path.join(os.path.dirname(p), bp)
if not os.path.exists(bp):
if verbose >= 1:
sys.stderr.write("Error: Could not find background picture at \"%s\" or \"%s\"\n" % (fancy["background_picture"], bp))
sys.exit(1)
else:
fancy["background_picture"] = bp
else:
fancy = None
# ------------------------------------------------
if os.path.exists("dist"):
if verbose >= 2:
print "+ Removing old dist folder +"
shutil.rmtree("dist")
# ------------------------------------------------
target = os.path.join("dist", app_bundle)
target_res = os.path.join(target, "Contents", "Resources")
if verbose >= 2:
print "+ Copying source bundle +"
if verbose >= 3:
print app_bundle, "->", target
os.mkdir("dist")
shutil.copytree(app_bundle, target)
# ------------------------------------------------
macdeployqt_args = ["macdeployqt", target, "-verbose=%d" % verbose]
if not config.plugins:
macdeployqt_args.append("-no-plugins")
if not config.strip:
macdeployqt_args.append("-no-strip")
if verbose >= 2:
print "+ Running macdeployqt +"
ret = subprocess.call(macdeployqt_args)
if ret != 0:
sys.exit(ret)
# ------------------------------------------------
if verbose >= 2:
print "+ Installing qt.conf +"
f = open(os.path.join(target_res, "qt.conf"), "wb")
f.write(qt_conf)
f.close()
# ------------------------------------------------
if len(add_qt_tr) > 0 and verbose >= 2:
print "+ Adding Qt translations +"
for lng_file in add_qt_tr:
if verbose >= 3:
print os.path.join(qt_tr_dir, lng_file), "->", os.path.join(target_res, lng_file)
shutil.copy2(os.path.join(qt_tr_dir, lng_file), os.path.join(target_res, lng_file))
# ------------------------------------------------
if len(config.add_resources) > 0 and verbose >= 2:
print "+ Adding additional resources +"
for p in config.add_resources:
t = os.path.join(target_res, os.path.basename(p))
if verbose >= 3:
print p, "->", t
if os.path.isdir(p):
shutil.copytree(p, t)
else:
shutil.copy2(p, t)
# ------------------------------------------------
if config.dmg is not None:
def runHDIUtil(verb, image_basename, **kwargs):
hdiutil_args = ["hdiutil", verb, image_basename + ".dmg"]
if kwargs.has_key("capture_stdout"):
del kwargs["capture_stdout"]
run = subprocess.check_output
else:
if verbose < 2:
hdiutil_args.append("-quiet")
elif verbose >= 3:
hdiutil_args.append("-verbose")
run = subprocess.check_call
for key, value in kwargs.iteritems():
hdiutil_args.append("-" + key)
if not value is True:
hdiutil_args.append(str(value))
return run(hdiutil_args)
if verbose >= 2:
if fancy is None:
print "+ Creating .dmg disk image +"
else:
print "+ Preparing .dmg disk image +"
if config.dmg != "":
dmg_name = config.dmg
else:
spl = app_bundle_name.split(" ")
dmg_name = spl[0] + "".join(p.capitalize() for p in spl[1:])
if fancy is None:
try:
runHDIUtil("create", dmg_name, srcfolder="dist", format="UDBZ", volname=app_bundle_name, ov=True)
except subprocess.CalledProcessError as e:
sys.exit(e.returncode)
else:
if verbose >= 3:
print "Determining size of \"dist\"..."
size = 0
for path, dirs, files in os.walk("dist"):
for file in files:
size += os.path.getsize(os.path.join(path, file))
size += int(size * 0.1)
if verbose >= 3:
print "Creating temp image for modification..."
try:
runHDIUtil("create", dmg_name + ".temp", srcfolder="dist", format="UDRW", size=size, volname=app_bundle_name, ov=True)
except subprocess.CalledProcessError as e:
sys.exit(e.returncode)
if verbose >= 3:
print "Attaching temp image..."
try:
output = runHDIUtil("attach", dmg_name + ".temp", readwrite=True, noverify=True, noautoopen=True, capture_stdout=True)
except subprocess.CalledProcessError as e:
sys.exit(e.returncode)
m = re.search("/Volumes/(.+$)", output)
disk_root = m.group(0)
disk_name = m.group(1)
if verbose >= 2:
print "+ Applying fancy settings +"
if fancy.has_key("background_picture"):
bg_path = os.path.join(disk_root, os.path.basename(fancy["background_picture"]))
if verbose >= 3:
print fancy["background_picture"], "->", bg_path
shutil.copy2(fancy["background_picture"], bg_path)
else:
bg_path = None
if fancy.get("applications_symlink", False):
os.symlink("/Applications", os.path.join(disk_root, "Applications"))
finder = appscript.app("Finder")
disk = finder.disks[disk_name]
disk.open()
window = disk.container_window
window.current_view.set(appscript.k.icon_view)
window.toolbar_visible.set(False)
window.statusbar_visible.set(False)
if fancy.has_key("window_bounds"):
window.bounds.set(fancy["window_bounds"])
view_options = window.icon_view_options
view_options.arrangement.set(appscript.k.not_arranged)
if fancy.has_key("icon_size"):
view_options.icon_size.set(fancy["icon_size"])
if bg_path is not None:
view_options.background_picture.set(disk.files[os.path.basename(bg_path)])
if fancy.has_key("items_position"):
for name, position in fancy["items_position"].iteritems():
window.items[name].position.set(position)
disk.close()
if bg_path is not None:
subprocess.call(["SetFile", "-a", "V", bg_path])
disk.update(registering_applications=False)
sleep(2)
disk.eject()
if verbose >= 2:
print "+ Finalizing .dmg disk image +"
try:
runHDIUtil("convert", dmg_name + ".temp", format="UDBZ", o=dmg_name + ".dmg", ov=True)
except subprocess.CalledProcessError as e:
sys.exit(e.returncode)
os.unlink(dmg_name + ".temp.dmg")
# ------------------------------------------------
if verbose >= 2:
print "+ Done +"
sys.exit(0)

View File

@@ -0,0 +1,26 @@
macdeployqtplus works best on OS X Lion, for Snow Leopard you'd need to install
Python 2.7 and make it your default Python installation.
You will need the appscript package for the fancy disk image creation to work.
Install it by invoking "sudo easy_install appscript".
Ths script should be invoked in the target directory like this:
$source_dir/contrib/macdeploy/macdeployqtplus Bitcoin-Qt.app -add-qt-tr de,es,ru -dmg -fancy $source_dir/contrib/macdeploy/fancy.plist
During the process, the disk image window will pop up briefly where the fancy
settings are applied. This is normal, please do not interfere.
You can also set up Qt Creator for invoking the script. For this, go to the
"Projects" tab on the left side, switch to "Run Settings" above and add a
deploy configuration. Next add a deploy step choosing "Custom Process Step".
Fill in the following.
Enable custom process step: [x]
Command: %{sourceDir}/contrib/macdeploy/macdeployqtplus
Working directory: %{buildDir}
Command arguments: Bitcoin-Qt.app -add-qt-tr de,ru -dmg -fancy %{sourceDir}/contrib/macdeploy/fancy.plist
After that you can start the deployment process through the menu with
Build -> Deploy Project "bitcoin-qt"

View File

@@ -0,0 +1,43 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
# $Id$
PortSystem 1.0
name miniupnpc
epoch 2
version 1.6
revision 2
categories net
platforms darwin
license BSD
maintainers singingwolfboy openmaintainer
description Lightweight client for UPnP protocol
long_description \
${description}
homepage http://miniupnp.free.fr/
master_sites http://miniupnp.free.fr/files/download.php?file=${distname}${extract.suffix}&dummy=
checksums md5 88055f2d4a061cfd4cfe25a9eae22f67 \
sha1 ef8f2edb17f2e7c5b8dc67ee80a65c199d823e0a \
rmd160 d86b75b331a3fb5525c71708548f311977c0598f
use_configure no
variant universal {}
if {[variant_isset universal]} {
set archflags ${configure.universal_cflags}
} else {
set archflags ${configure.cc_archflags}
}
build.args-append CC="${configure.cc} ${archflags}"
post-patch {
reinplace "s|-Wl,-install_name,|-Wl,-install_name,${prefix}/lib/|" ${worksrcpath}/Makefile
}
destroot.destdir PREFIX=${prefix} INSTALLPREFIX=${destroot}${prefix}
livecheck.type regex
livecheck.url http://miniupnp.free.fr/files/
livecheck.regex ${name}-(\\d+(\\.\\d{1,4})+)${extract.suffix}

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'])

22
contrib/qt_translations.py Executable file
View File

@@ -0,0 +1,22 @@
#!/usr/bin/env python
# Helpful little script that spits out a comma-separated list of
# language codes for Qt icons that should be included
# in binary bitcoin distributions
import glob
import os
import re
import sys
if len(sys.argv) != 3:
sys.exit("Usage: %s $QTDIR/translations $BITCOINDIR/src/qt/locale"%sys.argv[0])
d1 = sys.argv[1]
d2 = sys.argv[2]
l1 = set([ re.search(r'qt_(.*).qm', f).group(1) for f in glob.glob(os.path.join(d1, 'qt_*.qm')) ])
l2 = set([ re.search(r'bitcoin_(.*).qm', f).group(1) for f in glob.glob(os.path.join(d2, 'bitcoin_*.qm')) ])
print ",".join(sorted(l1.intersection(l2)))

View File

@@ -0,0 +1,5 @@
from jsonrpc import ServiceProxy
access = ServiceProxy("http://127.0.0.1:8332")
pwd = raw_input("Enter old wallet passphrase: ")
pwd2 = raw_input("Enter new wallet passphrase: ")
access.walletpassphrasechange(pwd, pwd2)

View File

@@ -0,0 +1,4 @@
from jsonrpc import ServiceProxy
access = ServiceProxy("http://127.0.0.1:8332")
pwd = raw_input("Enter wallet passphrase: ")
access.walletpassphrase(pwd, 60)

1752
doc/Doxyfile Normal file

File diff suppressed because it is too large Load Diff

33
doc/README Normal file
View File

@@ -0,0 +1,33 @@
Bitcoin 0.5.3 BETA
Copyright (c) 2009-2012 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
-----
You need the Qt4 run-time libraries to run bitcoin-qt. On Debian or Ubuntu:
sudo apt-get install libqtgui4
Unpack the files into a directory and run:
bin/32/bitcoin-qt (GUI, 32-bit)
bin/32/bitcoind (headless, 32-bit)
bin/64/bitcoin-qt (GUI, 64-bit)
bin/64/bitcoind (headless, 64-bit)
See the documentation at the bitcoin wiki:
https://en.bitcoin.it/wiki/Main_Page
for help and more information.

35
doc/README_windows.txt Normal file
View File

@@ -0,0 +1,35 @@
Bitcoin 0.5.3 BETA
Copyright (c) 2009-2012 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-qt.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 works 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.

View File

@@ -0,0 +1,52 @@
Icon: src/qt/res/icons/clock*.png, src/qt/res/icons/tx*.png,
src/qt/res/src/*.svg
Designer: Wladimir van der Laan
License: MIT
Icon: src/qt/res/icons/address-book.png, src/qt/res/icons/export.png,
src/qt/res/icons/history.png, src/qt/res/icons/key.png,
src/qt/res/icons/lock_*.png, src/qt/res/icons/overview.png,
src/qt/res/icons/receive.png, src/qt/res/icons/send.png,
src/qt/res/icons/synced.png
Icon Pack: NUVOLA ICON THEME for KDE 3.x
Designer: David Vignoni (david@icon-king.com)
ICON KING - www.icon-king.com
License: LGPL
Site: http://www.icon-king.com/projects/nuvola/
Icon: src/qt/res/icons/connect*.png
Icon Pack: Human-O2
Designer: schollidesign
License: GNU/GPL
Site: http://findicons.com/icon/93743/blocks_gnome_netstatus_0
Icon: src/qt/res/icons/transaction*.png
Designer: md2k7
Site: https://forum.bitcoin.org/index.php?topic=15276.0
License: You are free to do with these icons as you wish, including selling,
copying, modifying etc.
Icon: src/qt/res/icons/configure.png, src/qt/res/icons/quit.png,
src/qt/res/icons/editcopy.png, src/qt/res/icons/editpaste.png,
src/qt/res/icons/add.png, src/qt/res/icons/edit.png,
src/qt/res/icons/remove.png (edited)
Designer: http://www.everaldo.com
Icon Pack: Crystal SVG
License: LGPL
Icon: src/qt/res/icons/bitcoin.png, src/qt/res/icons/toolbar.png
Designer: Bitboy (optimized for 16x16 by Wladimir van der Laan)
License: Public Domain
Site: http://forum.bitcoin.org/?topic=1756.0
Icon: scripts/img/reload.xcf (modified),src/qt/res/movies/update_spinner.mng
Icon Pack: Kids
Designer: Everaldo (Everaldo Coelho)
License: GNU/GPL
Site: http://findicons.com/icon/17102/reload?id=17102
Image: src/qt/res/images/splash2.jpg (Wallet image)
Designer: Crobbo (forum)
Site: https://bitcointalk.org/index.php?topic=32273.0
License: Public domain

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

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

@@ -0,0 +1,84 @@
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.
See readme-qt.rst for instructions on building Bitcoin QT, the
graphical user interface.
WINDOWS BUILD NOTES
===================
Compilers Supported
-------------------
TODO: What works?
Note: releases are cross-compiled using mingw running on Linux.
Dependencies
------------
Libraries you need to download separately and build:
default path download
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:
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:
OpenSSL 1.0.0e
Berkeley DB 4.8.30.NC
Boost 1.47.0
miniupnpc 1.6
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.0e-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 -f makefile.mingw
strip bitcoind.exe

56
doc/build-osx.txt Normal file
View File

@@ -0,0 +1,56 @@
Copyright (c) 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.
Mac OS X bitcoind build instructions
Laszlo Hanyecz <solar@heliacal.net>
Douglas Huff <dhuff@jrbobdobbs.org>
See readme-qt.rst for instructions on building Bitcoin QT, the
graphical user interface.
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
1. Clone the github tree to get the source code:
git clone git@github.com:bitcoin/bitcoin.git bitcoin
2. Download and install MacPorts from http://www.macports.org/
2a. (for 10.7 Lion)
Edit /opt/local/etc/macports/macports.conf and uncomment "build_arch i386"
3. Install dependencies from MacPorts
sudo port install boost db48 openssl
Install the right version of miniupnpc:
pushd bitcoin/contrib/minipupnpc; sudo port install; popd
(this will be unnecessary soon, you will just port install miniupnpc
along with the rest of the dependencies).
4. Now you should be able to build bitcoind:
cd bitcoin/src
make -f makefile.osx
Run:
./bitcoind --help # for a list of command-line options.
Run
./bitcoind -daemon # to start the bitcoin daemon.
Run
./bitcoind help # When the daemon is running, to get a list of RPC commands

150
doc/build-unix.txt Normal file
View File

@@ -0,0 +1,150 @@
Copyright (c) 2009-2010 Satoshi Nakamoto
Copyright (c) 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.
UNIX BUILD NOTES
================
To Build
--------
cd src/
make -f makefile.unix # Headless bitcoin
See readme-qt.rst for instructions on building Bitcoin QT,
the graphical bitcoin.
Dependencies
------------
Library Purpose Description
------- ------- -----------
libssl SSL Support Secure communications
libdb4.8 Berkeley DB Blockchain & wallet storage
libboost Boost C++ Library
miniupnpc UPnP Support Optional firewall-jumping support
miniupnpc may be used 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:
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.3.3
OpenSSL 0.9.8g
Berkeley DB 4.8.30.NC
Boost 1.37
miniupnpc 1.6
Dependency Build Instructions: Ubuntu & Debian
----------------------------------------------
sudo apt-get install build-essential
sudo apt-get install libssl-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
If using Boost 1.37, append -mt to the boost libraries in the makefile.
Dependency Build Instructions: Gentoo
-------------------------------------
Note: If you just want to install bitcoind on Gentoo, you can add the Bitcoin
overlay and use your package manager:
layman -a bitcoin && emerge bitcoind
emerge -av1 --noreplace boost glib openssl sys-libs/db:4.8
Take the following steps to build (no UPnP support):
cd ${BITCOIN_DIR}/src
make -f makefile.unix USE_UPNP= BDB_INCLUDE_PATH='/usr/include/db4.8'
strip bitcoind
Notes
-----
The release is built with GCC and then "strip bitcoind" to strip the debug
symbols, which reduces the executable size by about 90%.
miniupnpc
---------
tar -xzvf miniupnpc-1.6.tar.gz
cd miniupnpc-1.6
make
sudo su
make install
Berkeley DB
-----------
You need Berkeley DB 4.8. If you have to build Berkeley DB yourself:
../dist/configure --enable-cxx
make
Boost
-----
If you need to build Boost yourself:
sudo su
./bootstrap.sh
./bjam install
Security
--------
To help make your bitcoin installation more secure by making certain attacks impossible to
exploit even if a vulnerability is found, you can take the following measures:
* Position Independent Executable
Build position independent code to take advantage of Address Space Layout Randomization
offered by some kernels. An attacker who is able to cause execution of code at an arbitrary
memory location is thwarted if he doesn't know where anything useful is located.
The stack and heap are randomly located by default but this allows the code section to be
randomly located as well.
On an Amd64 processor where a library was not compiled with -fPIC, this will cause an error
such as: "relocation R_X86_64_32 against `......' can not be used when making a shared object;"
To build with PIE, use:
make -f makefile.unix ... -e PIE=1
To test that you have built PIE executable, install scanelf, part of paxutils, and use:
scanelf -e ./bitcoin
The output should contain:
TYPE
ET_DYN
* Non-executable Stack
If the stack is executable then trivial stack based buffer overflow exploits are possible if
vulnerable buffers are found. By default, bitcoin should be built with a non-executable stack
but if one of the libraries it uses asks for an executable stack or someone makes a mistake
and uses a compiler extension which requires an executable stack, it will silently build an
executable without the non-executable stack protection.
To verify that the stack is non-executable after compiling use:
scanelf -e ./bitcoin
the output should contain:
STK/REL/PTL
RW- R-- RW-
The STK RW- means that the stack is readable and writeable but not executable.

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

178
doc/readme-qt.rst Normal file
View File

@@ -0,0 +1,178 @@
Bitcoin-qt: Qt4 GUI for Bitcoin
===============================
Features
========
- All functionality of the Wx GUI, including wallet encryption
- Compatibility with Linux (both GNOME and KDE), MacOSX and Windows
- Notification on incoming / outgoing transactions (compatible with FreeDesktop and other desktop notification schemes)
- General interface improvements: Splash screen, tabbed interface
- Overview page with current balance, unconfirmed balance, and such
- Better transaction list with status icons, real-time filtering and a context menu
- Asks for confirmation before sending coins, for your own safety
- CSV export of transactions and address book (for Excel bookkeeping)
- Shows alternative icon when connected to testnet, so you never accidentally send real coins during testing
- Shows a progress bar on initial block download, so that you don't have to wonder how many blocks it needs to download to be up to date
- Sendmany support, send to multiple recipients at the same time
- Multiple unit support, can show subdivided bitcoins (uBTC, mBTC) for users that like large numbers
- Support for English, German, Russian and Dutch languages
- Address books and transaction table can be sorted by any column
- Accepts "bitcoin:" URLs from browsers and other sources through drag and drop
Build instructions
===================
Debian
-------
First, make sure that the required packages for Qt4 development of your
distribution are installed, for Debian and Ubuntu these are:
::
apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev \
libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev \
libssl-dev libdb4.8++-dev
then execute the following:
::
qmake
make
Alternatively, install Qt Creator and open the `bitcoin-qt.pro` file.
An executable named `bitcoin-qt` will be built.
Windows
--------
Windows build instructions:
- Download the `QT Windows SDK`_ and install it. You don't need the Symbian stuff, just the desktop Qt.
- Download and extract the `dependencies archive`_ [#]_, or compile openssl, boost and dbcxx yourself.
- Copy the contents of the folder "deps" to "X:\\QtSDK\\mingw", replace X:\\ with the location where you installed the Qt SDK. Make sure that the contents of "deps\\include" end up in the current "include" directory.
- Open the .pro file in QT creator and build as normal (ctrl-B)
.. _`QT Windows SDK`: http://qt.nokia.com/downloads/sdk-windows-cpp
.. _`dependencies archive`: https://download.visucore.com/bitcoin/qtgui_deps_1.zip
.. [#] PGP signature: https://download.visucore.com/bitcoin/qtgui_deps_1.zip.sig (signed with RSA key ID `610945D0`_)
.. _`610945D0`: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x610945D0
Mac OS X
--------
- Download and install the `Qt Mac OS X SDK`_. It is recommended to also install Apple's Xcode with UNIX tools.
- Download and install `MacPorts`_.
- Execute the following commands in a terminal to get the dependencies:
::
sudo port selfupdate
sudo port install boost db48
- Open the .pro file in Qt Creator and build as normal (cmd-B)
.. _`Qt Mac OS X SDK`: http://qt.nokia.com/downloads/sdk-mac-os-cpp
.. _`MacPorts`: http://www.macports.org/install.php
Build configuration options
============================
UPNnP port forwarding
---------------------
To use UPnP for port forwarding behind a NAT router (recommended, as more connections overall allow for a faster and more stable bitcoin experience), pass the following argument to qmake:
::
qmake "USE_UPNP=1"
(in **Qt Creator**, you can find the setting for additional qmake arguments under "Projects" -> "Build Settings" -> "Build Steps", then click "Details" next to **qmake**)
This requires miniupnpc for UPnP port mapping. It can be downloaded from
http://miniupnp.tuxfamily.org/files/. UPnP support is not compiled in by default.
Set USE_UPNP to a different value to control this:
+------------+--------------------------------------------------------------------------+
| USE_UPNP=- | no UPnP support, miniupnpc not required; |
+------------+--------------------------------------------------------------------------+
| USE_UPNP=0 | (the default) built with UPnP, support turned off by default at runtime; |
+------------+--------------------------------------------------------------------------+
| USE_UPNP=1 | build with UPnP support turned on by default at runtime. |
+------------+--------------------------------------------------------------------------+
Mac OS X users: miniupnpc is currently outdated on MacPorts. An updated Portfile is provided in contrib/miniupnpc within this project.
You can execute the following commands in a terminal to install it:
::
cd <location of bitcoin-qt>/contrib/miniupnpc
sudo port install
Notification support for recent (k)ubuntu versions
---------------------------------------------------
To see desktop notifications on (k)ubuntu versions starting from 10.04, enable usage of the
FreeDesktop notification interface through DBUS using the following qmake option:
::
qmake "USE_DBUS=1"
Berkely DB version warning
==========================
A warning for people using the *static binary* version of Bitcoin on a Linux/UNIX-ish system (tl;dr: **Berkely DB databases are not forward compatible**).
The static binary version of Bitcoin is linked against libdb4.8 (see also `this Debian issue`_).
Now the nasty thing is that databases from 5.X are not compatible with 4.X.
If the globally installed development package of Berkely DB installed on your system is 5.X, any source you
build yourself will be linked against that. The first time you run with a 5.X version the database will be upgraded,
and 4.X cannot open the new format. This means that you cannot go back to the old statically linked version without
significant hassle!
.. _`this Debian issue`: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=621425
Ubuntu 11.10 warning
====================
Ubuntu 11.10 has a package called 'qt-at-spi' installed by default. At the time of writing, having that package
installed causes bitcoin-qt to crash intermittently. The issue has been reported as `launchpad bug 857790`_, but
isn't yet fixed.
Until the bug is fixed, you can remove the qt-at-spi package to work around the problem, though this will presumably
disable screen reader functionality for Qt apps:
::
sudo apt-get remove qt-at-spi
.. _`launchpad bug 857790`: https://bugs.launchpad.net/ubuntu/+source/qt-at-spi/+bug/857790

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

@@ -0,0 +1,131 @@
* update translations (ping tcatm on IRC for now)
* update (commit) version in sources
bitcoin-qt.pro
src/serialize.h
share/setup.nsi
doc/README*
* tag version in git
git tag -a v0.5.1
* write release notes. git shortlog helps a lot:
git shortlog --no-merges v0.5.0..
* perform gitian builds
* From a directory containing the bitcoin source, gitian-builder and gitian.sigs
export SIGNER=(your gitian key, ie bluematt, sipa, etc)
export VERSION=0.5.1
cd ./gitian-builder
* Fetch and build inputs:
mkdir -p inputs; cd inputs/
wget 'http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.6.tar.gz' -O miniupnpc-1.6.tar.gz
wget 'http://www.openssl.org/source/openssl-1.0.0e.tar.gz'
wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
wget 'http://downloads.sourceforge.net/project/boost/boost/1.47.0/boost_1_47_0.tar.bz2'
wget 'http://download.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.4.tar.gz'
cd ..
./bin/gbuild ../bitcoin/contrib/gitian-descriptors/boost-win32.yml
cp build/out/boost-win32-1.47.0-gitian.zip inputs/
./bin/gbuild ../bitcoin/contrib/gitian-descriptors/qt-win32.yml
cp build/out/qt-win32-4.7.4-gitian.zip inputs/
* Build bitcoind and bitcoin-qt on Linux32, Linux64, and Win32:
./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian.yml
./bin/gsign --signer $SIGNER --release ${VERSION} --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian.yml
pushd build/out
zip -r bitcoin-${VERSION}-linux-gitian.zip *
mv bitcoin-${VERSION}-linux-gitian.zip ../../
popd
./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win32.yml
./bin/gsign --signer $SIGNER --release ${VERSION}-win32 --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win32.yml
pushd build/out
zip -r bitcoin-${VERSION}-win32-gitian.zip *
mv bitcoin-${VERSION}-win32-gitian.zip ../../
popd
Build output expected:
1. linux 32-bit and 64-bit binaries + source (bitcoin-${VERSION}-linux-gitian.zip)
2. windows 32-bit binary, installer + source (bitcoin-${VERSION}-win32-gitian.zip)
3. Gitian signatures (in gitian.sigs/${VERSION}[-win32]/(your gitian key)/
* repackage gitian builds for release as stand-alone zip/tar/installer exe
* Linux .tar.gz:
unzip bitcoin-${VERSION}-linux-gitian.zip -d bitcoin-${VERSION}-linux
tar czvf bitcoin-${VERSION}-linux.tar.gz bitcoin-${VERSION}-linux
rm -rf bitcoin-${VERSION}-linux
* Windows .zip and setup.exe:
unzip bitcoin-${VERSION}-win32-gitian.zip -d bitcoin-${VERSION}-win32
mv bitcoin-${VERSION}-win32/bitcoin-*-setup.exe .
zip -r bitcoin-${VERSION}-win32.zip bitcoin-${VERSION}-win32
rm -rf bitcoin-${VERSION}-win32
* perform Mac build
See this blog post for how Gavin set up his build environment and
patched macdeployqt to build the OSX release:
http://gavintech.blogspot.com/2011/11/deploying-bitcoin-qt-on-osx.html
qmake USE_SSL=1 USE_UPNP=1 bitcoin-qt.pro
make
export QTDIR=/opt/local/share/qt4 # needed to find translations/qt_*.qm files
T=$(contrib/qt_translations.py $QTDIR/translations src/qt/locale)
contrib/macdeploy/macdeployqtplus Bitcoin-Qt.app -add-qt-tr $T -dmg -fancy contrib/macdeploy/fancy.plist
Build output expected:
Bitcoin-Qt.dmg
* upload builds to SourceForge
* create SHA256SUMS for builds, and PGP-sign it
* update bitcoin.org version
* update forum version
* update wiki download links
* Commit your signature to gitian.sigs:
pushd gitian.sigs
git add ${VERSION}/${SIGNER}
git add ${VERSION}-win32/${SIGNER}
git commit -a
git push # Assuming you can push to the gitian.sigs tree
popd
-------------------------------------------------------------------------
* After 3 or more people have gitian-built, repackage gitian-signed zips:
* From a directory containing bitcoin source, gitian.sigs and gitian zips
export VERSION=0.5.1
mkdir bitcoin-${VERSION}-linux-gitian
pushd bitcoin-${VERSION}-linux-gitian
unzip ../bitcoin-${VERSION}-linux-gitian.zip
mkdir gitian
cp ../bitcoin/contrib/gitian-downloader/*.pgp ./gitian/
for signer in $(ls ../gitian.sigs/${VERSION}/); do
cp ../gitian.sigs/${VERSION}/${signer}/bitcoin-build.assert ./gitian/${signer}-build.assert
cp ../gitian.sigs/${VERSION}/${signer}/bitcoin-build.assert.sig ./gitian/${signer}-build.assert.sig
done
zip -r bitcoin-${VERSION}-linux-gitian.zip *
cp bitcoin-${VERSION}-linux-gitian.zip ../
popd
mkdir bitcoin-${VERSION}-win32-gitian
pushd bitcoin-${VERSION}-win32-gitian
unzip ../bitcoin-${VERSION}-win32-gitian.zip
mkdir gitian
cp ../bitcoin/contrib/gitian-downloader/*.pgp ./gitian/
for signer in $(ls ../gitian.sigs/${VERSION}-win32/); do
cp ../gitian.sigs/${VERSION}-win32/${signer}/bitcoin-build.assert ./gitian/${signer}-build.assert
cp ../gitian.sigs/${VERSION}-win32/${signer}/bitcoin-build.assert.sig ./gitian/${signer}-build.assert.sig
done
zip -r bitcoin-${VERSION}-win32-gitian.zip *
cp bitcoin-${VERSION}-win32-gitian.zip ../
popd
* Upload gitian zips to SourceForge

View File

@@ -0,0 +1,63 @@
Translations
============
The QT GUI can be easily be translated into other languages. Here's how we
handle those translations.
Files and Folders
-----------------
### bitcoin-qt.pro
This file takes care of generating `.qm` files from `.ts` files. It is mostly
automated.
### src/qt/bitcoin.qrc
This file must be updated whenever a new translation is added. Please note that
files must end with `.qm`, not `.ts`.
<qresource prefix="/translations">
<file alias="en">locale/bitcoin_en.qm</file>
...
</qresource>
### src/qt/locale/
This directory contains all translations. Filenames must adhere to this format:
bitcoin_xx_YY.ts or bitcoin_xx.ts
#### Source file
`src/qt/locale/bitcoin_en.ts` is a treated in a special way. It is used as the
source for all other translations. Whenever a string in the code is change
this file must be updated to reflect those changes. Usually, this can be
accomplished by running `lupdate`
Syncing with transifex
----------------------
We are using http://transifex.net as a frontend for translating the client.
https://www.transifex.net/projects/p/bitcoin/resource/tx/
The "transifex client":http://help.transifex.net/features/client/index.html
will help with fetching new translations from transifex.
### .tx/config
[main]
host = https://www.transifex.net
[bitcoin.tx]
file_filter = src/qt/locale/bitcoin_<lang>.ts
source_file = src/qt/locale/bitcoin_en.ts
source_lang = en
### Fetching new translations
1. `tx pull -a`
2. update `src/qt/bitcoin.qrc`
3. `git add` new translations from `src/qt/locale/`

678
init.cpp
View File

@@ -1,678 +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"
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);
}
}
//////////////////////////////////////////////////////////////////////////////
//
// Startup folder
//
#ifdef __WXMSW__
string StartupShortcutPath()
{
return MyGetSpecialFolderPath(CSIDL_STARTUP, true) + "\\Bitcoin.lnk";
}
bool GetStartOnSystemStartup()
{
return filesystem::exists(StartupShortcutPath().c_str());
}
void SetStartOnSystemStartup(bool fAutoStart)
{
// If the shortcut exists already, remove it for updating
remove(StartupShortcutPath().c_str());
if (fAutoStart)
{
CoInitialize(NULL);
// Get a pointer to the IShellLink interface.
IShellLink* psl = NULL;
HRESULT hres = CoCreateInstance(CLSID_ShellLink, NULL,
CLSCTX_INPROC_SERVER, IID_IShellLink,
reinterpret_cast<void**>(&psl));
if (SUCCEEDED(hres))
{
// Get the current executable path
TCHAR pszExePath[MAX_PATH];
GetModuleFileName(NULL, pszExePath, sizeof(pszExePath));
// Set the path to the shortcut target
psl->SetPath(pszExePath);
PathRemoveFileSpec(pszExePath);
psl->SetWorkingDirectory(pszExePath);
psl->SetShowCmd(SW_SHOWMINNOACTIVE);
// Query IShellLink for the IPersistFile interface for
// saving the shortcut in persistent storage.
IPersistFile* ppf = NULL;
hres = psl->QueryInterface(IID_IPersistFile,
reinterpret_cast<void**>(&ppf));
if (SUCCEEDED(hres))
{
WCHAR pwsz[MAX_PATH];
// Ensure that the string is ANSI.
MultiByteToWideChar(CP_ACP, 0, StartupShortcutPath().c_str(), -1, pwsz, MAX_PATH);
// Save the link by calling IPersistFile::Save.
hres = ppf->Save(pwsz, TRUE);
ppf->Release();
}
psl->Release();
}
CoUninitialize();
}
}
#elif defined(__WXGTK__)
//
// Follow the Desktop Application Autostart Spec:
// http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html
//
boost::filesystem::path GetAutostartDir()
{
namespace fs = boost::filesystem;
char* pszConfigHome = getenv("XDG_CONFIG_HOME");
if (pszConfigHome) return fs::path(pszConfigHome) / fs::path("autostart");
char* pszHome = getenv("HOME");
if (pszHome) return fs::path(pszHome) / fs::path(".config/autostart");
return fs::path();
}
boost::filesystem::path GetAutostartFilePath()
{
return GetAutostartDir() / boost::filesystem::path("bitcoin.desktop");
}
bool GetStartOnSystemStartup()
{
boost::filesystem::ifstream optionFile(GetAutostartFilePath());
if (!optionFile.good())
return false;
// Scan through file for "Hidden=true":
string line;
while (!optionFile.eof())
{
getline(optionFile, line);
if (line.find("Hidden") != string::npos &&
line.find("true") != string::npos)
return false;
}
optionFile.close();
return true;
}
void SetStartOnSystemStartup(bool fAutoStart)
{
if (!fAutoStart)
{
unlink(GetAutostartFilePath().native_file_string().c_str());
}
else
{
boost::filesystem::create_directories(GetAutostartDir());
boost::filesystem::ofstream optionFile(GetAutostartFilePath(), ios_base::out|ios_base::trunc);
if (!optionFile.good())
{
wxMessageBox(_("Cannot write autostart/bitcoin.desktop file"), "Bitcoin");
return;
}
// Write a bitcoin.desktop file to the autostart directory:
char pszExePath[MAX_PATH+1];
memset(pszExePath, 0, sizeof(pszExePath));
readlink("/proc/self/exe", pszExePath, sizeof(pszExePath)-1);
optionFile << "[Desktop Entry]\n";
optionFile << "Type=Application\n";
optionFile << "Name=Bitcoin\n";
optionFile << "Exec=" << pszExePath << "\n";
optionFile << "Terminal=false\n";
optionFile << "Hidden=false\n";
optionFile.close();
}
}
#else
// TODO: OSX startup stuff; see:
// http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/BPSystemStartup/Articles/CustomLogin.html
bool GetStartOnSystemStartup() { return false; }
void SetStartOnSystemStartup(bool fAutoStart) { }
#endif
//////////////////////////////////////////////////////////////////////////////
//
// CMyApp
//
// Define a new application
class CMyApp : public wxApp
{
public:
wxLocale m_locale;
CMyApp(){};
~CMyApp(){};
bool OnInit();
bool OnInit2();
int OnExit();
// Hook Initialize so we can start without GUI
virtual bool Initialize(int& argc, wxChar** argv);
// 2nd-level exception handling: we get all the exceptions occurring in any
// event handler here
virtual bool OnExceptionInMainLoop();
// 3rd, and final, level exception handling: whenever an unhandled
// exception is caught, this function is called
virtual void OnUnhandledException();
// and now for something different: this function is called in case of a
// crash (e.g. dereferencing null pointer, division by 0, ...)
virtual void OnFatalException();
};
IMPLEMENT_APP(CMyApp)
bool CMyApp::Initialize(int& argc, wxChar** argv)
{
if (argc > 1 && argv[1][0] != '-' && (!fWindows || argv[1][0] != '/') &&
wxString(argv[1]) != "start")
{
fCommandLine = true;
}
else if (!fGUI)
{
fDaemon = true;
}
else
{
// wxApp::Initialize will remove environment-specific parameters,
// so it's too early to call ParseParameters yet
for (int i = 1; i < argc; i++)
{
wxString str = argv[i];
#ifdef __WXMSW__
if (str.size() >= 1 && str[0] == '/')
str[0] = '-';
char pszLower[MAX_PATH];
strlcpy(pszLower, str.c_str(), sizeof(pszLower));
strlwr(pszLower);
str = pszLower;
#endif
// haven't decided which argument to use for this yet
if (str == "-daemon" || str == "-d" || str == "start")
fDaemon = true;
}
}
#ifdef __WXGTK__
if (fDaemon || fCommandLine)
{
// Call the original Initialize while suppressing error messages
// and ignoring failure. If unable to initialize GTK, it fails
// near the end so hopefully the last few things don't matter.
{
wxLogNull logNo;
wxApp::Initialize(argc, argv);
}
if (fDaemon)
{
// Daemonize
pid_t pid = fork();
if (pid < 0)
{
fprintf(stderr, "Error: fork() returned %d errno %d\n", pid, errno);
return false;
}
if (pid > 0)
pthread_exit((void*)0);
}
return true;
}
#endif
return wxApp::Initialize(argc, argv);
}
bool CMyApp::OnInit()
{
bool fRet = false;
try
{
fRet = OnInit2();
}
catch (std::exception& e) {
PrintException(&e, "OnInit()");
} catch (...) {
PrintException(NULL, "OnInit()");
}
if (!fRet)
Shutdown(NULL);
return fRet;
}
extern int g_isPainting;
bool CMyApp::OnInit2()
{
#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
#if defined(__WXMSW__) && defined(__WXDEBUG__) && wxUSE_GUI
// Disable malfunctioning wxWidgets debug assertion
g_isPainting = 10000;
#endif
#if wxUSE_GUI
wxImage::AddHandler(new wxPNGHandler);
#endif
#if defined(__WXMSW__ ) || defined(__WXMAC__)
SetAppName("Bitcoin");
#else
SetAppName("bitcoin");
#endif
#ifndef __WXMSW__
umask(077);
#endif
#ifdef __WXMSW__
#if wxUSE_UNICODE
// Hack to set wxConvLibc codepage to UTF-8 on Windows,
// may break if wxMBConv_win32 implementation in strconv.cpp changes.
class wxMBConv_win32 : public wxMBConv
{
public:
long m_CodePage;
size_t m_minMBCharWidth;
};
if (((wxMBConv_win32*)&wxConvLibc)->m_CodePage == CP_ACP)
((wxMBConv_win32*)&wxConvLibc)->m_CodePage = CP_UTF8;
#endif
#endif
// Load locale/<lang>/LC_MESSAGES/bitcoin.mo language file
m_locale.Init(wxLANGUAGE_DEFAULT, 0);
m_locale.AddCatalogLookupPathPrefix("locale");
if (!fWindows)
{
m_locale.AddCatalogLookupPathPrefix("/usr/share/locale");
m_locale.AddCatalogLookupPathPrefix("/usr/local/share/locale");
}
m_locale.AddCatalog("wxstd"); // wxWidgets standard translations, if any
m_locale.AddCatalog("bitcoin");
//
// Parameters
//
if (fCommandLine)
{
int ret = CommandLineRPC(argc, argv);
exit(ret);
}
ParseParameters(argc, argv);
if (mapArgs.count("-?") || mapArgs.count("--help"))
{
wxString strUsage = string() +
_("Usage:") + "\t\t\t\t\t\t\t\t\t\t\n" +
" bitcoin [options] \t" + "\n" +
" bitcoin [command] \t" + _("Send command to bitcoin running with -server or -daemon\n") +
" bitcoin [command] -? \t" + _("Get help for a command\n") +
" bitcoin help \t" + _("List commands\n") +
_("Options:\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__) && wxUSE_GUI
// Tabs make the columns line up in the message box
wxMessageBox(strUsage, "Bitcoin", wxOK);
#else
// Remove tabs
strUsage.Replace("\t", "");
fprintf(stderr, "%s", ((string)strUsage).c_str());
#endif
return false;
}
if (mapArgs.count("-datadir"))
strlcpy(pszSetDataDir, mapArgs["-datadir"].c_str(), sizeof(pszSetDataDir));
if (mapArgs.count("-debug"))
fDebug = true;
if (mapArgs.count("-printtodebugger"))
fPrintToDebugger = true;
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, OS version %s\n", VERSION/10000, (VERSION/100)%100, VERSION%100, pszSubVer, ((string)wxGetOsDescription()).c_str());
printf("System default language is %d %s\n", m_locale.GetSystemLanguage(), ((string)m_locale.GetSysName()).c_str());
printf("Language file %s (%s)\n", (string("locale/") + (string)m_locale.GetCanonicalName() + "/LC_MESSAGES/bitcoin.mo").c_str(), ((string)m_locale.GetLocale()).c_str());
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.*
//
#ifdef __WXMSW__
// 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
//
if (!fDaemon)
CreateMainWindow();
if (!CheckDiskSpace())
return false;
RandAddSeedPerfmon();
if (!CreateThread(StartNode, NULL))
wxMessageBox("Error: CreateThread(StartNode) failed", "Bitcoin");
if (mapArgs.count("-server") || fDaemon)
CreateThread(ThreadRPCServer, NULL);
if (fFirstRun)
SetStartOnSystemStartup(true);
return true;
}
int CMyApp::OnExit()
{
Shutdown(NULL);
return wxApp::OnExit();
}
bool CMyApp::OnExceptionInMainLoop()
{
try
{
throw;
}
catch (std::exception& e)
{
PrintException(&e, "CMyApp::OnExceptionInMainLoop()");
wxLogWarning("Exception %s %s", typeid(e).name(), e.what());
Sleep(1000);
throw;
}
catch (...)
{
PrintException(NULL, "CMyApp::OnExceptionInMainLoop()");
wxLogWarning("Unknown exception");
Sleep(1000);
throw;
}
return true;
}
void CMyApp::OnUnhandledException()
{
// this shows how we may let some exception propagate uncaught
try
{
throw;
}
catch (std::exception& e)
{
PrintException(&e, "CMyApp::OnUnhandledException()");
wxLogWarning("Exception %s %s", typeid(e).name(), e.what());
Sleep(1000);
throw;
}
catch (...)
{
PrintException(NULL, "CMyApp::OnUnhandledException()");
wxLogWarning("Unknown exception");
Sleep(1000);
throw;
}
}
void CMyApp::OnFatalException()
{
wxMessageBox(_("Program has crashed and will terminate. "), "Bitcoin", wxOK | wxICON_ERROR);
}

168
key.h
View File

@@ -1,168 +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.
// secp160k1
// const unsigned int PRIVATE_KEY_SIZE = 192;
// const unsigned int PUBLIC_KEY_SIZE = 41;
// const unsigned int SIGNATURE_SIZE = 48;
//
// secp192k1
// const unsigned int PRIVATE_KEY_SIZE = 222;
// const unsigned int PUBLIC_KEY_SIZE = 49;
// const unsigned int SIGNATURE_SIZE = 57;
//
// secp224k1
// const unsigned int PRIVATE_KEY_SIZE = 250;
// const unsigned int PUBLIC_KEY_SIZE = 57;
// const unsigned int SIGNATURE_SIZE = 66;
//
// secp256k1:
// const unsigned int PRIVATE_KEY_SIZE = 279;
// const unsigned int PUBLIC_KEY_SIZE = 65;
// const unsigned int SIGNATURE_SIZE = 72;
//
// see www.keylength.com
// script supports up to 75 for single byte push
class key_error : public std::runtime_error
{
public:
explicit key_error(const std::string& str) : std::runtime_error(str) {}
};
// secure_allocator is defined in serialize.h
typedef vector<unsigned char, secure_allocator<unsigned char> > CPrivKey;
class CKey
{
protected:
EC_KEY* pkey;
bool fSet;
public:
CKey()
{
pkey = EC_KEY_new_by_curve_name(NID_secp256k1);
if (pkey == NULL)
throw key_error("CKey::CKey() : EC_KEY_new_by_curve_name failed");
fSet = false;
}
CKey(const CKey& b)
{
pkey = EC_KEY_dup(b.pkey);
if (pkey == NULL)
throw key_error("CKey::CKey(const CKey&) : EC_KEY_dup failed");
fSet = b.fSet;
}
CKey& operator=(const CKey& b)
{
if (!EC_KEY_copy(pkey, b.pkey))
throw key_error("CKey::operator=(const CKey&) : EC_KEY_copy failed");
fSet = b.fSet;
return (*this);
}
~CKey()
{
EC_KEY_free(pkey);
}
bool IsNull() const
{
return !fSet;
}
void MakeNewKey()
{
if (!EC_KEY_generate_key(pkey))
throw key_error("CKey::MakeNewKey() : EC_KEY_generate_key failed");
fSet = true;
}
bool SetPrivKey(const CPrivKey& vchPrivKey)
{
const unsigned char* pbegin = &vchPrivKey[0];
if (!d2i_ECPrivateKey(&pkey, &pbegin, vchPrivKey.size()))
return false;
fSet = true;
return true;
}
CPrivKey GetPrivKey() const
{
unsigned int nSize = i2d_ECPrivateKey(pkey, NULL);
if (!nSize)
throw key_error("CKey::GetPrivKey() : i2d_ECPrivateKey failed");
CPrivKey vchPrivKey(nSize, 0);
unsigned char* pbegin = &vchPrivKey[0];
if (i2d_ECPrivateKey(pkey, &pbegin) != nSize)
throw key_error("CKey::GetPrivKey() : i2d_ECPrivateKey returned unexpected size");
return vchPrivKey;
}
bool SetPubKey(const vector<unsigned char>& vchPubKey)
{
const unsigned char* pbegin = &vchPubKey[0];
if (!o2i_ECPublicKey(&pkey, &pbegin, vchPubKey.size()))
return false;
fSet = true;
return true;
}
vector<unsigned char> GetPubKey() const
{
unsigned int nSize = i2o_ECPublicKey(pkey, NULL);
if (!nSize)
throw key_error("CKey::GetPubKey() : i2o_ECPublicKey failed");
vector<unsigned char> vchPubKey(nSize, 0);
unsigned char* pbegin = &vchPubKey[0];
if (i2o_ECPublicKey(pkey, &pbegin) != nSize)
throw key_error("CKey::GetPubKey() : i2o_ECPublicKey returned unexpected size");
return vchPubKey;
}
bool Sign(uint256 hash, vector<unsigned char>& vchSig)
{
vchSig.clear();
unsigned char pchSig[10000];
unsigned int nSize = 0;
if (!ECDSA_sign(0, (unsigned char*)&hash, sizeof(hash), pchSig, &nSize, pkey))
return false;
vchSig.resize(nSize);
memcpy(&vchSig[0], pchSig, nSize);
return true;
}
bool Verify(uint256 hash, const vector<unsigned char>& vchSig)
{
// -1 = error, 0 = bad sig, 1 = good
if (ECDSA_verify(0, (unsigned char*)&hash, sizeof(hash), &vchSig[0], vchSig.size(), pkey) != 1)
return false;
return true;
}
static bool Sign(const CPrivKey& vchPrivKey, uint256 hash, vector<unsigned char>& vchSig)
{
CKey key;
if (!key.SetPrivKey(vchPrivKey))
return false;
return key.Sign(hash, vchSig);
}
static bool Verify(const vector<unsigned char>& vchPubKey, uint256 hash, const vector<unsigned char>& vchSig)
{
CKey key;
if (!key.SetPubKey(vchPubKey))
return false;
return key.Verify(hash, vchSig);
}
};

Binary file not shown.

View File

@@ -1,809 +0,0 @@
# DataWraith <DataWraith@web.de>, 2010.
msgid ""
msgstr ""
"POT-Creation-Date: 2010-05-26 22:02-0000\n"
"PO-Revision-Date: 2010-06-03 13:11+0200\n"
"Last-Translator: DataWraith\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"
"X-Generator: Lokalize 1.0\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
#: ../../../init.cpp:342
msgid "Usage: bitcoin [options]"
msgstr "Verwendung: bitcoin [optionen]"
#: ../../../init.cpp:343
msgid "Options:\n"
msgstr "Optionen:\n"
#: ../../../init.cpp:344
msgid "Generate coins\n"
msgstr "Münzen erzeugen\n"
#: ../../../init.cpp:345
msgid "Don't generate coins\n"
msgstr "Keine Münzen erzeugen\n"
#: ../../../init.cpp:346
msgid "Start minimized\n"
msgstr "Minimiert starten\n"
#: ../../../init.cpp:347
msgid "Specify data directory\n"
msgstr "Datenverzeichnis festlegen\n"
#: ../../../init.cpp:348
msgid "Connect through socks4 proxy\n"
msgstr "Socks4 Proxy verwenden\n"
#: ../../../init.cpp:349
msgid "Add a node to connect to\n"
msgstr "Einen Teilnehmer hinzufügen, zu dem verbunden werden soll\n"
#: ../../../init.cpp:350
msgid "Connect only to the specified node\n"
msgstr "Nur zu dem angegebenen Teilnehmer verbinden\n"
#: ../../../init.cpp:351
msgid "This help message\n"
msgstr "Diese Anleitung\n"
#: ../../../init.cpp:455
msgid "Error loading addr.dat \n"
msgstr "Fehler beim Laden von addr.dat \n"
#: ../../../init.cpp:461
msgid "Error loading blkindex.dat \n"
msgstr "Fehler beim Laden von blkindex.dat \n"
#: ../../../init.cpp:468
msgid "Error loading wallet.dat \n"
msgstr "Fehler beim Laden von wallet.dat \n"
#: ../../../init.cpp:536
msgid "Invalid -proxy address"
msgstr "Ungültige -Proxy Adresse"
#: ../../../init.cpp:629
msgid "Program has crashed and will terminate. "
msgstr "Das Programm ist abgestürzt und wird beendet. "
#: ../../../main.cpp:1465
msgid "Warning: Disk space is low "
msgstr "Warnung: Festplatte fast voll "
#: ../../../main.cpp:2994
#, c-format
msgid "Error: This is an oversized transaction that requires a transaction fee of %s "
msgstr "Fehler: Die Überweisung ist sehr groß. Es wird eine Gebühr von %s erhoben. "
#: ../../../main.cpp:2996
msgid "Error: Transaction creation failed "
msgstr "Fehler: Überweisung konnte nicht erzeugt werden. "
#: ../../../main.cpp:3001
#: ../../../ui.cpp:1761
#: ../../../ui.cpp:1763
#: ../../../ui.cpp:1904
#: ../../../ui.cpp:2053
msgid "Sending..."
msgstr "Überweise..."
#: ../../../main.cpp:3005
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 "Fehler: Die Überweisung wurde abgelehnt. Das kann passieren, wenn einige der Münzen in Ihrer Brieftasche bereits ausgegeben wurden, z.B. weil Sie eine Kopie der Brieftasche (wallet.dat) gemacht haben. Bitcoins, die mithilfe der Kopie ausgegeben wurden, sind in dieser Brieftasche noch nicht als ausgegeben markiert worden."
#: ../../../main.cpp:3017
msgid "Invalid amount"
msgstr "Ungültiger Betrag"
#: ../../../main.cpp:3019
#: ../../../ui.cpp:1971
#: ../../../ui.cpp:2038
msgid "Insufficient funds"
msgstr "Unzureichende Geldmittel"
#: ../../../main.cpp:3024
msgid "Invalid bitcoin address"
msgstr "Ungültige Bitcoin-Adresse"
#: ../../../ui.cpp:189
#, 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 "Diese Überweisung übersteigt das Betragslimit. Sie können sie trotzdem tätigen, aber es wird eine Gebühr von %s erhoben, die an den Teilnehmer ausgeschüttet wird, der Ihre Überweisung bearbeitet und dadurch hilft das Netzwerk am laufen zu halten. Möchten Sie die Gebühr entrichten?"
#: ../../../ui.cpp:285
msgid "Status"
msgstr "Status"
#: ../../../ui.cpp:286
msgid "Date"
msgstr "Datum"
#: ../../../ui.cpp:287
msgid "Description"
msgstr "Beschreibung"
#: ../../../ui.cpp:288
msgid "Debit"
msgstr "Belastungen"
#: ../../../ui.cpp:289
msgid "Credit"
msgstr "Gutschriften"
#: ../../../ui.cpp:489
#, c-format
msgid "Open for %d blocks"
msgstr "Offen für %d Blöcke"
#: ../../../ui.cpp:491
#, c-format
msgid "Open until %s"
msgstr "Offen bis %s"
#: ../../../ui.cpp:497
#, c-format
msgid "%d/offline?"
msgstr "%d/Offline?"
#: ../../../ui.cpp:499
#, c-format
msgid "%d/unconfirmed"
msgstr "%d/nicht bestätigt"
#: ../../../ui.cpp:501
#, c-format
msgid "%d confirmations"
msgstr "%d Bestätigungen"
#: ../../../ui.cpp:584
msgid "Generated"
msgstr "Erzeugt"
#: ../../../ui.cpp:592
#, c-format
msgid "Generated (%s matures in %d more blocks)"
msgstr "Erzeugt (%s reifen nach %d weiteren Blöcken)"
#: ../../../ui.cpp:596
msgid "Generated - Warning: This block was not received by any other nodes and will probably not be accepted!"
msgstr "Erzeugt - Warnung: Dieser Block wurde von keinem anderen Teilnehmer empfangen und wird wahrscheinlich nicht akzeptiert werden!"
#: ../../../ui.cpp:600
msgid "Generated (not accepted)"
msgstr "Erzeugt (nicht akzeptiert)"
#: ../../../ui.cpp:610
msgid "From: "
msgstr "Von: "
#: ../../../ui.cpp:634
msgid "From: unknown, Received with: "
msgstr "Von: Unbekannt, Empfangen durch: "
#: ../../../ui.cpp:676
msgid "Payment to yourself"
msgstr "Überweisung an Sie selbst"
#: ../../../ui.cpp:713
msgid "To: "
msgstr "An: "
#: ../../../ui.cpp:1009
msgid " Generating"
msgstr " Erzeugen"
#: ../../../ui.cpp:1011
msgid "(not connected)"
msgstr "(nicht verbunden)"
#: ../../../ui.cpp:1014
#, c-format
msgid " %d connections %d blocks %d transactions"
msgstr " %d Verbindungen %d Blöcke %d Überweisungen"
#: ../../../ui.cpp:1123
#: ../../../ui.cpp:2351
msgid "New Receiving Address"
msgstr "&Neue Empfangs-Adresse"
#: ../../../ui.cpp:1124
#: ../../../ui.cpp:2352
msgid ""
"It's good policy to use a new address for each payment you receive.\n"
"\n"
"Label"
msgstr ""
"Am besten verwenden Sie für jede Zahlung die Sie erhalten eine neue Adresse.\n"
"\n"
"Beschreibung"
#: ../../../ui.cpp:1193
msgid "<b>Status:</b> "
msgstr "<b>Status:</b> "
#: ../../../ui.cpp:1198
msgid ", has not been successfully broadcast yet"
msgstr ", wurde noch nicht erfolgreich übertragen"
#: ../../../ui.cpp:1200
#, c-format
msgid ", broadcast through %d node"
msgstr ", durch %d Teilnehmer übertragen"
#: ../../../ui.cpp:1202
#, c-format
msgid ", broadcast through %d nodes"
msgstr ", durch %d Teilnehmer übertragen"
#: ../../../ui.cpp:1206
msgid "<b>Date:</b> "
msgstr "<b>Datum</b> "
#: ../../../ui.cpp:1214
msgid "<b>Source:</b> Generated<br>"
msgstr "<b>Quelle:</b>Erzeugt<br>"
#: ../../../ui.cpp:1220
#: ../../../ui.cpp:1238
msgid "<b>From:</b> "
msgstr "<b>Von:</b> "
#: ../../../ui.cpp:1238
msgid "unknown"
msgstr "Unbekannt"
#: ../../../ui.cpp:1239
#: ../../../ui.cpp:1263
#: ../../../ui.cpp:1322
msgid "<b>To:</b> "
msgstr "<b>An:</b> "
#: ../../../ui.cpp:1242
msgid " (yours, label: "
msgstr " (Eigene, Beschreibung: "
#: ../../../ui.cpp:1244
msgid " (yours)"
msgstr " (Eigene)"
#: ../../../ui.cpp:1281
#: ../../../ui.cpp:1293
#: ../../../ui.cpp:1356
msgid "<b>Credit:</b> "
msgstr "<b>Gutschrift:</b> "
#: ../../../ui.cpp:1283
#, c-format
msgid "(%s matures in %d more blocks)"
msgstr "(%s reifen nach %d weiteren Blöcken)"
#: ../../../ui.cpp:1285
msgid "(not accepted)"
msgstr "(nicht akzeptiert)"
#: ../../../ui.cpp:1330
#: ../../../ui.cpp:1353
msgid "<b>Debit:</b> "
msgstr "<b>Belastung:</b> "
#: ../../../ui.cpp:1344
msgid "<b>Transaction fee:</b> "
msgstr "<b>Überweisungsgebühr:</b> "
#: ../../../ui.cpp:1360
msgid "<b>Net amount:</b> "
msgstr "<b>Nettobetrag:</b> "
#: ../../../ui.cpp:1367
msgid "Message:"
msgstr "Nachricht:"
#: ../../../ui.cpp:1370
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 ""
"Erzeugte Münzen müssen 120 Blöcke lang reifen. Als Sie diesen Block erzeugt haben, wurde er an alle Teilnehmer übertragen, damit er zur Block-Kette hinzugefügt werden kann. Falls der Block es nicht in die Block-Kette schafft, wird die Beschreibung zu \"nicht akzeptiert\" geändert, und Sie können die Münzen nicht ausgeben. Dies kann manchmal "
"passieren, wenn Sie und ein anderer Teilnehmer annähernd zeitgleich einen Block erzeugen."
#: ../../../ui.cpp:1437
msgid "Main"
msgstr "Haupt"
#: ../../../ui.cpp:1442
msgid "&Minimize on close"
msgstr "Beim schließen &Minimieren"
#: ../../../ui.cpp:1595
#, c-format
msgid "version 0.%d.%d beta"
msgstr "Version 0.%d.%d Beta"
#: ../../../ui.cpp:1681
msgid "Will appear as \"From: Unknown\""
msgstr "Wird als \"Von: Unbekannt\" erscheinen"
#: ../../../ui.cpp:1682
msgid "Can't include a message when sending to a Bitcoin address"
msgstr "Beim überweisen an eine Bitcoin-Adresse kann keine Nachricht angegeben werden."
#: ../../../ui.cpp:1735
msgid "Error in amount "
msgstr "Fehler in Betrag "
#: ../../../ui.cpp:1735
#: ../../../ui.cpp:1740
#: ../../../ui.cpp:1745
#: ../../../ui.cpp:1771
#: ../../../uibase.cpp:61
msgid "Send Coins"
msgstr "Überweisen"
#: ../../../ui.cpp:1740
msgid "Amount exceeds your balance "
msgstr "Der Betrag übersteigt Ihr Guthaben "
#: ../../../ui.cpp:1745
msgid "Total exceeds your balance when the "
msgstr "Der Betrag übersteigt Ihr Guthaben, wenn man die Überweisungsgebühr von "
#: ../../../ui.cpp:1745
msgid " transaction fee is included "
msgstr " berücksichtigt "
#: ../../../ui.cpp:1761
msgid "Payment sent "
msgstr "Zahlung überwiesen "
#: ../../../ui.cpp:1771
msgid "Invalid address "
msgstr "Ungültige Adresse "
#: ../../../ui.cpp:1825
#, c-format
msgid "Sending %s to %s"
msgstr "Überweise %s an %s"
#: ../../../ui.cpp:1898
#: ../../../ui.cpp:1931
msgid "CANCELLED"
msgstr "ANNULLIERT"
#: ../../../ui.cpp:1902
msgid "Cancelled"
msgstr "Annulliert"
#: ../../../ui.cpp:1904
msgid "Transfer cancelled "
msgstr "Überweisung annulliert "
#: ../../../ui.cpp:1957
msgid "Error: "
msgstr "Fehler: "
#: ../../../ui.cpp:1976
msgid "Connecting..."
msgstr "Verbinde..."
#: ../../../ui.cpp:1981
msgid "Unable to connect"
msgstr "Kann nicht verbinden"
#: ../../../ui.cpp:1986
msgid "Requesting public key..."
msgstr "Fordere öffentlichen Schlüssel an..."
#: ../../../ui.cpp:1998
msgid "Received public key..."
msgstr "Öffentlichen Schlüssel empfangen..."
#: ../../../ui.cpp:2010
msgid "Transfer was not accepted"
msgstr "Überweisung wurde nicht akzeptiert"
#: ../../../ui.cpp:2019
msgid "Invalid response received"
msgstr "Ungültige Antwort erhalten"
#: ../../../ui.cpp:2034
msgid "Creating transaction..."
msgstr "Erstelle Überweisung..."
#: ../../../ui.cpp:2046
#, c-format
msgid "This is an oversized transaction that requires a transaction fee of %s"
msgstr "Die Überweisung ist sehr groß. Es wird eine Gebühr von %s erhoben."
#: ../../../ui.cpp:2048
msgid "Transaction creation failed"
msgstr "Überweisung konnte nicht erzeugt werden."
#: ../../../ui.cpp:2055
msgid "Transaction aborted"
msgstr "Überweisung abgebrochen"
#: ../../../ui.cpp:2063
msgid "Lost connection, transaction cancelled"
msgstr "Verbindung verloren, Überweisungsvorgang abgebrochen"
#: ../../../ui.cpp:2079
msgid "Sending payment..."
msgstr "Überweise Zahlung..."
#: ../../../ui.cpp:2085
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 "Die Überweisung wurde abgelehnt. Das kann passieren, wenn einige der Münzen in Ihrer Brieftasche bereits ausgegeben wurden, z.B. weil Sie eine Kopie der Brieftasche (wallet.dat) gemacht haben. Bitcoins, die mithilfe der Kopie ausgegeben wurden, sind in dieser Brieftasche noch nicht als ausgegeben markiert worden."
#: ../../../ui.cpp:2092
msgid "Waiting for confirmation..."
msgstr "Warte auf Bestätigung..."
#: ../../../ui.cpp:2110
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 ""
"Die Zahlung wurde überwiesen, aber der Empfänger konnte sie nicht bestätigen.\n"
"Die Überweisung wurde gespeichert und wird dem Empfänger gutgeschrieben,\n"
"aber die begleitende Nachricht wird nicht ankommen."
#: ../../../ui.cpp:2119
msgid "Payment was sent, but an invalid response was received"
msgstr "Die Zahlung wurde überwiesen, aber die Antwort war fehlerhaft"
#: ../../../ui.cpp:2125
msgid "Payment completed"
msgstr "Zahlung ausgeführt"
#: ../../../ui.cpp:2156
#: ../../../ui.cpp:2302
#: ../../../ui.cpp:2339
msgid "Name"
msgstr "Name"
#: ../../../ui.cpp:2157
#: ../../../ui.cpp:2302
#: ../../../ui.cpp:2339
msgid "Address"
msgstr "Adresse"
#: ../../../ui.cpp:2159
#: ../../../ui.cpp:2314
msgid "Label"
msgstr "Beschreibung"
#: ../../../ui.cpp:2160
#: ../../../uibase.cpp:908
msgid "Bitcoin Address"
msgstr "Bitcoin-Adresse"
#: ../../../ui.cpp:2284
msgid "This is one of your own addresses for receiving payments and cannot be entered in the address book. "
msgstr "Dies ist eine Ihrer eigenen Adressen für den Zahlungseingang und kann deshalb nicht in das Adressbuch übernommen werden. "
#: ../../../ui.cpp:2302
#: ../../../ui.cpp:2308
msgid "Edit Address"
msgstr "Adresse bearbeiten"
#: ../../../ui.cpp:2314
msgid "Edit Address Label"
msgstr "Beschreibung der Adresse bearbeiten"
#: ../../../ui.cpp:2339
#: ../../../ui.cpp:2345
msgid "Add Address"
msgstr "Adresse hinzufügen"
#: ../../../ui.cpp:2421
msgid "Bitcoin"
msgstr "Bitcoin"
#: ../../../ui.cpp:2423
msgid "Bitcoin - Generating"
msgstr "Bitcoin - Erzeuge"
#: ../../../ui.cpp:2425
msgid "Bitcoin - (not connected)"
msgstr "Bitcoin - (nicht verbunden)"
#: ../../../ui.cpp:2500
msgid "&Open Bitcoin"
msgstr "Bitcoin Ö&ffnen"
#: ../../../ui.cpp:2501
msgid "O&ptions..."
msgstr "O&ptionen..."
#: ../../../ui.cpp:2502
#: ../../../uibase.cpp:34
msgid "&Generate Coins"
msgstr "Münzen Er&zeugen"
#: ../../../ui.cpp:2505
#: ../../../uibase.cpp:27
msgid "E&xit"
msgstr "B&eenden"
#: ../../../uibase.cpp:30
msgid "&File"
msgstr "&Datei"
#: ../../../uibase.cpp:38
msgid "&Your Receiving Addresses..."
msgstr "&Ihre Empfangs-Adressen..."
#: ../../../uibase.cpp:42
msgid "&Options..."
msgstr "&Optionen..."
#: ../../../uibase.cpp:45
msgid "&Settings"
msgstr "&Einstellungen"
#: ../../../uibase.cpp:49
msgid "&About..."
msgstr "Ü&ber..."
#: ../../../uibase.cpp:52
msgid "&Help"
msgstr "&Hilfe"
#: ../../../uibase.cpp:62
msgid "Address Book"
msgstr "Adressbuch"
#: ../../../uibase.cpp:77
msgid "Your Bitcoin Address:"
msgstr "Ihre Bitcoin-Adresse:"
#: ../../../uibase.cpp:84
msgid " &New... "
msgstr " &Neu... "
#: ../../../uibase.cpp:87
#: ../../../uibase.cpp:851
#: ../../../uibase.cpp:954
msgid " &Copy to Clipboard "
msgstr " In die Zwischenablage &kopieren "
#: ../../../uibase.cpp:102
msgid "Balance:"
msgstr "Kontostand:"
#: ../../../uibase.cpp:121
msgid " All"
msgstr " Alle"
#: ../../../uibase.cpp:121
msgid " Sent"
msgstr " Überwiesen"
#: ../../../uibase.cpp:121
msgid " Received"
msgstr " Erhalten"
#: ../../../uibase.cpp:121
msgid " In Progress"
msgstr " In Bearbeitung"
#: ../../../uibase.cpp:142
msgid "All Transactions"
msgstr "Alle Überweisungen"
#: ../../../uibase.cpp:153
msgid "Sent/Received"
msgstr "Überwiesen/Erhalten"
#: ../../../uibase.cpp:164
msgid "Sent"
msgstr "Überwiesen"
#: ../../../uibase.cpp:175
msgid "Received"
msgstr "Erhalten"
#: ../../../uibase.cpp:318
#: ../../../uibase.cpp:479
#: ../../../uibase.cpp:580
#: ../../../uibase.cpp:793
#: ../../../uibase.cpp:854
#: ../../../uibase.cpp:963
#: ../../../uibase.cpp:1052
msgid "OK"
msgstr "OK"
#: ../../../uibase.cpp:361
msgid "Optional transaction fee you give to the nodes that process your transactions."
msgstr "Optionale Überweisungsgebühr, die Sie an den Teilnehmer entrichten, der Ihre Überweisungen bearbeitet."
#: ../../../uibase.cpp:370
msgid "Transaction fee:"
msgstr "Überweisungsgebühr:"
#: ../../../uibase.cpp:386
msgid "&Limit coin generation to"
msgstr "Erzeugung von Münzen auf"
#: ../../../uibase.cpp:393
msgid "processors"
msgstr "Prozessoren &beschränken"
#: ../../../uibase.cpp:399
msgid "&Start Bitcoin on system startup"
msgstr "Bitcoin beim &Systemstart ausführen"
#: ../../../uibase.cpp:403
msgid "&Minimize to the tray instead of the taskbar"
msgstr "In den Infobereich statt in die Taskleiste &minimieren"
#: ../../../uibase.cpp:407
msgid "M&inimize to the tray on close"
msgstr "Beim schließen in den Infobereich m&inimieren"
#: ../../../uibase.cpp:414
msgid "&Connect through socks4 proxy: "
msgstr "&Verbinden per Socks4-Proxy: "
#: ../../../uibase.cpp:426
msgid "Proxy &IP:"
msgstr "Proxy &IP:"
#: ../../../uibase.cpp:434
msgid " &Port:"
msgstr " &Port:"
#: ../../../uibase.cpp:456
msgid "// [don't translate] Test panel 2 for future expansion"
msgstr ""
#: ../../../uibase.cpp:460
msgid "// [don't translate] Let's not start multiple pages until the first page is filled up"
msgstr ""
#: ../../../uibase.cpp:482
#: ../../../uibase.cpp:735
#: ../../../uibase.cpp:798
#: ../../../uibase.cpp:857
#: ../../../uibase.cpp:966
#: ../../../uibase.cpp:1055
msgid "Cancel"
msgstr "Abbrechen"
#: ../../../uibase.cpp:485
msgid "&Apply"
msgstr "&Anwenden"
#: ../../../uibase.cpp:546
msgid "Bitcoin "
msgstr "Bitcoin "
#: ../../../uibase.cpp:552
msgid "version"
msgstr "Version"
#: ../../../uibase.cpp:563
msgid ""
"Copyright (c) 2009-2010 Satoshi Nakamoto.\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)."
msgstr ""
"Copyright (c) 2009-2010 Satoshi Nakamoto.\n"
"\n"
"Dies ist experimentelle Software.\n"
"\n"
"Lizensiert unter der MIT/X11 Software-Lizenz. Beachten Sie die beiliegende\n"
"Datei license.txt oder http://www.opensource.org/licenses/mit-license.php.\n"
"\n"
"Dieses Produkt enthält Software, die vom OpenSSL-Projekt zur Nutzung im\n"
"OpenSSL Toolkit (http://www.openssl.org/) geschrieben wurde sowie\n"
"kryptographische Software von Eric Young (eay@cryptsoft.com)."
#: ../../../uibase.cpp:619
msgid "Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L) or IP address (e.g. 123.45.6.7)"
msgstr "Geben Sie eine Bitcoin-Adresse (z.B. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L) oder IP-Adresse (z.B. 123.45.6.7) ein"
#: ../../../uibase.cpp:633
msgid "Pay &To:"
msgstr "Überweisen &An:"
#: ../../../uibase.cpp:648
msgid "&Paste"
msgstr "&Einfügen"
#: ../../../uibase.cpp:651
msgid " Address &Book..."
msgstr " Address&buch..."
#: ../../../uibase.cpp:658
msgid "&Amount:"
msgstr "&Betrag:"
#: ../../../uibase.cpp:668
msgid "T&ransfer:"
msgstr "Ü&berweisung:"
#: ../../../uibase.cpp:674
msgid " Standard"
msgstr " Standard"
#: ../../../uibase.cpp:696
msgid "&From:"
msgstr "&Von:"
#: ../../../uibase.cpp:713
msgid "&Message:"
msgstr "&Nachricht:"
#: ../../../uibase.cpp:730
msgid "&Send"
msgstr "Ü&berweisen"
#: ../../../uibase.cpp:782
msgid ""
"\n"
"\n"
"Connecting..."
msgstr ""
"\n"
"\n"
"Verbinde..."
#: ../../../uibase.cpp:832
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 "Dies sind Ihre Bitcoin-Adressen zum Empfang von Zahlungen. Sie sollten vielleicht jedem Überweisenden eine andere Adresse geben um nachvollziehen zu können von wem eine Zahlung stammt. Die markierte Adresse wird im Hauptfenster angezeigt."
#: ../../../uibase.cpp:845
#: ../../../uibase.cpp:957
msgid "&Edit..."
msgstr "&Bearbeiten..."
#: ../../../uibase.cpp:848
#: ../../../uibase.cpp:960
msgid " &New Address... "
msgstr " &Neue Adresse... "
#: ../../../uibase.cpp:920
msgid "Sending"
msgstr "Überweise"
#: ../../../uibase.cpp:928
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 "Dies sind Ihre Bitcoin-Adressen zum Empfang von Zahlungen. Sie können jedem Überweisenden eine andere Adresse geben um nachvollziehen zu können von wem eine Zahlung stammt. Die markierte Adresse wird im Hauptfenster angezeigt."
#: ../../../uibase.cpp:941
msgid "Receiving"
msgstr "Empfange"
#: ../../../uibase.cpp:951
msgid "&Delete"
msgstr "&Löschen"
#: ../../../uibase.h:150
msgid "Transaction Details"
msgstr "Überweisungsdetails"
#: ../../../uibase.h:203
msgid "Options"
msgstr "Optionen"
#: ../../../uibase.h:231
msgid "About Bitcoin"
msgstr "Über Bitcoin"
#: ../../../uibase.h:341
msgid "Your Bitcoin Addresses"
msgstr "Ihre Bitcoin-Adressen"

Binary file not shown.

View File

@@ -1,841 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-05-26 22:02-0000\n"
"PO-Revision-Date: 2010-07-15 11:07+0100\n"
"Last-Translator: milkiway\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:174
msgid "Cannot write autostart/bitcoin.desktop file"
msgstr ""
#: ../../../init.cpp:388
#, fuzzy
msgid "Usage:"
msgstr ""
#: ../../../init.cpp:390
msgid "Send command to bitcoin running with -server or -daemon\n"
msgstr ""
#: ../../../init.cpp:391
msgid "Get help for a command\n"
msgstr ""
#: ../../../init.cpp:392
msgid "List commands\n"
msgstr ""
#: ../../../init.cpp:393
msgid "Options:\n"
msgstr "Opciones:\n"
#: ../../../init.cpp:394
msgid "Generate coins\n"
msgstr "Generar monedas\n"
#: ../../../init.cpp:395
msgid "Don't generate coins\n"
msgstr "No generar monedas\n"
#: ../../../init.cpp:396
msgid "Start minimized\n"
msgstr "Arrancar minimizado\n"
#: ../../../init.cpp:397
msgid "Specify data directory\n"
msgstr "Especificar directorio para los datos\n"
#: ../../../init.cpp:398
msgid "Connect through socks4 proxy\n"
msgstr "Conectar mediante proxy socks4\n"
#: ../../../init.cpp:399
msgid "Add a node to connect to\n"
msgstr "Agregar un nodo para conectarse\n"
#: ../../../init.cpp:400
msgid "Connect only to the specified node\n"
msgstr "Conectar solo al nodo especificado\n"
#: ../../../init.cpp:401
msgid "Accept command line and JSON-RPC commands\n"
msgstr ""
#: ../../../init.cpp:402
msgid "Run in the background as a daemon and accept commands\n"
msgstr ""
#: ../../../init.cpp:403
msgid "This help message\n"
msgstr "Este mensaje de ayuda\n"
#: ../../../init.cpp:503
msgid "Error loading addr.dat \n"
msgstr "Error cargando addr.dat \n"
#: ../../../init.cpp:509
msgid "Error loading blkindex.dat \n"
msgstr "Error cargando blkindex.dat \n"
#: ../../../init.cpp:516
msgid "Error loading wallet.dat \n"
msgstr "Error cargando wallet.dat \n"
#: ../../../init.cpp:584
msgid "Invalid -proxy address"
msgstr "Direccion -proxy invalida"
#: ../../../init.cpp:677
msgid "Program has crashed and will terminate. "
msgstr "El programa ha detectado un error y va a cerrarse. "
#: ../../../main.cpp:1480
#: ../../../main.cpp:1482
msgid "Warning: Disk space is low "
msgstr "Cuidado: Poco espacio en disco "
#: ../../../main.cpp:3094
#, c-format
msgid "Error: This is an oversized transaction that requires a transaction fee of %s "
msgstr "Error: Esta es una gran transaccion que requiere una comision de %s "
#: ../../../main.cpp:3096
msgid "Error: Transaction creation failed "
msgstr "Error: La creacion de la transaccion fallo "
#: ../../../main.cpp:3101
#: ../../../ui.cpp:1776
#: ../../../ui.cpp:1778
#: ../../../ui.cpp:1919
#: ../../../ui.cpp:2068
msgid "Sending..."
msgstr "Enviando..."
#: ../../../main.cpp:3105
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 "Error: La transaccion fue rechazada. Esto puede haber ocurrido si alguna de las monedas ya fue gastada, o si ha usado un copia de wallet.dat y las monedas fueron gastadas en la copia pero no han sido marcadas como gastadas aqui."
#: ../../../main.cpp:3117
msgid "Invalid amount"
msgstr "Cantidad erronea"
#: ../../../main.cpp:3119
#: ../../../ui.cpp:1986
#: ../../../ui.cpp:2053
msgid "Insufficient funds"
msgstr "Fondos insuficientes"
#: ../../../main.cpp:3124
msgid "Invalid bitcoin address"
msgstr "Direccion Bitcoin invalida"
#: ../../../ui.cpp:189
#, 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 "Esta transaccion supera el limite. Puede seguir enviandola con una comision de %s, que va a los nodos que procesan su transaccion y ayuda a mantener la red. ¿Quiere pagar la comision?"
#: ../../../ui.cpp:286
msgid "Status"
msgstr "Status"
#: ../../../ui.cpp:287
msgid "Date"
msgstr "Fecha"
#: ../../../ui.cpp:288
msgid "Description"
msgstr "Descripcion"
#: ../../../ui.cpp:289
msgid "Debit"
msgstr "Debito"
#: ../../../ui.cpp:290
msgid "Credit"
msgstr "Credito"
#: ../../../ui.cpp:489
#, c-format
msgid "Open for %d blocks"
msgstr "Abrir para %d bloques"
#: ../../../ui.cpp:491
#, c-format
msgid "Open until %s"
msgstr "Abrir hasta %s"
#: ../../../ui.cpp:497
#, c-format
msgid "%d/offline?"
msgstr "%d/desconectado?"
#: ../../../ui.cpp:499
#, c-format
msgid "%d/unconfirmed"
msgstr "%d/no confirmado"
#: ../../../ui.cpp:501
#, c-format
msgid "%d confirmations"
msgstr "%d confirmaciones"
#: ../../../ui.cpp:584
msgid "Generated"
msgstr "Generado"
#: ../../../ui.cpp:592
#, c-format
msgid "Generated (%s matures in %d more blocks)"
msgstr "Generado (%s hechos en %d bloques)"
#: ../../../ui.cpp:596
msgid "Generated - Warning: This block was not received by any other nodes and will probably not be accepted!"
msgstr "Generado - Cuidado: Este bloque no se recibio de otros nodos y probablemente no sea aceptado!"
#: ../../../ui.cpp:600
msgid "Generated (not accepted)"
msgstr "Generado (no aceptado)"
#: ../../../ui.cpp:610
msgid "From: "
msgstr "De: "
#: ../../../ui.cpp:634
msgid "From: unknown, Received with: "
msgstr "De: desconocido, Recibido con: "
#: ../../../ui.cpp:676
msgid "Payment to yourself"
msgstr "Pago para usted mismo"
#: ../../../ui.cpp:713
msgid "To: "
msgstr "Para: "
#: ../../../ui.cpp:1009
msgid " Generating"
msgstr " Generando"
#: ../../../ui.cpp:1011
msgid "(not connected)"
msgstr "(no conectado)"
#: ../../../ui.cpp:1014
#, c-format
msgid " %d connections %d blocks %d transactions"
msgstr " %d conexiones %d bloques %d transacciones"
#: ../../../ui.cpp:1128
#: ../../../ui.cpp:2368
msgid "New Receiving Address"
msgstr "Nueva direccion de recepcion"
#: ../../../ui.cpp:1129
#: ../../../ui.cpp:2369
msgid ""
"It's good policy to use a new address for each payment you receive.\n"
"\n"
"Label"
msgstr ""
"Es una buena idea usar una nueva direccion para cada pago que usted recibe.\n"
"\n"
"Etiqueta"
#: ../../../ui.cpp:1198
msgid "<b>Status:</b> "
msgstr "<b>Status:</b> "
#: ../../../ui.cpp:1203
msgid ", has not been successfully broadcast yet"
msgstr ", no ha sido emitido satisfactoriamente todavia"
#: ../../../ui.cpp:1205
#, c-format
msgid ", broadcast through %d node"
msgstr ", emitido mediante %d nodo"
#: ../../../ui.cpp:1207
#, c-format
msgid ", broadcast through %d nodes"
msgstr ", emitido mediante %d nodos"
#: ../../../ui.cpp:1211
msgid "<b>Date:</b> "
msgstr "<b>Fecha:</b> "
#: ../../../ui.cpp:1219
msgid "<b>Source:</b> Generated<br>"
msgstr "<b>Fuente:</b> Generado<br>"
#: ../../../ui.cpp:1225
#: ../../../ui.cpp:1243
msgid "<b>From:</b> "
msgstr "<b>De:</b> "
#: ../../../ui.cpp:1243
msgid "unknown"
msgstr "desconocido"
#: ../../../ui.cpp:1244
#: ../../../ui.cpp:1268
#: ../../../ui.cpp:1327
msgid "<b>To:</b> "
msgstr "<b>Para:</b> "
#: ../../../ui.cpp:1247
msgid " (yours, label: "
msgstr ""
#: ../../../ui.cpp:1249
msgid " (yours)"
msgstr ""
#: ../../../ui.cpp:1286
#: ../../../ui.cpp:1298
#: ../../../ui.cpp:1361
msgid "<b>Credit:</b> "
msgstr "<b>Credito:</b> "
#: ../../../ui.cpp:1288
#, c-format
msgid "(%s matures in %d more blocks)"
msgstr "(%s hechos en %d bloques)"
#: ../../../ui.cpp:1290
msgid "(not accepted)"
msgstr "(no aceptada)"
#: ../../../ui.cpp:1335
#: ../../../ui.cpp:1358
msgid "<b>Debit:</b> "
msgstr "<b>Debito:</b> "
#: ../../../ui.cpp:1349
msgid "<b>Transaction fee:</b> "
msgstr "<b>Comision transaccion:</b> "
#: ../../../ui.cpp:1365
msgid "<b>Net amount:</b> "
msgstr "<b>Cantidad de la red:</b> "
#: ../../../ui.cpp:1372
msgid "Message:"
msgstr "Mensaje:"
#: ../../../ui.cpp:1375
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 "Las monedas generadas deben esperar 120 bloques antes de ser gastadas. Cuando usted genero este bloque, fue emitido a la red para ser agregado a la cadena de bloques. Si falla al incluirse en la cadena, cambiara a \"no aceptado\" y no se podra gastar. Esto puede ocurrir ocasionalmente si otro nodo genera un bloque apenas a unos segundos del suyo."
#: ../../../ui.cpp:1442
msgid "Main"
msgstr "Principal"
#: ../../../ui.cpp:1447
#, fuzzy
msgid "&Start Bitcoin on window system startup"
msgstr "&Arrancar Bitcoin al arrancar el sistema"
#: ../../../ui.cpp:1454
msgid "&Minimize on close"
msgstr "&Minimizar al cerrar"
#: ../../../ui.cpp:1610
#, c-format
msgid "version %d.%d.%d beta"
msgstr "version %d.%d.%d beta"
#: ../../../ui.cpp:1696
msgid "Will appear as \"From: Unknown\""
msgstr "Aparecera como \"De: Desconocido\""
#: ../../../ui.cpp:1697
msgid "Can't include a message when sending to a Bitcoin address"
msgstr "No se ha podido incluir un mensaje mientras se enviaba la direccion Bitcoin"
#: ../../../ui.cpp:1750
msgid "Error in amount "
msgstr "Error en la cantidad "
#: ../../../ui.cpp:1750
#: ../../../ui.cpp:1755
#: ../../../ui.cpp:1760
#: ../../../ui.cpp:1786
#: ../../../uibase.cpp:59
msgid "Send Coins"
msgstr "Enviar monedas"
#: ../../../ui.cpp:1755
msgid "Amount exceeds your balance "
msgstr "La cantidad excede de su balance "
#: ../../../ui.cpp:1760
msgid "Total exceeds your balance when the "
msgstr "El total excede su balance cuando el "
#: ../../../ui.cpp:1760
msgid " transaction fee is included "
msgstr " la comision de la transaccion esta incluida "
#: ../../../ui.cpp:1776
msgid "Payment sent "
msgstr "Pago enviado "
#: ../../../ui.cpp:1786
msgid "Invalid address "
msgstr "Direccion invalida "
#: ../../../ui.cpp:1840
#, c-format
msgid "Sending %s to %s"
msgstr "Enviando %s a %s"
#: ../../../ui.cpp:1913
#: ../../../ui.cpp:1946
msgid "CANCELLED"
msgstr "CANCELADO"
#: ../../../ui.cpp:1917
msgid "Cancelled"
msgstr "Cancelado"
#: ../../../ui.cpp:1919
msgid "Transfer cancelled "
msgstr "Transferencia cancelada "
#: ../../../ui.cpp:1972
msgid "Error: "
msgstr "Error: "
#: ../../../ui.cpp:1991
msgid "Connecting..."
msgstr "Conectando..."
#: ../../../ui.cpp:1996
msgid "Unable to connect"
msgstr "No es posible conectar"
#: ../../../ui.cpp:2001
msgid "Requesting public key..."
msgstr "Pidiendo clave publica..."
#: ../../../ui.cpp:2013
msgid "Received public key..."
msgstr "Clave publica recibida..."
#: ../../../ui.cpp:2025
msgid "Transfer was not accepted"
msgstr "La transferencia no fue aceptada"
#: ../../../ui.cpp:2034
msgid "Invalid response received"
msgstr "Respuesta invalida recibida"
#: ../../../ui.cpp:2049
msgid "Creating transaction..."
msgstr "Creando transaccion..."
#: ../../../ui.cpp:2061
#, c-format
msgid "This is an oversized transaction that requires a transaction fee of %s"
msgstr "Esta es una gran transaccion que requiere una comision de %s"
#: ../../../ui.cpp:2063
msgid "Transaction creation failed"
msgstr "Fallo al crear la transaccion."
#: ../../../ui.cpp:2070
msgid "Transaction aborted"
msgstr "Transaccion abortada"
#: ../../../ui.cpp:2078
msgid "Lost connection, transaction cancelled"
msgstr "Conexion perdida, transacción cancelada"
#: ../../../ui.cpp:2094
msgid "Sending payment..."
msgstr "Enviando pago..."
#: ../../../ui.cpp:2100
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 "La transaccion fue rechazada. Esto puede haber ocurrido si alguna de las monedas fue gastada, o si ha usado una copia de wallet.dat y las monedas fueron gastadas en la copia pero no fueron marcadas como gastadas aqui."
#: ../../../ui.cpp:2109
msgid "Waiting for confirmation..."
msgstr "Esperando confirmacion..."
#: ../../../ui.cpp:2127
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 ""
"El pago fue enviado, pero el receptor no pudo verificarla.\n"
"La transaccion es grabada y dara credito al receptor,\n"
"pero la informacion quedara en blanco."
#: ../../../ui.cpp:2136
msgid "Payment was sent, but an invalid response was received"
msgstr "El pago fue enviado, pero se recibio una respuesta invalida"
#: ../../../ui.cpp:2142
msgid "Payment completed"
msgstr "Pago completado"
#: ../../../ui.cpp:2173
#: ../../../ui.cpp:2319
#: ../../../ui.cpp:2356
msgid "Name"
msgstr "Nombre"
#: ../../../ui.cpp:2174
#: ../../../ui.cpp:2319
#: ../../../ui.cpp:2356
msgid "Address"
msgstr "Direccion"
#: ../../../ui.cpp:2176
#: ../../../ui.cpp:2331
msgid "Label"
msgstr "Etiqueta"
#: ../../../ui.cpp:2177
#: ../../../uibase.cpp:902
msgid "Bitcoin Address"
msgstr "Direccion Bitcoin"
#: ../../../ui.cpp:2301
msgid "This is one of your own addresses for receiving payments and cannot be entered in the address book. "
msgstr "Esta es una de sus direcciones para recibir pagos y no puede incluirse en la libreta de direcciones. "
#: ../../../ui.cpp:2319
#: ../../../ui.cpp:2325
msgid "Edit Address"
msgstr "Editar direccion"
#: ../../../ui.cpp:2331
msgid "Edit Address Label"
msgstr "Editar etiqueta direccion"
#: ../../../ui.cpp:2356
#: ../../../ui.cpp:2362
msgid "Add Address"
msgstr "Agregar direccion"
#: ../../../ui.cpp:2438
msgid "Bitcoin"
msgstr "Bitcoin"
#: ../../../ui.cpp:2440
msgid "Bitcoin - Generating"
msgstr "Bitcoin - Generando"
#: ../../../ui.cpp:2442
msgid "Bitcoin - (not connected)"
msgstr "Bitcoin - (no conectado)"
#: ../../../ui.cpp:2519
msgid "&Open Bitcoin"
msgstr "&Abrir Bitcoin"
#: ../../../ui.cpp:2520
msgid "O&ptions..."
msgstr "O&pciones"
#: ../../../ui.cpp:2521
#: ../../../uibase.cpp:32
msgid "&Generate Coins"
msgstr "&Generar monedas"
#: ../../../ui.cpp:2524
#: ../../../uibase.cpp:25
msgid "E&xit"
msgstr "S&alir"
#: ../../../uibase.cpp:28
msgid "&File"
msgstr "&Archivo"
#: ../../../uibase.cpp:36
msgid "&Your Receiving Addresses..."
msgstr "&Tus direcciones de recepcion..."
#: ../../../uibase.cpp:40
msgid "&Options..."
msgstr "&Opciones..."
#: ../../../uibase.cpp:43
msgid "&Settings"
msgstr "&Configuracion"
#: ../../../uibase.cpp:47
msgid "&About..."
msgstr "&Acerca de..."
#: ../../../uibase.cpp:50
msgid "&Help"
msgstr "&Ayuda"
#: ../../../uibase.cpp:60
msgid "Address Book"
msgstr "Libreta de direcciones"
#: ../../../uibase.cpp:75
msgid "Your Bitcoin Address:"
msgstr "Su direccion Bitcoin:"
#: ../../../uibase.cpp:82
msgid " &New... "
msgstr " &Nuevo... "
#: ../../../uibase.cpp:85
#: ../../../uibase.cpp:845
#: ../../../uibase.cpp:948
msgid " &Copy to Clipboard "
msgstr " &Copiar al portapapeles "
#: ../../../uibase.cpp:99
msgid "Balance:"
msgstr "Balance:"
#: ../../../uibase.cpp:115
msgid " All"
msgstr " Todo"
#: ../../../uibase.cpp:115
msgid " Sent"
msgstr " Enviado"
#: ../../../uibase.cpp:115
msgid " Received"
msgstr " Recibido"
#: ../../../uibase.cpp:115
msgid " In Progress"
msgstr " En progreso"
#: ../../../uibase.cpp:136
msgid "All Transactions"
msgstr "Todas las transacciones"
#: ../../../uibase.cpp:147
msgid "Sent/Received"
msgstr "Enviado/Recibido"
#: ../../../uibase.cpp:158
msgid "Sent"
msgstr "Enviado"
#: ../../../uibase.cpp:169
msgid "Received"
msgstr "Recibido"
#: ../../../uibase.cpp:312
#: ../../../uibase.cpp:473
#: ../../../uibase.cpp:574
#: ../../../uibase.cpp:787
#: ../../../uibase.cpp:848
#: ../../../uibase.cpp:957
#: ../../../uibase.cpp:1046
msgid "OK"
msgstr "OK"
#: ../../../uibase.cpp:355
msgid "Optional transaction fee you give to the nodes that process your transactions."
msgstr "Comision opcional que se da a los nodos que procesan sus transacciones"
#: ../../../uibase.cpp:364
msgid "Transaction fee:"
msgstr "Comision de la transaccion:"
#: ../../../uibase.cpp:380
msgid "&Limit coin generation to"
msgstr "&Limitar la generacion de monedas a"
#: ../../../uibase.cpp:387
msgid "processors"
msgstr "procesadores"
#: ../../../uibase.cpp:393
msgid "&Start Bitcoin on system startup"
msgstr "&Arrancar Bitcoin al arrancar el sistema"
#: ../../../uibase.cpp:397
msgid "&Minimize to the tray instead of the taskbar"
msgstr "&Minimizar a la bandeja en vez de a la barra de tareas"
#: ../../../uibase.cpp:401
msgid "M&inimize to the tray on close"
msgstr "M&inimizar a la bandeja al cerrar"
#: ../../../uibase.cpp:408
msgid "&Connect through socks4 proxy: "
msgstr "&Conectar usando un proxy socks4: "
#: ../../../uibase.cpp:420
msgid "Proxy &IP:"
msgstr "Proxy &IP:"
#: ../../../uibase.cpp:428
msgid " &Port:"
msgstr " &Puerto:"
#: ../../../uibase.cpp:450
msgid "// [don't translate] Test panel 2 for future expansion"
msgstr ""
#: ../../../uibase.cpp:454
msgid "// [don't translate] Let's not start multiple pages until the first page is filled up"
msgstr ""
#: ../../../uibase.cpp:476
#: ../../../uibase.cpp:729
#: ../../../uibase.cpp:792
#: ../../../uibase.cpp:851
#: ../../../uibase.cpp:960
#: ../../../uibase.cpp:1049
msgid "Cancel"
msgstr "Cancelar"
#: ../../../uibase.cpp:479
msgid "&Apply"
msgstr "&Aplicar"
#: ../../../uibase.cpp:540
msgid "Bitcoin "
msgstr "Bitcoin "
#: ../../../uibase.cpp:546
msgid "version"
msgstr "version"
#: ../../../uibase.cpp:557
msgid ""
"Copyright (c) 2009-2010 Satoshi Nakamoto.\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)."
msgstr ""
"Copyright (c) 2009-2010 Satoshi Nakamoto.\n"
"\n"
"Este es un software experimental.\n"
"\n"
"Distribuido bajo la licencia MIT/X11, vea el archivo adjunto \n"
"license.txt o http://www.opensource.org/licenses/mit-license.php.\n"
"\n"
"Este producto incluye software desarrollado por OpenSSL Project para su uso en el\n"
"OpenSSL Toolkit (http://www.openssl.org/) y software criptografico escrito por \n"
"Eric Young (eay@cryptsoft.com)."
#: ../../../uibase.cpp:613
msgid "Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L) or IP address (e.g. 123.45.6.7)"
msgstr "Ponga una direccion Bitcoin (ejemplo: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L) o una direccion IP (ejemplo: 123.45.6.7)"
#: ../../../uibase.cpp:627
msgid "Pay &To:"
msgstr "Pagar &A:"
#: ../../../uibase.cpp:642
msgid "&Paste"
msgstr "&Pegar"
#: ../../../uibase.cpp:645
msgid " Address &Book..."
msgstr " Libreta &Direcciones..."
#: ../../../uibase.cpp:652
msgid "&Amount:"
msgstr "&Cantidad:"
#: ../../../uibase.cpp:662
msgid "T&ransfer:"
msgstr "T&ransferir:"
#: ../../../uibase.cpp:668
msgid " Standard"
msgstr " Estandar"
#: ../../../uibase.cpp:690
msgid "&From:"
msgstr "&De:"
#: ../../../uibase.cpp:707
msgid "&Message:"
msgstr "&Mensaje:"
#: ../../../uibase.cpp:724
msgid "&Send"
msgstr "&Enviar"
#: ../../../uibase.cpp:776
msgid ""
"\n"
"\n"
"Connecting..."
msgstr ""
"\n"
"\n"
"Conenctando..."
#: ../../../uibase.cpp:826
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 "Estas son sus direcciones Bitcoin para recibir pagos. Puede darle una diferente a cada emisor para saber quien le esta pagando. La direccion resaltada se muestra en la ventana principal."
#: ../../../uibase.cpp:839
#: ../../../uibase.cpp:951
msgid "&Edit..."
msgstr "&Editar..."
#: ../../../uibase.cpp:842
#: ../../../uibase.cpp:954
msgid " &New Address... "
msgstr " &Nueva direccion... "
#: ../../../uibase.cpp:914
msgid "Sending"
msgstr "Enviando"
#: ../../../uibase.cpp:922
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 "Estas son sus direcciones Bitcoin para recibir pagos. Puede darle una diferente a cada emisor para saber quien le esta pagando. La direccion resaltada se muestra en la ventana principal."
#: ../../../uibase.cpp:935
msgid "Receiving"
msgstr "Recibiendo"
#: ../../../uibase.cpp:945
msgid "&Delete"
msgstr "&Borrar"
#: ../../../uibase.h:149
msgid "Transaction Details"
msgstr "Detalles de la transaccion"
#: ../../../uibase.h:202
msgid "Options"
msgstr "Opciones"
#: ../../../uibase.h:230
msgid "About Bitcoin"
msgstr "Acerca de Bitcoin"
#: ../../../uibase.h:340
msgid "Your Bitcoin Addresses"
msgstr "Sus direcciones Bitcoin"
#~ msgid "Usage: bitcoin [options]"
#~ msgstr "Uso: bitcoin [opciones]"

Binary file not shown.

View File

@@ -1,846 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-05-26 22:02-0000\n"
"PO-Revision-Date: 2010-07-15 02:48+0100\n"
"Last-Translator: aidos\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:174
msgid "Cannot write autostart/bitcoin.desktop file"
msgstr ""
#: ../../../init.cpp:388
#, fuzzy
msgid "Usage:"
msgstr ""
#: ../../../init.cpp:390
msgid "Send command to bitcoin running with -server or -daemon\n"
msgstr ""
#: ../../../init.cpp:391
msgid "Get help for a command\n"
msgstr ""
#: ../../../init.cpp:392
msgid "List commands\n"
msgstr ""
#: ../../../init.cpp:393
msgid "Options:\n"
msgstr "Options:\n"
#: ../../../init.cpp:394
msgid "Generate coins\n"
msgstr "Générer des pièces\n"
#: ../../../init.cpp:395
msgid "Don't generate coins\n"
msgstr "Ne pas générer de pièce\n"
#: ../../../init.cpp:396
msgid "Start minimized\n"
msgstr "Démarrer réduit\n"
#: ../../../init.cpp:397
msgid "Specify data directory\n"
msgstr "Spécifier le repertoire de donnée\n"
#: ../../../init.cpp:398
msgid "Connect through socks4 proxy\n"
msgstr "Connection à travers un proxy SOCKS4\n"
#: ../../../init.cpp:399
msgid "Add a node to connect to\n"
msgstr "Ajouter un nœud auquel se connecter\n"
#: ../../../init.cpp:400
msgid "Connect only to the specified node\n"
msgstr "Se connecter uniquement au nœud spécifié\n"
#: ../../../init.cpp:401
msgid "Accept command line and JSON-RPC commands\n"
msgstr ""
#: ../../../init.cpp:402
msgid "Run in the background as a daemon and accept commands\n"
msgstr ""
#: ../../../init.cpp:403
msgid "This help message\n"
msgstr "Ce message d'aide\n"
#: ../../../init.cpp:503
msgid "Error loading addr.dat \n"
msgstr "Erreur lors du chargement de addr.dat \n"
#: ../../../init.cpp:509
msgid "Error loading blkindex.dat \n"
msgstr "Erreur lors du chargement de blkindex.dat \n"
#: ../../../init.cpp:516
msgid "Error loading wallet.dat \n"
msgstr "Erreur lors du chargement de wallet.dat \n"
#: ../../../init.cpp:584
msgid "Invalid -proxy address"
msgstr "Adresse -proxy invalide"
#: ../../../init.cpp:677
msgid "Program has crashed and will terminate. "
msgstr "Le programme a planté et va s'arrêter. "
#: ../../../main.cpp:1480
#: ../../../main.cpp:1482
msgid "Warning: Disk space is low "
msgstr "Attention: L'espace disque est presque épuisé "
#: ../../../main.cpp:3094
#, c-format
msgid "Error: This is an oversized transaction that requires a transaction fee of %s "
msgstr "Erreur: Ceci est une transaction de taille excessive qui nécessite %s de frais de transaction "
#: ../../../main.cpp:3096
msgid "Error: Transaction creation failed "
msgstr "Erreur: La création de la transaction a échouée "
#: ../../../main.cpp:3101
#: ../../../ui.cpp:1776
#: ../../../ui.cpp:1778
#: ../../../ui.cpp:1919
#: ../../../ui.cpp:2068
msgid "Sending..."
msgstr "Envoi..."
#: ../../../main.cpp:3105
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 "Erreur: La transaction a été rejetée. Ceci peut arriver si une partie des pièces de votre porte-monnaie ont déjà été dépensées, par exemple si vous avez utilisé une copie de wallet.dat et que les pièces ont été dépensées dans la copie mais pas marquées comme telles ici."
#: ../../../main.cpp:3117
msgid "Invalid amount"
msgstr "Quantité invalide"
#: ../../../main.cpp:3119
#: ../../../ui.cpp:1986
#: ../../../ui.cpp:2053
msgid "Insufficient funds"
msgstr "Fonds insuffisants"
#: ../../../main.cpp:3124
msgid "Invalid bitcoin address"
msgstr "Adresse bitcoin incorrecte"
#: ../../../ui.cpp:189
#, 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 "Cette transaction est au delà de la limite de taille. Vous pouvez tout de même l'envoyer moyennant des frais de %s, qui ira au noeud gérant votre transaction, et qui aidera à soutenir le réseau. Acceptez-vous de payer ces frais ?"
#: ../../../ui.cpp:286
msgid "Status"
msgstr "État"
#: ../../../ui.cpp:287
msgid "Date"
msgstr "Date"
#: ../../../ui.cpp:288
msgid "Description"
msgstr "Description"
#: ../../../ui.cpp:289
msgid "Debit"
msgstr "Débit"
#: ../../../ui.cpp:290
msgid "Credit"
msgstr "Crédit"
#: ../../../ui.cpp:489
#, c-format
msgid "Open for %d blocks"
msgstr "Ouvert pour %d blocks"
#: ../../../ui.cpp:491
#, c-format
msgid "Open until %s"
msgstr "Ouvert jusqu'au %s"
#: ../../../ui.cpp:497
#, c-format
msgid "%d/offline?"
msgstr "%d/hors-ligne?"
#: ../../../ui.cpp:499
#, c-format
msgid "%d/unconfirmed"
msgstr "%d/non confirmé"
#: ../../../ui.cpp:501
#, c-format
msgid "%d confirmations"
msgstr "%d confirmations"
#: ../../../ui.cpp:584
msgid "Generated"
msgstr "Généré"
#: ../../../ui.cpp:592
#, c-format
msgid "Generated (%s matures in %d more blocks)"
msgstr "Généré (%s mûrira dans %d blocks)"
#: ../../../ui.cpp:596
msgid "Generated - Warning: This block was not received by any other nodes and will probably not be accepted!"
msgstr "Généré - Attention: Ce block n'a été reçu par aucun autre nœud et ne sera probablement pas accepté!"
#: ../../../ui.cpp:600
msgid "Generated (not accepted)"
msgstr "Généré (pas accepté)"
#: ../../../ui.cpp:610
msgid "From: "
msgstr "De: "
#: ../../../ui.cpp:634
msgid "From: unknown, Received with: "
msgstr "De: Inconnu, reçu depuis: "
#: ../../../ui.cpp:676
msgid "Payment to yourself"
msgstr "Paiement à vous-même"
#: ../../../ui.cpp:713
msgid "To: "
msgstr "À: "
#: ../../../ui.cpp:1009
msgid " Generating"
msgstr " Génération en cours"
#: ../../../ui.cpp:1011
msgid "(not connected)"
msgstr "(non connecté)"
#: ../../../ui.cpp:1014
#, c-format
msgid " %d connections %d blocks %d transactions"
msgstr " %d connexions %d blocks %d transactions"
#: ../../../ui.cpp:1128
#: ../../../ui.cpp:2368
msgid "New Receiving Address"
msgstr "Nouvelle adresse de reception"
#: ../../../ui.cpp:1129
#: ../../../ui.cpp:2369
msgid ""
"It's good policy to use a new address for each payment you receive.\n"
"\n"
"Label"
msgstr ""
"C'est une bonne politique d'utiliser une nouvelle adresse pour \n"
"chaque paiement reçu.\n"
"\n"
"Intitulé"
#: ../../../ui.cpp:1198
msgid "<b>Status:</b> "
msgstr "<b>État:</b> "
#: ../../../ui.cpp:1203
msgid ", has not been successfully broadcast yet"
msgstr ", n'a pas encore été diffusé avec succès"
#: ../../../ui.cpp:1205
#, c-format
msgid ", broadcast through %d node"
msgstr ", diffusé à travers %d nœud"
#: ../../../ui.cpp:1207
#, c-format
msgid ", broadcast through %d nodes"
msgstr ", diffusé à travers %d nœuds"
#: ../../../ui.cpp:1211
msgid "<b>Date:</b> "
msgstr "<b>Date:</b> "
#: ../../../ui.cpp:1219
msgid "<b>Source:</b> Generated<br>"
msgstr "<b>Source:</b> Généré<br>"
#: ../../../ui.cpp:1225
#: ../../../ui.cpp:1243
msgid "<b>From:</b> "
msgstr "<b>De:</b> "
#: ../../../ui.cpp:1243
msgid "unknown"
msgstr "inconnu"
#: ../../../ui.cpp:1244
#: ../../../ui.cpp:1268
#: ../../../ui.cpp:1327
msgid "<b>To:</b> "
msgstr "<b>À:</b> "
#: ../../../ui.cpp:1247
msgid " (yours, label: "
msgstr " (vous, intitulé: "
#: ../../../ui.cpp:1249
msgid " (yours)"
msgstr " (vous)"
#: ../../../ui.cpp:1286
#: ../../../ui.cpp:1298
#: ../../../ui.cpp:1361
msgid "<b>Credit:</b> "
msgstr "<b>Crédit:</b> "
#: ../../../ui.cpp:1288
#, c-format
msgid "(%s matures in %d more blocks)"
msgstr "(%s mûrira dans %d blocks)"
#: ../../../ui.cpp:1290
msgid "(not accepted)"
msgstr "(pas accepté)"
#: ../../../ui.cpp:1335
#: ../../../ui.cpp:1358
msgid "<b>Debit:</b> "
msgstr "<b>Débit:</b> "
#: ../../../ui.cpp:1349
msgid "<b>Transaction fee:</b> "
msgstr "<b>Redevance de transaction :</b> "
#: ../../../ui.cpp:1365
msgid "<b>Net amount:</b> "
msgstr "<b>Montant net:</b> "
#: ../../../ui.cpp:1372
msgid "Message:"
msgstr "Message:"
#: ../../../ui.cpp:1375
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 "Les pièces générées doivent attendrent 120 blocks avant de pouvoir être dépensées. Quand vous avez généré ce block, il a été diffusé au réseau pour être ajouté à la chaîne de block. Si il échoue à être intégré à la chaîne, il changera à \"pas accepté\" et ne sera pas dépensable. Ceci peut parfois arriver si un autre nœud génère un block à quelques secondes du vôtre."
#: ../../../ui.cpp:1442
msgid "Main"
msgstr "Général"
#: ../../../ui.cpp:1447
#, fuzzy
msgid "&Start Bitcoin on window system startup"
msgstr "&Lancer Bitcoin au démarrage du système"
#: ../../../ui.cpp:1454
msgid "&Minimize on close"
msgstr "&Réduire à la fermeture"
#: ../../../ui.cpp:1610
#, c-format
msgid "version %d.%d.%d beta"
msgstr "version %d.%d.%d beta"
#: ../../../ui.cpp:1696
msgid "Will appear as \"From: Unknown\""
msgstr "Apparaîtra ainsi \"De: 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"
#: ../../../ui.cpp:1750
msgid "Error in amount "
msgstr "Erreur dans le montant "
#: ../../../ui.cpp:1750
#: ../../../ui.cpp:1755
#: ../../../ui.cpp:1760
#: ../../../ui.cpp:1786
#: ../../../uibase.cpp:59
msgid "Send Coins"
msgstr "Envoyer des pièces"
#: ../../../ui.cpp:1755
msgid "Amount exceeds your balance "
msgstr "Le montant dépasse votre solde "
#: ../../../ui.cpp:1760
msgid "Total exceeds your balance when the "
msgstr "Le total dépasse votre solde quand les "
#: ../../../ui.cpp:1760
msgid " transaction fee is included "
msgstr " de frais de transaction sont ajoutés "
#: ../../../ui.cpp:1776
msgid "Payment sent "
msgstr "Paiement envoyé "
#: ../../../ui.cpp:1786
msgid "Invalid address "
msgstr "Adresse invalide "
#: ../../../ui.cpp:1840
#, c-format
msgid "Sending %s to %s"
msgstr "Envoi de %s à %s"
#: ../../../ui.cpp:1913
#: ../../../ui.cpp:1946
msgid "CANCELLED"
msgstr "ANNULÉ"
#: ../../../ui.cpp:1917
msgid "Cancelled"
msgstr "Annulé"
#: ../../../ui.cpp:1919
msgid "Transfer cancelled "
msgstr "Transfert annulé "
#: ../../../ui.cpp:1972
msgid "Error: "
msgstr "Erreur: "
#: ../../../ui.cpp:1991
msgid "Connecting..."
msgstr "Connexion..."
#: ../../../ui.cpp:1996
msgid "Unable to connect"
msgstr "Impossible de se connecter"
#: ../../../ui.cpp:2001
msgid "Requesting public key..."
msgstr "Requête de la clef publique..."
#: ../../../ui.cpp:2013
msgid "Received public key..."
msgstr "Clef publique reçue..."
#: ../../../ui.cpp:2025
msgid "Transfer was not accepted"
msgstr "Le transfer n'a pas été accepté"
#: ../../../ui.cpp:2034
msgid "Invalid response received"
msgstr "Réponse invalide reçue"
#: ../../../ui.cpp:2049
msgid "Creating transaction..."
msgstr "Création de la transaction..."
#: ../../../ui.cpp:2061
#, c-format
msgid "This is an oversized transaction that requires a transaction fee of %s"
msgstr "Ceci est une transaction de taille excessive qui nécessite des frais de transaction de %s"
#: ../../../ui.cpp:2063
msgid "Transaction creation failed"
msgstr "La création de la transaction a échouée"
#: ../../../ui.cpp:2070
msgid "Transaction aborted"
msgstr "Transaction interrompue"
#: ../../../ui.cpp:2078
msgid "Lost connection, transaction cancelled"
msgstr "Connexion perdue, transaction annulée"
#: ../../../ui.cpp:2094
msgid "Sending payment..."
msgstr "Envoi du paiement..."
#: ../../../ui.cpp:2100
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 "La transaction a été rejetée. Ceci peut arriver si une partie des pièces de votre porte-monnaie ont déjà été dépensées, par exemple si vous avez utilisé une copie de wallet.dat et que les pièces ont été dépensées dans la copie mais pas marquées comme telles ici."
#: ../../../ui.cpp:2109
msgid "Waiting for confirmation..."
msgstr "Attente de confirmation..."
#: ../../../ui.cpp:2127
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 ""
"Le paiement a été envoyé, mais le destinataire n'a pas pû le vérifier.\n"
"La transaction est enregistrée et sera créditée au destinataire,\n"
"mais le commentaire sera vide."
#: ../../../ui.cpp:2136
msgid "Payment was sent, but an invalid response was received"
msgstr "Le paiement a été envoyé, mais une réponse invalide a été reçue"
#: ../../../ui.cpp:2142
msgid "Payment completed"
msgstr "Paiement terminé"
#: ../../../ui.cpp:2173
#: ../../../ui.cpp:2319
#: ../../../ui.cpp:2356
msgid "Name"
msgstr "Nom"
#: ../../../ui.cpp:2174
#: ../../../ui.cpp:2319
#: ../../../ui.cpp:2356
msgid "Address"
msgstr "Adresse"
#: ../../../ui.cpp:2176
#: ../../../ui.cpp:2331
msgid "Label"
msgstr "Intitulé"
#: ../../../ui.cpp:2177
#: ../../../uibase.cpp:902
msgid "Bitcoin Address"
msgstr "Adresse Bitcoin"
#: ../../../ui.cpp:2301
msgid "This is one of your own addresses for receiving payments and cannot be entered in the address book. "
msgstr "Ceci est une de vos adresses de reception de paiement, et ne peut être ajoutée au carnet d'adresse. "
#: ../../../ui.cpp:2319
#: ../../../ui.cpp:2325
msgid "Edit Address"
msgstr "Modifier l'adresse"
#: ../../../ui.cpp:2331
msgid "Edit Address Label"
msgstr "Modifier l'intitulé de l'adresse"
#: ../../../ui.cpp:2356
#: ../../../ui.cpp:2362
msgid "Add Address"
msgstr "Ajouter une adresse"
#: ../../../ui.cpp:2438
msgid "Bitcoin"
msgstr "Bitcoin"
#: ../../../ui.cpp:2440
msgid "Bitcoin - Generating"
msgstr "Bitcoin - Génération"
#: ../../../ui.cpp:2442
msgid "Bitcoin - (not connected)"
msgstr "Bitcoin - (non connecté)"
#: ../../../ui.cpp:2519
msgid "&Open Bitcoin"
msgstr "&Ouvrir Bitcoin"
#: ../../../ui.cpp:2520
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"
msgstr "&Quitter"
#: ../../../uibase.cpp:28
msgid "&File"
msgstr "&Fichier"
#: ../../../uibase.cpp:36
msgid "&Your Receiving Addresses..."
msgstr "&Vos adresses de reception..."
#: ../../../uibase.cpp:40
msgid "&Options..."
msgstr "&Options..."
#: ../../../uibase.cpp:43
msgid "&Settings"
msgstr "&Préférences"
#: ../../../uibase.cpp:47
msgid "&About..."
msgstr "&À propos..."
#: ../../../uibase.cpp:50
msgid "&Help"
msgstr "&Aide"
#: ../../../uibase.cpp:60
msgid "Address Book"
msgstr "Carnet d'adresse"
#: ../../../uibase.cpp:75
msgid "Your Bitcoin Address:"
msgstr "Votre adresse Bitcoin :"
#: ../../../uibase.cpp:82
msgid " &New... "
msgstr " &Nouvelle... "
#: ../../../uibase.cpp:85
#: ../../../uibase.cpp:845
#: ../../../uibase.cpp:948
msgid " &Copy to Clipboard "
msgstr " &Copier dans le presse-papier "
#: ../../../uibase.cpp:99
msgid "Balance:"
msgstr "Solde :"
#: ../../../uibase.cpp:115
msgid " All"
msgstr " Tout"
#: ../../../uibase.cpp:115
msgid " Sent"
msgstr " Envoyés"
#: ../../../uibase.cpp:115
msgid " Received"
msgstr " Reçus"
#: ../../../uibase.cpp:115
msgid " In Progress"
msgstr " En cours"
#: ../../../uibase.cpp:136
msgid "All Transactions"
msgstr "Toutes les transactions"
#: ../../../uibase.cpp:147
msgid "Sent/Received"
msgstr "Envoyées/Reçues"
#: ../../../uibase.cpp:158
msgid "Sent"
msgstr "Envoyées"
#: ../../../uibase.cpp:169
msgid "Received"
msgstr "Reçues"
#: ../../../uibase.cpp:312
#: ../../../uibase.cpp:473
#: ../../../uibase.cpp:574
#: ../../../uibase.cpp:787
#: ../../../uibase.cpp:848
#: ../../../uibase.cpp:957
#: ../../../uibase.cpp:1046
msgid "OK"
msgstr "OK"
#: ../../../uibase.cpp:355
msgid "Optional transaction fee you give to the nodes that process your transactions."
msgstr "Frais de transaction optionel que vous donnez au nœud qui traite vos transactions."
#: ../../../uibase.cpp:364
msgid "Transaction fee:"
msgstr "Frais de transaction :"
#: ../../../uibase.cpp:380
msgid "&Limit coin generation to"
msgstr "&Limiter la génération de pièce à"
#: ../../../uibase.cpp:387
msgid "processors"
msgstr "processeurs"
#: ../../../uibase.cpp:393
msgid "&Start Bitcoin on system startup"
msgstr "&Lancer Bitcoin au démarrage du système"
#: ../../../uibase.cpp:397
msgid "&Minimize to the tray instead of the taskbar"
msgstr ""
"&Réduire dans la zone de notification\n"
"plutôt que dans la barre des tâches"
#: ../../../uibase.cpp:401
msgid "M&inimize to the tray on close"
msgstr "Ré&duire dans la zone de notification"
#: ../../../uibase.cpp:408
msgid "&Connect through socks4 proxy: "
msgstr "Se &connecter à travers un proxy SOCKS4: "
#: ../../../uibase.cpp:420
msgid "Proxy &IP:"
msgstr "&IP du proxy :"
#: ../../../uibase.cpp:428
msgid " &Port:"
msgstr " Port :"
#: ../../../uibase.cpp:450
msgid "// [don't translate] Test panel 2 for future expansion"
msgstr ""
#: ../../../uibase.cpp:454
msgid "// [don't translate] Let's not start multiple pages until the first page is filled up"
msgstr ""
#: ../../../uibase.cpp:476
#: ../../../uibase.cpp:729
#: ../../../uibase.cpp:792
#: ../../../uibase.cpp:851
#: ../../../uibase.cpp:960
#: ../../../uibase.cpp:1049
msgid "Cancel"
msgstr "Annuler"
#: ../../../uibase.cpp:479
msgid "&Apply"
msgstr "&Appliquer"
#: ../../../uibase.cpp:540
msgid "Bitcoin "
msgstr "Bitcoin "
#: ../../../uibase.cpp:546
msgid "version"
msgstr "version"
#: ../../../uibase.cpp:557
msgid ""
"Copyright (c) 2009-2010 Satoshi Nakamoto.\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)."
msgstr ""
"Copyright (c) 2009-2010 Satoshi Nakamoto.\n"
"\n"
"Ceci est un logiciel expérimental.\n"
"\n"
"Distribué sous la licence logicielle MIT/X11, voir le fichier joint \n"
"license.txt ou http://www.opensource.org/licenses/mit-license.php.\n"
"\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)."
#: ../../../uibase.cpp:613
msgid "Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L) or IP address (e.g. 123.45.6.7)"
msgstr ""
"Entrez une adresse Bitcoin (par exemple : 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L)\n"
" ou une adresse IP (par exemple : 123.45.6.7)"
#: ../../../uibase.cpp:627
msgid "Pay &To:"
msgstr "&Payable à:"
#: ../../../uibase.cpp:642
msgid "&Paste"
msgstr "&Coller"
#: ../../../uibase.cpp:645
msgid " Address &Book..."
msgstr " Carnet d'&adresse..."
#: ../../../uibase.cpp:652
msgid "&Amount:"
msgstr "&Montant :"
#: ../../../uibase.cpp:662
msgid "T&ransfer:"
msgstr "T&ransfert :"
#: ../../../uibase.cpp:668
msgid " Standard"
msgstr " Standard"
#: ../../../uibase.cpp:690
msgid "&From:"
msgstr "&De :"
#: ../../../uibase.cpp:707
msgid "&Message:"
msgstr "&Message:"
#: ../../../uibase.cpp:724
msgid "&Send"
msgstr "&Envoyer"
#: ../../../uibase.cpp:776
msgid ""
"\n"
"\n"
"Connecting..."
msgstr ""
"\n"
"\n"
"Connexion..."
#: ../../../uibase.cpp:826
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 "Voici vos adresses Bitcoin de reception de paiement. Il peut être judicieux d'en fournir une différente à chaque émetteur afin de pouvoir suivre qui vous paie. L'adresse surlignée est affichée dans la fenêtre principale."
#: ../../../uibase.cpp:839
#: ../../../uibase.cpp:951
msgid "&Edit..."
msgstr "&Modifier..."
#: ../../../uibase.cpp:842
#: ../../../uibase.cpp:954
msgid " &New Address... "
msgstr " &Nouvelle adresse... "
#: ../../../uibase.cpp:914
msgid "Sending"
msgstr "Envoi"
#: ../../../uibase.cpp:922
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 "Voici vos adresses Bitcoin de reception de paiement. Vous pouvez en fournir une différente à chaque émetteur afin de pouvoir suivre qui vous paie. L'adresse surlignée sera affichée dans la fenêtre principale."
#: ../../../uibase.cpp:935
msgid "Receiving"
msgstr "Reception"
#: ../../../uibase.cpp:945
msgid "&Delete"
msgstr "&Supprimer"
#: ../../../uibase.h:149
msgid "Transaction Details"
msgstr "Détails de la transaction"
#: ../../../uibase.h:202
msgid "Options"
msgstr "Options"
#: ../../../uibase.h:230
msgid "About Bitcoin"
msgstr "À propos de Bitcoin"
#: ../../../uibase.h:340
msgid "Your Bitcoin Addresses"
msgstr "Votre adresse Bitcoin"
#~ msgid "Usage: bitcoin [options]"
#~ msgstr "Usage: bitcoin [options]"

Binary file not shown.

View File

@@ -1,807 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-05-26 22:02-0000\n"
"PO-Revision-Date: 2010-05-27 13:01+0100\n"
"Last-Translator: Franco Cimatti <hostfat@gmail.com>\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:342
msgid "Usage: bitcoin [options]"
msgstr "Uso: bitcoin [options]"
#: ../../../init.cpp:343
msgid "Options:\n"
msgstr "Opzioni:\n"
#: ../../../init.cpp:344
msgid "Generate coins\n"
msgstr "Genera monete\n"
#: ../../../init.cpp:345
msgid "Don't generate coins\n"
msgstr "Non generare monete\n"
#: ../../../init.cpp:346
msgid "Start minimized\n"
msgstr "Avvia minimizzato\n"
#: ../../../init.cpp:347
msgid "Specify data directory\n"
msgstr "Indica la cartella per i dati\n"
#: ../../../init.cpp:348
msgid "Connect through socks4 proxy\n"
msgstr "Connetti attraverso proxy socks4\n"
#: ../../../init.cpp:349
msgid "Add a node to connect to\n"
msgstr "Aggiungi un nodo a cui connetterti\n"
#: ../../../init.cpp:350
msgid "Connect only to the specified node\n"
msgstr "Impossibile connettersi al nodo specificato\n"
#: ../../../init.cpp:351
msgid "This help message\n"
msgstr "Questo messaggio di aiuto\n"
#: ../../../init.cpp:455
msgid "Error loading addr.dat \n"
msgstr "Errore nel caricare addr.dat \n"
#: ../../../init.cpp:461
msgid "Error loading blkindex.dat \n"
msgstr "Errore nel caricare blkindex.dat \n"
#: ../../../init.cpp:468
msgid "Error loading wallet.dat \n"
msgstr "Errore nel caricare wallet.dat \n"
#: ../../../init.cpp:536
msgid "Invalid -proxy address"
msgstr "Indirizzo proxy non valido"
#: ../../../init.cpp:629
msgid "Program has crashed and will terminate. "
msgstr "Il programma è crashato e sarà terminato. "
#: ../../../main.cpp:1465
msgid "Warning: Disk space is low "
msgstr "Attenzione: c'è poco spazio sul disco "
#: ../../../main.cpp:2994
#, c-format
msgid "Error: This is an oversized transaction that requires a transaction fee of %s "
msgstr "Errore: Questa è un operazione fuoriscala che richiede un sovrapprezzo di %s "
#: ../../../main.cpp:2996
msgid "Error: Transaction creation failed "
msgstr "Errore: La creazione del trasferimento è fallito "
#: ../../../main.cpp:3001
#: ../../../ui.cpp:1761
#: ../../../ui.cpp:1763
#: ../../../ui.cpp:1904
#: ../../../ui.cpp:2053
msgid "Sending..."
msgstr "Inviando..."
#: ../../../main.cpp:3005
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 "Errore: Il trasferimento è stato respinto. Questo può accadere se alcune delle monete nel tuo portafoglio erano già state spese, o anche se hai usato una copia di wallet.dat e le monete erano già state spese nella copia originale ma non segnate in quest'ultima."
#: ../../../main.cpp:3017
msgid "Invalid amount"
msgstr "Quantità non valida"
#: ../../../main.cpp:3019
#: ../../../ui.cpp:1971
#: ../../../ui.cpp:2038
msgid "Insufficient funds"
msgstr "Fondi insufficenti"
#: ../../../main.cpp:3024
msgid "Invalid bitcoin address"
msgstr "Indirizzo bitcoin non valido"
#: ../../../ui.cpp:189
#, 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 "Questo trasferimento è oltre le dimensioni massime. Puoi comunque inviarlo per un costo aggiuntivo di %s, che andrà ai nodi che effettueranno il processo della tua operazione e che supportano il network. Vuoi pagare il costo aggiuntivo?"
#: ../../../ui.cpp:285
msgid "Status"
msgstr "Stato"
#: ../../../ui.cpp:286
msgid "Date"
msgstr "Data"
#: ../../../ui.cpp:287
msgid "Description"
msgstr "Descrizione"
#: ../../../ui.cpp:288
msgid "Debit"
msgstr "Debito"
#: ../../../ui.cpp:289
msgid "Credit"
msgstr "Credito"
#: ../../../ui.cpp:489
#, c-format
msgid "Open for %d blocks"
msgstr "Aperto per %d blocchi"
#: ../../../ui.cpp:491
#, c-format
msgid "Open until %s"
msgstr "Aperto fino a %s"
#: ../../../ui.cpp:497
#, c-format
msgid "%d/offline?"
msgstr "%d/fuorilinea?"
#: ../../../ui.cpp:499
#, c-format
msgid "%d/unconfirmed"
msgstr "%d/non confermato"
#: ../../../ui.cpp:501
#, c-format
msgid "%d confirmations"
msgstr "%d conferme"
#: ../../../ui.cpp:584
msgid "Generated"
msgstr "Generato"
#: ../../../ui.cpp:592
#, c-format
msgid "Generated (%s matures in %d more blocks)"
msgstr "Generate (%s matureranno in %d altri blocchi)"
#: ../../../ui.cpp:596
msgid "Generated - Warning: This block was not received by any other nodes and will probably not be accepted!"
msgstr "Generato - Attenzione: Questo blocco non è stato ricevuto da nessun altro nodo e probabilmente non sarà accettato!"
#: ../../../ui.cpp:600
msgid "Generated (not accepted)"
msgstr "Generato (non accettato)"
#: ../../../ui.cpp:610
msgid "From: "
msgstr "Da: "
#: ../../../ui.cpp:634
msgid "From: unknown, Received with: "
msgstr "Da: sconosciuto, Ricevuto con: "
#: ../../../ui.cpp:676
msgid "Payment to yourself"
msgstr "Pagamento a te stesso"
#: ../../../ui.cpp:713
msgid "To: "
msgstr "A: "
#: ../../../ui.cpp:1009
msgid " Generating"
msgstr " Generando"
#: ../../../ui.cpp:1011
msgid "(not connected)"
msgstr "(non connesso)"
#: ../../../ui.cpp:1014
#, c-format
msgid " %d connections %d blocks %d transactions"
msgstr " %d connessioni %d blocchi %d trasferimenti"
#: ../../../ui.cpp:1123
#: ../../../ui.cpp:2351
msgid "New Receiving Address"
msgstr "Nuovo indirizzo ricevente"
#: ../../../ui.cpp:1124
#: ../../../ui.cpp:2352
msgid ""
"It's good policy to use a new address for each payment you receive.\n"
"\n"
"Label"
msgstr ""
"E' una buona abitudine usare un nuovo indirizzo per ogni pagamento che ricevuto.\n"
"\n"
"Label"
#: ../../../ui.cpp:1193
msgid "<b>Status:</b> "
msgstr "<b>Stato:</b> "
#: ../../../ui.cpp:1198
msgid ", has not been successfully broadcast yet"
msgstr ", non è ancora stato diffuso correttamente"
#: ../../../ui.cpp:1200
#, c-format
msgid ", broadcast through %d node"
msgstr ", diffusione attraverso %d nodo"
#: ../../../ui.cpp:1202
#, c-format
msgid ", broadcast through %d nodes"
msgstr ", diffusione attraverso %d nodi"
#: ../../../ui.cpp:1206
msgid "<b>Date:</b> "
msgstr "<b>Data:</b> "
#: ../../../ui.cpp:1214
msgid "<b>Source:</b> Generated<br>"
msgstr "<b>Sorgente:</b> Generato<br>"
#: ../../../ui.cpp:1220
#: ../../../ui.cpp:1238
msgid "<b>From:</b> "
msgstr "<b>Da:</b> "
#: ../../../ui.cpp:1238
msgid "unknown"
msgstr "sconoscuto"
#: ../../../ui.cpp:1239
#: ../../../ui.cpp:1263
#: ../../../ui.cpp:1322
msgid "<b>To:</b> "
msgstr "<b>A:</b> "
#: ../../../ui.cpp:1242
msgid " (yours, label: "
msgstr " (vostro, label: "
#: ../../../ui.cpp:1244
msgid " (yours)"
msgstr " (vostro)"
#: ../../../ui.cpp:1281
#: ../../../ui.cpp:1293
#: ../../../ui.cpp:1356
msgid "<b>Credit:</b> "
msgstr "<b>Credito:</b> "
#: ../../../ui.cpp:1283
#, c-format
msgid "(%s matures in %d more blocks)"
msgstr "(%s matureranno in %d altri blocchi)"
#: ../../../ui.cpp:1285
msgid "(not accepted)"
msgstr "(non accettato)"
#: ../../../ui.cpp:1330
#: ../../../ui.cpp:1353
msgid "<b>Debit:</b> "
msgstr "<b>Debito:</b> "
#: ../../../ui.cpp:1344
msgid "<b>Transaction fee:</b> "
msgstr "<b>Trasferimento costo:</b> "
#: ../../../ui.cpp:1360
msgid "<b>Net amount:</b> "
msgstr "<b>Quantità del network:</b> "
#: ../../../ui.cpp:1367
msgid "Message:"
msgstr "Messaggio:"
#: ../../../ui.cpp:1370
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 "Le monete generate devono aspettare 120 blocchi prima di poter essere spese. Quando hai generato questo blocco, è stato diffuso sul network per essere aggiunto alla catena dei blocchi. Se fallirà l'entrata nella catena, cambierà in \"non accettato\" e non spendibile. Questo può capitare se un altro nodo genera un blocco pochi secondi prima del tuo."
#: ../../../ui.cpp:1437
msgid "Main"
msgstr "Principale"
#: ../../../ui.cpp:1442
msgid "&Minimize on close"
msgstr "&Minimizza se chiuso"
#: ../../../ui.cpp:1595
#, c-format
msgid "version 0.%d.%d beta"
msgstr "versione 0.%d.%d beta"
#: ../../../ui.cpp:1681
msgid "Will appear as \"From: Unknown\""
msgstr "Apparirà come \"Da: Sconosciuto\""
#: ../../../ui.cpp:1682
msgid "Can't include a message when sending to a Bitcoin address"
msgstr "Non si può includere un messaggio quando si invia attraverso l'indirizzo Bitcoin"
#: ../../../ui.cpp:1735
msgid "Error in amount "
msgstr "Errore nell'ammontare "
#: ../../../ui.cpp:1735
#: ../../../ui.cpp:1740
#: ../../../ui.cpp:1745
#: ../../../ui.cpp:1771
#: ../../../uibase.cpp:61
msgid "Send Coins"
msgstr "Invia monete"
#: ../../../ui.cpp:1740
msgid "Amount exceeds your balance "
msgstr "L'ammontare è andato oltre i tuoi capitali "
#: ../../../ui.cpp:1745
msgid "Total exceeds your balance when the "
msgstr "Il totale va oltre i tuoi capitali quando il "
#: ../../../ui.cpp:1745
msgid " transaction fee is included "
msgstr " il costo trasferimento è incluso "
#: ../../../ui.cpp:1761
msgid "Payment sent "
msgstr "Pagamento inviato "
#: ../../../ui.cpp:1771
msgid "Invalid address "
msgstr "Indirizzo non valido "
#: ../../../ui.cpp:1825
#, c-format
msgid "Sending %s to %s"
msgstr "Inviando %s a %s"
#: ../../../ui.cpp:1898
#: ../../../ui.cpp:1931
msgid "CANCELLED"
msgstr "CANCELLATO"
#: ../../../ui.cpp:1902
msgid "Cancelled"
msgstr "Cancellato"
#: ../../../ui.cpp:1904
msgid "Transfer cancelled "
msgstr "Operazione cancellata "
#: ../../../ui.cpp:1957
msgid "Error: "
msgstr "Errore: "
#: ../../../ui.cpp:1976
msgid "Connecting..."
msgstr "Connessione in corso..."
#: ../../../ui.cpp:1981
msgid "Unable to connect"
msgstr "Impossibile connettersi"
#: ../../../ui.cpp:1986
msgid "Requesting public key..."
msgstr "Richiesta chiave pubblica..."
#: ../../../ui.cpp:1998
msgid "Received public key..."
msgstr "Ricezione chiave pubblica..."
#: ../../../ui.cpp:2010
msgid "Transfer was not accepted"
msgstr "Trasferimento non accettato"
#: ../../../ui.cpp:2019
msgid "Invalid response received"
msgstr "Risposta non valida ricevuta"
#: ../../../ui.cpp:2034
msgid "Creating transaction..."
msgstr "Creazione trasferimento..."
#: ../../../ui.cpp:2046
#, c-format
msgid "This is an oversized transaction that requires a transaction fee of %s"
msgstr "Questo è un trasferimento fuoriscala che richiede un costo aggiuntivo di %s"
#: ../../../ui.cpp:2048
msgid "Transaction creation failed"
msgstr "Creazione trasferimento fallita"
#: ../../../ui.cpp:2055
msgid "Transaction aborted"
msgstr "Trasferimento bloccato"
#: ../../../ui.cpp:2063
msgid "Lost connection, transaction cancelled"
msgstr "Connessione persa, trasferimento cancellato"
#: ../../../ui.cpp:2079
msgid "Sending payment..."
msgstr "Inviando pagamento..."
#: ../../../ui.cpp:2085
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 "Il trasferimento è stato respinto. Questo può accadere se alcune delle monete nel tuo portafoglio erano già state spese, o anche se hai usato una copia di wallet.dat e le monete erano già state spese nella copia originale ma non segnate in quest'ultima."
#: ../../../ui.cpp:2092
msgid "Waiting for confirmation..."
msgstr "In attesa di conferma..."
#: ../../../ui.cpp:2110
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 ""
"Il pagamento è inviato, ma il ricevente non è stato in grado di verificarlo.\n"
"Il trasferimento è registrato e costerà sarà accreditato al ricevente,\n"
"ma il commento verrà mostrato come vuoto."
#: ../../../ui.cpp:2119
msgid "Payment was sent, but an invalid response was received"
msgstr "Il pagamento è stato inviato, ma è arrivata un risposta invalida"
#: ../../../ui.cpp:2125
msgid "Payment completed"
msgstr "Pagamento completato"
#: ../../../ui.cpp:2156
#: ../../../ui.cpp:2302
#: ../../../ui.cpp:2339
msgid "Name"
msgstr "Nome"
#: ../../../ui.cpp:2157
#: ../../../ui.cpp:2302
#: ../../../ui.cpp:2339
msgid "Address"
msgstr "Indirizzo"
#: ../../../ui.cpp:2159
#: ../../../ui.cpp:2314
msgid "Label"
msgstr "Label"
#: ../../../ui.cpp:2160
#: ../../../uibase.cpp:908
msgid "Bitcoin Address"
msgstr "Indirizzo Bitcoin"
#: ../../../ui.cpp:2284
msgid "This is one of your own addresses for receiving payments and cannot be entered in the address book. "
msgstr "Questo qui è uno dei tuoi indirizzi personali per ricevere pagamenti e non può essere inserito nella rubrica indirizzi. "
#: ../../../ui.cpp:2302
#: ../../../ui.cpp:2308
msgid "Edit Address"
msgstr "Modifica indirizzo"
#: ../../../ui.cpp:2314
msgid "Edit Address Label"
msgstr "Modifica spazio indirizzo"
#: ../../../ui.cpp:2339
#: ../../../ui.cpp:2345
msgid "Add Address"
msgstr "Aggiungi indirizzo"
#: ../../../ui.cpp:2421
msgid "Bitcoin"
msgstr "Bitcoin"
#: ../../../ui.cpp:2423
msgid "Bitcoin - Generating"
msgstr "Bitcoin - Generando"
#: ../../../ui.cpp:2425
msgid "Bitcoin - (not connected)"
msgstr "Bitcoin - (non connesso)"
#: ../../../ui.cpp:2500
msgid "&Open Bitcoin"
msgstr "&Apri Bitcoin"
#: ../../../ui.cpp:2501
msgid "O&ptions..."
msgstr "O&pzioni..."
#: ../../../ui.cpp:2502
#: ../../../uibase.cpp:34
msgid "&Generate Coins"
msgstr "&Genera monete"
#: ../../../ui.cpp:2505
#: ../../../uibase.cpp:27
msgid "E&xit"
msgstr "E&sci"
#: ../../../uibase.cpp:30
msgid "&File"
msgstr "&File"
#: ../../../uibase.cpp:38
msgid "&Your Receiving Addresses..."
msgstr "&Il tuo indirizzo di ricezione..."
#: ../../../uibase.cpp:42
msgid "&Options..."
msgstr "&Opzioni..."
#: ../../../uibase.cpp:45
msgid "&Settings"
msgstr "I&mpostazioni"
#: ../../../uibase.cpp:49
msgid "&About..."
msgstr "&Info..."
#: ../../../uibase.cpp:52
msgid "&Help"
msgstr "&Aiuto"
#: ../../../uibase.cpp:62
msgid "Address Book"
msgstr "Rubrica indirizzi"
#: ../../../uibase.cpp:77
msgid "Your Bitcoin Address:"
msgstr "Il tuo indirizzo Bitcoin:"
#: ../../../uibase.cpp:84
msgid " &New... "
msgstr " &Nuovo... "
#: ../../../uibase.cpp:87
#: ../../../uibase.cpp:851
#: ../../../uibase.cpp:954
msgid " &Copy to Clipboard "
msgstr " &Copia nella Clipboard "
#: ../../../uibase.cpp:102
msgid "Balance:"
msgstr "Capitali:"
#: ../../../uibase.cpp:121
msgid " All"
msgstr " Tutte"
#: ../../../uibase.cpp:121
msgid " Sent"
msgstr " Inviato"
#: ../../../uibase.cpp:121
msgid " Received"
msgstr " Ricevuto"
#: ../../../uibase.cpp:121
msgid " In Progress"
msgstr " In lavorazione"
#: ../../../uibase.cpp:142
msgid "All Transactions"
msgstr "Tutte le operazioni"
#: ../../../uibase.cpp:153
msgid "Sent/Received"
msgstr "Inviato/Ricevuto"
#: ../../../uibase.cpp:164
msgid "Sent"
msgstr "Inviato"
#: ../../../uibase.cpp:175
msgid "Received"
msgstr "Ricevuto"
#: ../../../uibase.cpp:318
#: ../../../uibase.cpp:479
#: ../../../uibase.cpp:580
#: ../../../uibase.cpp:793
#: ../../../uibase.cpp:854
#: ../../../uibase.cpp:963
#: ../../../uibase.cpp:1052
msgid "OK"
msgstr "OK"
#: ../../../uibase.cpp:361
msgid "Optional transaction fee you give to the nodes that process your transactions."
msgstr "Costo aggiuntivo opzionale che tu dai ai nodi che realizzano i tuoi trasferimenti"
#: ../../../uibase.cpp:370
msgid "Transaction fee:"
msgstr "Costo trasferimento:"
#: ../../../uibase.cpp:386
msgid "&Limit coin generation to"
msgstr "&Limita la generazione moneta a"
#: ../../../uibase.cpp:393
msgid "processors"
msgstr "processori"
#: ../../../uibase.cpp:399
msgid "&Start Bitcoin on system startup"
msgstr "A&vvia Bitcoin all'avvio del sistema"
#: ../../../uibase.cpp:403
msgid "&Minimize to the tray instead of the taskbar"
msgstr "&Minimizza nella tray invece che nella barra"
#: ../../../uibase.cpp:407
msgid "M&inimize to the tray on close"
msgstr "M&inimizza nella tray alla chiusura"
#: ../../../uibase.cpp:414
msgid "&Connect through socks4 proxy: "
msgstr "%Connesso attraverso proxy socks4: "
#: ../../../uibase.cpp:426
msgid "Proxy &IP:"
msgstr "Proxy &IP:"
#: ../../../uibase.cpp:434
msgid " &Port:"
msgstr " &Porta:"
#: ../../../uibase.cpp:456
msgid "// [don't translate] Test panel 2 for future expansion"
msgstr ""
#: ../../../uibase.cpp:460
msgid "// [don't translate] Let's not start multiple pages until the first page is filled up"
msgstr ""
#: ../../../uibase.cpp:482
#: ../../../uibase.cpp:735
#: ../../../uibase.cpp:798
#: ../../../uibase.cpp:857
#: ../../../uibase.cpp:966
#: ../../../uibase.cpp:1055
msgid "Cancel"
msgstr "Cancella"
#: ../../../uibase.cpp:485
msgid "&Apply"
msgstr "&Accetta"
#: ../../../uibase.cpp:546
msgid "Bitcoin "
msgstr "Bitcoin "
#: ../../../uibase.cpp:552
msgid "version"
msgstr "versione"
#: ../../../uibase.cpp:563
msgid ""
"Copyright (c) 2009-2010 Satoshi Nakamoto.\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)."
msgstr ""
"Copyright (c) 2009-2010 Satoshi Nakamoto.\n"
"\n"
"Questo è un software sperimentale.\n"
"\n"
"Distribuito sotto la licenza software MIT/X11, guarda il file license.txt\n"
"incluso oppure su http://www.opensource.org/licenses/mit-license.php.\n"
"\n"
"Questo prodoto include software sviluppato dal progetto OpenSSL per\n"
"l'uso del (http://www.openssl.org/) e il software criptografico scritto\n"
"da Eric Young (eay@cryptsoft.com)."
#: ../../../uibase.cpp:619
msgid "Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L) or IP address (e.g. 123.45.6.7)"
msgstr "Inserisci un indirizzo Bitcoin (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L) o un indirizzo IP (e.g. 123.45.6.7)"
#: ../../../uibase.cpp:633
msgid "Pay &To:"
msgstr "Paga %a:"
#: ../../../uibase.cpp:648
msgid "&Paste"
msgstr "&Incolla"
#: ../../../uibase.cpp:651
msgid " Address &Book..."
msgstr " &Rubrica degli indirizzi..."
#: ../../../uibase.cpp:658
msgid "&Amount:"
msgstr "&Quantità"
#: ../../../uibase.cpp:668
msgid "T&ransfer:"
msgstr "T&rasferimento:"
#: ../../../uibase.cpp:674
msgid " Standard"
msgstr " Standard"
#: ../../../uibase.cpp:696
msgid "&From:"
msgstr "&Proveniente da:"
#: ../../../uibase.cpp:713
msgid "&Message:"
msgstr "&Messaggio:"
#: ../../../uibase.cpp:730
msgid "&Send"
msgstr "&Invia"
#: ../../../uibase.cpp:782
msgid ""
"\n"
"\n"
"Connecting..."
msgstr ""
"\n"
"\n"
"Connessione in corso..."
#: ../../../uibase.cpp:832
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 "Questi sono i tuoi indirizzi Bitcoin per ricevere pagamenti. Potrai darne uno diverso ad ognuno per cosi tenere traccia di chi ti sta pagando. L'indirizzo selezionato sarà quello mostrato nella finestra principale."
#: ../../../uibase.cpp:845
#: ../../../uibase.cpp:957
msgid "&Edit..."
msgstr "&Cambia..."
#: ../../../uibase.cpp:848
#: ../../../uibase.cpp:960
msgid " &New Address... "
msgstr " &Nuovo indirizzo... "
#: ../../../uibase.cpp:920
msgid "Sending"
msgstr "Inviando"
#: ../../../uibase.cpp:928
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 "Questi sono i tuoi indirizzi Bitcoin per ricevere pagamenti. Potrai darne uno diverso ad ognuno per cosi tenere traccia di chi ti sta pagando. L'indirizzo selezionato sarà quello mostrato nella finestra principale."
#: ../../../uibase.cpp:941
msgid "Receiving"
msgstr "Ricevendo"
#: ../../../uibase.cpp:951
msgid "&Delete"
msgstr "&Cancella"
#: ../../../uibase.h:150
msgid "Transaction Details"
msgstr "Dettagli operazione"
#: ../../../uibase.h:203
msgid "Options"
msgstr "Opzioni"
#: ../../../uibase.h:231
msgid "About Bitcoin"
msgstr "Info Bitcoin"
#: ../../../uibase.h:341
msgid "Your Bitcoin Addresses"
msgstr "Il tuo indirizzo Bitcoin"

Binary file not shown.

View File

@@ -1,808 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-05-26 22:02-0000\n"
"PO-Revision-Date: 2010-05-27 19:27+0100\n"
"Last-Translator: Xunie\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:342
msgid "Usage: bitcoin [options]"
msgstr ""
#: ../../../init.cpp:343
msgid "Options:\n"
msgstr "Opties:\n"
#: ../../../init.cpp:344
msgid "Generate coins\n"
msgstr "Genereer coins\n"
#: ../../../init.cpp:345
msgid "Don't generate coins\n"
msgstr "Genereer geen coins\n"
#: ../../../init.cpp:346
msgid "Start minimized\n"
msgstr "Start geminimalizeerd\n"
#: ../../../init.cpp:347
msgid "Specify data directory\n"
msgstr "Specificeer data map\n"
#: ../../../init.cpp:348
msgid "Connect through socks4 proxy\n"
msgstr "Verbind via socks4 proxy\n"
#: ../../../init.cpp:349
msgid "Add a node to connect to\n"
msgstr "Voeg een node om naar te verbinden toe\n"
#: ../../../init.cpp:350
msgid "Connect only to the specified node\n"
msgstr "Verbind alleen naar deze node\n"
#: ../../../init.cpp:351
msgid "This help message\n"
msgstr ""
#: ../../../init.cpp:455
msgid "Error loading addr.dat \n"
msgstr "Fout bij laden van bestand addr.dat \n"
#: ../../../init.cpp:461
msgid "Error loading blkindex.dat \n"
msgstr "Fout bij laden van bestand blkindex.dat \n"
#: ../../../init.cpp:468
msgid "Error loading wallet.dat \n"
msgstr "Fout bij laden van bestand wallet.dat \n"
#: ../../../init.cpp:536
msgid "Invalid -proxy address"
msgstr "Foutief -proxy adres"
#: ../../../init.cpp:629
msgid "Program has crashed and will terminate. "
msgstr "Programma is gecrashed en word afgesloten. "
#: ../../../main.cpp:1465
msgid "Warning: Disk space is low "
msgstr "Waarschuwng: Gebrek aan schijf ruimte "
#: ../../../main.cpp:2994
#, c-format
msgid "Error: This is an oversized transaction that requires a transaction fee of %s "
msgstr "Fout: Dit is een te grote transactie die een fooi nodig heeft van %s "
#: ../../../main.cpp:2996
msgid "Error: Transaction creation failed "
msgstr "Fout: Transactie aanmaak gefaald "
#: ../../../main.cpp:3001
#: ../../../ui.cpp:1761
#: ../../../ui.cpp:1763
#: ../../../ui.cpp:1904
#: ../../../ui.cpp:2053
msgid "Sending..."
msgstr "Versturen..."
#: ../../../main.cpp:3005
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 "Fout: De transactie was afgekeurd. Dit kan komen als bepaalde coins in uw Portefeuille al zijn uitgegeven. Dit kan komen doordat u wallet.dat heeft gekopieerd en wat coins heeft uitgegeven en niet terug gekopieerd heeft."
#: ../../../main.cpp:3017
msgid "Invalid amount"
msgstr "Foutief aantal"
#: ../../../main.cpp:3019
#: ../../../ui.cpp:1971
#: ../../../ui.cpp:2038
msgid "Insufficient funds"
msgstr "Onvoldoende coins"
#: ../../../main.cpp:3024
msgid "Invalid bitcoin address"
msgstr "Foutief bitcoin adres"
#: ../../../ui.cpp:189
#, 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 "Deze transactie is over het limiet. U kunt nog door gaan met de transactie door een fooi te betalen van %s, deze word betaald aan de node die uw tranactie verwerkt. Wilt u de fooi betalen?"
#: ../../../ui.cpp:285
msgid "Status"
msgstr "Status"
#: ../../../ui.cpp:286
msgid "Date"
msgstr "Datum"
#: ../../../ui.cpp:287
msgid "Description"
msgstr "Beschrijving"
#: ../../../ui.cpp:288
msgid "Debit"
msgstr ""
#: ../../../ui.cpp:289
msgid "Credit"
msgstr ""
#: ../../../ui.cpp:489
#, c-format
msgid "Open for %d blocks"
msgstr "Open voor %d blocks"
#: ../../../ui.cpp:491
#, c-format
msgid "Open until %s"
msgstr "Open tot %s"
#: ../../../ui.cpp:497
#, c-format
msgid "%d/offline?"
msgstr "%d/offline?"
#: ../../../ui.cpp:499
#, c-format
msgid "%d/unconfirmed"
msgstr "%d/niet bevestigd"
#: ../../../ui.cpp:501
#, c-format
msgid "%d confirmations"
msgstr "%d bevestigingen"
#: ../../../ui.cpp:584
msgid "Generated"
msgstr "Gegenereerd"
#: ../../../ui.cpp:592
#, c-format
msgid "Generated (%s matures in %d more blocks)"
msgstr "Gegenereerd (%s word volwassen in %d blokken)"
#: ../../../ui.cpp:596
msgid "Generated - Warning: This block was not received by any other nodes and will probably not be accepted!"
msgstr "Gegenereerd - Waarschuwing: Dit blok is niet ontvangen door andere nodes en zal waarschijnlijk niet geaccepteerd worden!"
#: ../../../ui.cpp:600
msgid "Generated (not accepted)"
msgstr "Gegenereerd (niet geaccepteerd)"
#: ../../../ui.cpp:610
msgid "From: "
msgstr "Van: "
#: ../../../ui.cpp:634
msgid "From: unknown, Received with: "
msgstr "Van: onbekend, Ontvangen met: "
#: ../../../ui.cpp:676
msgid "Payment to yourself"
msgstr "Betaling naar u zelf"
#: ../../../ui.cpp:713
msgid "To: "
msgstr "Naar: "
#: ../../../ui.cpp:1009
msgid " Generating"
msgstr " Genereert"
#: ../../../ui.cpp:1011
msgid "(not connected)"
msgstr "(niet verbonden)"
#: ../../../ui.cpp:1014
#, c-format
msgid " %d connections %d blocks %d transactions"
msgstr " %d verbindingen %d blokken %d transacties"
#: ../../../ui.cpp:1123
#: ../../../ui.cpp:2351
msgid "New Receiving Address"
msgstr "Nieuw Ontvangings Adres"
#: ../../../ui.cpp:1124
#: ../../../ui.cpp:2352
msgid ""
"It's good policy to use a new address for each payment you receive.\n"
"\n"
"Label"
msgstr ""
"Het is goed beleid om een nieuw adres voor elke betaling te hebben.\n"
"\n"
"Label"
#: ../../../ui.cpp:1193
msgid "<b>Status:</b> "
msgstr "<b>Status:</b> "
#: ../../../ui.cpp:1198
msgid ", has not been successfully broadcast yet"
msgstr ", is nog niet succesvol verstuurd naar het netwerk"
#: ../../../ui.cpp:1200
#, c-format
msgid ", broadcast through %d node"
msgstr ", verstuurd via %d node"
#: ../../../ui.cpp:1202
#, c-format
msgid ", broadcast through %d nodes"
msgstr ", verstuurd via %d nodes"
#: ../../../ui.cpp:1206
msgid "<b>Date:</b> "
msgstr "<b>Datum:</b> "
#: ../../../ui.cpp:1214
msgid "<b>Source:</b> Generated<br>"
msgstr "<b>Bron:</b> Gegenereerd<br>"
#: ../../../ui.cpp:1220
#: ../../../ui.cpp:1238
msgid "<b>From:</b> "
msgstr "<b>Van:</b> "
#: ../../../ui.cpp:1238
msgid "unknown"
msgstr "onbekend"
#: ../../../ui.cpp:1239
#: ../../../ui.cpp:1263
#: ../../../ui.cpp:1322
msgid "<b>To:</b> "
msgstr "<b>Naar:</b> "
#: ../../../ui.cpp:1242
msgid " (yours, label: "
msgstr ""
#: ../../../ui.cpp:1244
#, fuzzy
msgid " (yours)"
msgstr ""
#: ../../../ui.cpp:1281
#: ../../../ui.cpp:1293
#: ../../../ui.cpp:1356
msgid "<b>Credit:</b> "
msgstr ""
#: ../../../ui.cpp:1283
#, c-format
msgid "(%s matures in %d more blocks)"
msgstr "(%s word volwassen in %d blokken)"
#: ../../../ui.cpp:1285
msgid "(not accepted)"
msgstr "(niet geaccepteerd"
#: ../../../ui.cpp:1330
#: ../../../ui.cpp:1353
msgid "<b>Debit:</b> "
msgstr ""
#: ../../../ui.cpp:1344
msgid "<b>Transaction fee:</b> "
msgstr "<b>Transactie fooi:</b> "
#: ../../../ui.cpp:1360
msgid "<b>Net amount:</b> "
msgstr "<b>Netto bedrag:</b> "
#: ../../../ui.cpp:1367
msgid "Message:"
msgstr "Mededeling:"
#: ../../../ui.cpp:1370
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 "Gegenereerde coins moeten 120 blokken wachten voordat ze uitgegeven kunnen worden. Wanneer je dit blok genereerde, werd het naar het netwerk gestuurd om opgenomen teworden in de rest van de blokken. Als dit faalt, dan zal de dit veranderen in \"niet geaccepteerd\" en zal niet uitgeefbaar zijn. Dit kan soms gebeuren als een node ook een blok rond dezelfde periode genereerd."
#: ../../../ui.cpp:1437
msgid "Main"
msgstr "Hoofd"
#: ../../../ui.cpp:1442
msgid "&Minimize on close"
msgstr "&Minimalizeer bij sluiten"
#: ../../../ui.cpp:1595
#, c-format
msgid "version 0.%d.%d beta"
msgstr "versie 0.%d.%d beta"
#: ../../../ui.cpp:1681
msgid "Will appear as \"From: Unknown\""
msgstr "Word vertoont als \"Van: Onbekend\""
#: ../../../ui.cpp:1682
msgid "Can't include a message when sending to a Bitcoin address"
msgstr "Kan geen mededeling versturen bij gebruik van Bitcoin adressen"
#: ../../../ui.cpp:1735
msgid "Error in amount "
msgstr "Fout in hoeveelheid "
#: ../../../ui.cpp:1735
#: ../../../ui.cpp:1740
#: ../../../ui.cpp:1745
#: ../../../ui.cpp:1771
#: ../../../uibase.cpp:61
msgid "Send Coins"
msgstr "Verstuur Coins"
#: ../../../ui.cpp:1740
msgid "Amount exceeds your balance "
msgstr "Hoeveelheid hoger dan uw huidige balans "
#: ../../../ui.cpp:1745
msgid "Total exceeds your balance when the "
msgstr "Totaal groter dan uw huidige balans wanner de "
#: ../../../ui.cpp:1745
msgid " transaction fee is included "
msgstr " transactie fooi is bijgerekend "
#: ../../../ui.cpp:1761
msgid "Payment sent "
msgstr "Betaling verstuurd "
#: ../../../ui.cpp:1771
msgid "Invalid address "
msgstr "Foutief adres "
#: ../../../ui.cpp:1825
#, c-format
msgid "Sending %s to %s"
msgstr "Verstuurd %s naar %s"
#: ../../../ui.cpp:1898
#: ../../../ui.cpp:1931
msgid "CANCELLED"
msgstr "GEANNULEERD"
#: ../../../ui.cpp:1902
msgid "Cancelled"
msgstr "Geannuleerd"
#: ../../../ui.cpp:1904
msgid "Transfer cancelled "
msgstr "Transactie geannuleerd "
#: ../../../ui.cpp:1957
msgid "Error: "
msgstr "Fout: "
#: ../../../ui.cpp:1976
msgid "Connecting..."
msgstr "Verbinden..."
#: ../../../ui.cpp:1981
msgid "Unable to connect"
msgstr "Kan niet verbinden"
#: ../../../ui.cpp:1986
msgid "Requesting public key..."
msgstr "Aanvragen van publieke sleutel..."
#: ../../../ui.cpp:1998
msgid "Received public key..."
msgstr "Publieke sleutel ontvangen..."
#: ../../../ui.cpp:2010
msgid "Transfer was not accepted"
msgstr "Transactie niet geaccepteerd"
#: ../../../ui.cpp:2019
msgid "Invalid response received"
msgstr "Foutief antwoord ontvangen"
#: ../../../ui.cpp:2034
msgid "Creating transaction..."
msgstr "Maakt transactie aan..."
#: ../../../ui.cpp:2046
#, c-format
msgid "This is an oversized transaction that requires a transaction fee of %s"
msgstr "Dit is een te grote transactie die een transactie fooi vereist van %s"
#: ../../../ui.cpp:2048
msgid "Transaction creation failed"
msgstr "Transactie aanmaak gefaald."
#: ../../../ui.cpp:2055
msgid "Transaction aborted"
msgstr "Transactie geannuleerd"
#: ../../../ui.cpp:2063
msgid "Lost connection, transaction cancelled"
msgstr "Verbinding verloren, transactie geannuleerd"
#: ../../../ui.cpp:2079
msgid "Sending payment..."
msgstr "Versturen van betaling..."
#: ../../../ui.cpp:2085
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 "De transactie was afgekeurd. Dit kan komen als bepaalde coins in uw Portefeuille al zijn uitgegeven. Dit kan komen doordat u wallet.dat heeft gekopieerd en wat coins heeft uitgegeven en niet terug gekopieerd heeft."
#: ../../../ui.cpp:2092
msgid "Waiting for confirmation..."
msgstr "Wachten op bevestiging..."
#: ../../../ui.cpp:2110
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 ""
"De betaling was verstuurd, maar de ontvanger kon het niet verifieeren.\n"
"De transactie is opgenomen en word uitbetaald aan de ontvanger,\n"
"maar de mededeling blijft blank bij de ontanger."
#: ../../../ui.cpp:2119
msgid "Payment was sent, but an invalid response was received"
msgstr "Betaling was verstuurd, maar een foutief antword was ontvangen."
#: ../../../ui.cpp:2125
msgid "Payment completed"
msgstr "Betaling voltooid"
#: ../../../ui.cpp:2156
#: ../../../ui.cpp:2302
#: ../../../ui.cpp:2339
msgid "Name"
msgstr "Naam"
#: ../../../ui.cpp:2157
#: ../../../ui.cpp:2302
#: ../../../ui.cpp:2339
msgid "Address"
msgstr "Adres"
#: ../../../ui.cpp:2159
#: ../../../ui.cpp:2314
msgid "Label"
msgstr "Label"
#: ../../../ui.cpp:2160
#: ../../../uibase.cpp:908
msgid "Bitcoin Address"
msgstr "Bitcoin Adres"
#: ../../../ui.cpp:2284
msgid "This is one of your own addresses for receiving payments and cannot be entered in the address book. "
msgstr "Dit is een van uw eigen adressen voor het ontvangen van betalingen en can niet worden toegevoegd aan uw adressen boek. "
#: ../../../ui.cpp:2302
#: ../../../ui.cpp:2308
msgid "Edit Address"
msgstr "Bewerk Adres"
#: ../../../ui.cpp:2314
msgid "Edit Address Label"
msgstr "Bewerk Adres Label"
#: ../../../ui.cpp:2339
#: ../../../ui.cpp:2345
msgid "Add Address"
msgstr "Adres Toevoegen"
#: ../../../ui.cpp:2421
msgid "Bitcoin"
msgstr "Bitcoin"
#: ../../../ui.cpp:2423
msgid "Bitcoin - Generating"
msgstr "Bitcoin - Genereert"
#: ../../../ui.cpp:2425
msgid "Bitcoin - (not connected)"
msgstr "Bitcoin - (niet verbonden)"
#: ../../../ui.cpp:2500
msgid "&Open Bitcoin"
msgstr "&Open Bitcoin"
#: ../../../ui.cpp:2501
msgid "O&ptions..."
msgstr "O&pties"
#: ../../../ui.cpp:2502
#: ../../../uibase.cpp:34
msgid "&Generate Coins"
msgstr "&Genereer Coins"
#: ../../../ui.cpp:2505
#: ../../../uibase.cpp:27
msgid "E&xit"
msgstr "A&fsluiten"
#: ../../../uibase.cpp:30
msgid "&File"
msgstr "&Bestand"
#: ../../../uibase.cpp:38
msgid "&Your Receiving Addresses..."
msgstr "&Uw Ontvang Adressen..."
#: ../../../uibase.cpp:42
msgid "&Options..."
msgstr "&Opties..."
#: ../../../uibase.cpp:45
msgid "&Settings"
msgstr "&Eigenschappen"
#: ../../../uibase.cpp:49
msgid "&About..."
msgstr "&Over..."
#: ../../../uibase.cpp:52
msgid "&Help"
msgstr "&Help"
#: ../../../uibase.cpp:62
msgid "Address Book"
msgstr "Adressen Boek"
#: ../../../uibase.cpp:77
msgid "Your Bitcoin Address:"
msgstr "Uw Bitcoin Address:"
#: ../../../uibase.cpp:84
msgid " &New... "
msgstr " &Nieuw... "
#: ../../../uibase.cpp:87
#: ../../../uibase.cpp:851
#: ../../../uibase.cpp:954
msgid " &Copy to Clipboard "
msgstr " &Kopieer naar Plakboord "
#: ../../../uibase.cpp:102
msgid "Balance:"
msgstr "Balans:"
#: ../../../uibase.cpp:121
msgid " All"
msgstr " Alles"
#: ../../../uibase.cpp:121
msgid " Sent"
msgstr " Verstuurd"
#: ../../../uibase.cpp:121
msgid " Received"
msgstr " Ontvangen"
#: ../../../uibase.cpp:121
msgid " In Progress"
msgstr " Word Verwerkt"
#: ../../../uibase.cpp:142
msgid "All Transactions"
msgstr "Alle transacties"
#: ../../../uibase.cpp:153
msgid "Sent/Received"
msgstr "Verstuurd/Ontvangen"
#: ../../../uibase.cpp:164
msgid "Sent"
msgstr "Verstuurd"
#: ../../../uibase.cpp:175
msgid "Received"
msgstr "Ontvangen"
#: ../../../uibase.cpp:318
#: ../../../uibase.cpp:479
#: ../../../uibase.cpp:580
#: ../../../uibase.cpp:793
#: ../../../uibase.cpp:854
#: ../../../uibase.cpp:963
#: ../../../uibase.cpp:1052
msgid "OK"
msgstr "OK"
#: ../../../uibase.cpp:361
msgid "Optional transaction fee you give to the nodes that process your transactions."
msgstr "Optionele transactie fooi die u geeft aan de nodes doe uw betaling verwerken."
#: ../../../uibase.cpp:370
msgid "Transaction fee:"
msgstr "Transactie fooi:"
#: ../../../uibase.cpp:386
msgid "&Limit coin generation to"
msgstr "&Limiteer coin generatie tot"
#: ../../../uibase.cpp:393
msgid "processors"
msgstr "processors"
#: ../../../uibase.cpp:399
msgid "&Start Bitcoin on system startup"
msgstr "&Start Bitcoin wanneer het systeem opstart"
#: ../../../uibase.cpp:403
msgid "&Minimize to the tray instead of the taskbar"
msgstr "&Minimalizeer tot systeemvak inplaats van taakbalk"
#: ../../../uibase.cpp:407
msgid "M&inimize to the tray on close"
msgstr "M&inimalizeer tot taakbalk bij sluiten"
#: ../../../uibase.cpp:414
msgid "&Connect through socks4 proxy: "
msgstr "&Verbind via socks4 proxy: "
#: ../../../uibase.cpp:426
msgid "Proxy &IP:"
msgstr "Proxy &IP:"
#: ../../../uibase.cpp:434
msgid " &Port:"
msgstr " &Poort:"
#: ../../../uibase.cpp:456
msgid "// [don't translate] Test panel 2 for future expansion"
msgstr ""
#: ../../../uibase.cpp:460
msgid "// [don't translate] Let's not start multiple pages until the first page is filled up"
msgstr ""
#: ../../../uibase.cpp:482
#: ../../../uibase.cpp:735
#: ../../../uibase.cpp:798
#: ../../../uibase.cpp:857
#: ../../../uibase.cpp:966
#: ../../../uibase.cpp:1055
msgid "Cancel"
msgstr "Annuleer"
#: ../../../uibase.cpp:485
msgid "&Apply"
msgstr "&Toepassen"
#: ../../../uibase.cpp:546
msgid "Bitcoin "
msgstr "Bitcoin "
#: ../../../uibase.cpp:552
msgid "version"
msgstr "versie"
#: ../../../uibase.cpp:563
msgid ""
"Copyright (c) 2009-2010 Satoshi Nakamoto.\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)."
msgstr ""
"Copyright (c) 2009-2010 Satoshi Nakamoto.\n"
"\n"
"Dit is experimentele software.\n"
"\n"
"Gedistributeerd onder de MIT/X11 software licentie, see het bijbehorende bestand \n"
"license.txt of http://www.opensource.org/licenses/mit-license.php.\n"
"\n"
"Dit product komt met software ontwikkeld door het OpenSSL Project for gebruik \n"
"in de OpenSSL Toolkit (http://www.openssl.org/) and de cryptografische \n"
"software geschreven door Eric Young (eay@cryptsoft.com)."
#: ../../../uibase.cpp:619
msgid "Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L) or IP address (e.g. 123.45.6.7)"
msgstr "Voer een Bitcoin adres (bijvoorbeeld: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L) of IP address (bijvoorbeeld: 123.45.6.7) in."
#: ../../../uibase.cpp:633
msgid "Pay &To:"
msgstr "Betaal &Naar:"
#: ../../../uibase.cpp:648
msgid "&Paste"
msgstr "&Plakken"
#: ../../../uibase.cpp:651
msgid " Address &Book..."
msgstr " Adressen &Boek..."
#: ../../../uibase.cpp:658
msgid "&Amount:"
msgstr "&Hoeveelheid:"
#: ../../../uibase.cpp:668
msgid "T&ransfer:"
msgstr "O&verdracht:"
#: ../../../uibase.cpp:674
msgid " Standard"
msgstr " Standaard"
#: ../../../uibase.cpp:696
msgid "&From:"
msgstr "&Van:"
#: ../../../uibase.cpp:713
msgid "&Message:"
msgstr "&Mededeling:"
#: ../../../uibase.cpp:730
msgid "&Send"
msgstr "&Verstuur"
#: ../../../uibase.cpp:782
msgid ""
"\n"
"\n"
"Connecting..."
msgstr ""
"\n"
"\n"
"Verbinden..."
#: ../../../uibase.cpp:832
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 "Dit zijn uw Bitcoin Adressen voor het ontvangen van betalingen. Misschien wilt u elk contact persoon een ander adres geven zodat u kunt bij houden wie er u heeft betaald. De opgelichte adressen worden weergeven in het hoofd venster."
#: ../../../uibase.cpp:845
#: ../../../uibase.cpp:957
msgid "&Edit..."
msgstr "&Bewerk..."
#: ../../../uibase.cpp:848
#: ../../../uibase.cpp:960
msgid " &New Address... "
msgstr " &New Adres... "
#: ../../../uibase.cpp:920
msgid "Sending"
msgstr "Versturen"
#: ../../../uibase.cpp:928
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 "Dit zijn uw Bitcoin adressen voor het ontvangen van betalingen. U kunt een aan elk contact persoon geven zodat u een overzicht kunt houden wie u betaald. Dit adres zal wergeven worden in het hoofd main venster."
#: ../../../uibase.cpp:941
msgid "Receiving"
msgstr "Ontvangen"
#: ../../../uibase.cpp:951
msgid "&Delete"
msgstr "&Verwijder"
#: ../../../uibase.h:150
msgid "Transaction Details"
msgstr "Transactie Details"
#: ../../../uibase.h:203
msgid "Options"
msgstr "Opties"
#: ../../../uibase.h:231
msgid "About Bitcoin"
msgstr "Over Bitcoin"
#: ../../../uibase.h:341
msgid "Your Bitcoin Addresses"
msgstr "Uw Bitcoin Adressen"

Binary file not shown.

View File

@@ -1,807 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-05-26 22:02-0000\n"
"PO-Revision-Date: 2010-07-05 09:06+0100\n"
"Last-Translator: Tiago Faria\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:342
msgid "Usage: bitcoin [options]"
msgstr "Utilização Bitcoin [opções]"
#: ../../../init.cpp:343
msgid "Options:\n"
msgstr "Opções:\n"
#: ../../../init.cpp:344
msgid "Generate coins\n"
msgstr "Gerar moedas\n"
#: ../../../init.cpp:345
msgid "Don't generate coins\n"
msgstr "Não gerar moedas\n"
#: ../../../init.cpp:346
msgid "Start minimized\n"
msgstr "Iniciar minimizado\n"
#: ../../../init.cpp:347
msgid "Specify data directory\n"
msgstr "Especificar localização dos dados\n"
#: ../../../init.cpp:348
msgid "Connect through socks4 proxy\n"
msgstr "Ligar através de um proxy socks4\n"
#: ../../../init.cpp:349
msgid "Add a node to connect to\n"
msgstr "Adicionar um nó para efectuar ligação\n"
#: ../../../init.cpp:350
msgid "Connect only to the specified node\n"
msgstr "Ligar apenas ao nó especificado\n"
#: ../../../init.cpp:351
msgid "This help message\n"
msgstr "Esta mensagem de ajuda\n"
#: ../../../init.cpp:455
msgid "Error loading addr.dat \n"
msgstr "Erro ao carregar addr.dat \n"
#: ../../../init.cpp:461
msgid "Error loading blkindex.dat \n"
msgstr "Erro ao carregar blkindex.dat \n"
#: ../../../init.cpp:468
msgid "Error loading wallet.dat \n"
msgstr "Erro ao carregar wallet.dat \n"
#: ../../../init.cpp:536
msgid "Invalid -proxy address"
msgstr "Endereço -proxy inválido"
#: ../../../init.cpp:629
msgid "Program has crashed and will terminate. "
msgstr "A aplicação bloqueou e vai terminar. "
#: ../../../main.cpp:1465
msgid "Warning: Disk space is low "
msgstr "Aviso: Espaço em disco limitado "
#: ../../../main.cpp:2994
#, c-format
msgid "Error: This is an oversized transaction that requires a transaction fee of %s "
msgstr "Erro: Esta transacção necessita de uma percentagem de transferência no valor de %s "
#: ../../../main.cpp:2996
msgid "Error: Transaction creation failed "
msgstr "Erro: Criação da transacção falhou "
#: ../../../main.cpp:3001
#: ../../../ui.cpp:1761
#: ../../../ui.cpp:1763
#: ../../../ui.cpp:1904
#: ../../../ui.cpp:2053
msgid "Sending..."
msgstr "A enviar ..."
#: ../../../main.cpp:3005
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 "Erro: A transacção foi rejeitada. Isto pode acontecer se algumas das moedas na sua carteira já tenham sido gastas, como por exemplo na utilização de uma cópia do wallet.dat onde as moedas foram gastas na cópia mas não aqui."
#: ../../../main.cpp:3017
msgid "Invalid amount"
msgstr "Montante inválido"
#: ../../../main.cpp:3019
#: ../../../ui.cpp:1971
#: ../../../ui.cpp:2038
msgid "Insufficient funds"
msgstr "Fundos insuficientes"
#: ../../../main.cpp:3024
msgid "Invalid bitcoin address"
msgstr "Endereço Bitcoin inválido"
#: ../../../ui.cpp:189
#, 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 "Esta transacção ultrapassa o limite. Pode, mesmo assim, efectuá-la, no entanto, uma percentagem de %s será enviada para os nós da rede que processam este pagamento. Quer pagar a percentagem?"
#: ../../../ui.cpp:285
msgid "Status"
msgstr "Estado"
#: ../../../ui.cpp:286
msgid "Date"
msgstr "Data"
#: ../../../ui.cpp:287
msgid "Description"
msgstr "Descrição"
#: ../../../ui.cpp:288
msgid "Debit"
msgstr "Débito"
#: ../../../ui.cpp:289
msgid "Credit"
msgstr "Crédito"
#: ../../../ui.cpp:489
#, c-format
msgid "Open for %d blocks"
msgstr "Aberto para %d blocos"
#: ../../../ui.cpp:491
#, c-format
msgid "Open until %s"
msgstr "Aberto até %s"
#: ../../../ui.cpp:497
#, c-format
msgid "%d/offline?"
msgstr "%d/offline?"
#: ../../../ui.cpp:499
#, c-format
msgid "%d/unconfirmed"
msgstr "%d/não confirmado"
#: ../../../ui.cpp:501
#, c-format
msgid "%d confirmations"
msgstr "%d confirmados"
#: ../../../ui.cpp:584
msgid "Generated"
msgstr "Gerado"
#: ../../../ui.cpp:592
#, c-format
msgid "Generated (%s matures in %d more blocks)"
msgstr "Gerado (%s maduras em mais %d blocos)"
#: ../../../ui.cpp:596
msgid "Generated - Warning: This block was not received by any other nodes and will probably not be accepted!"
msgstr "Gerado - Aviso: Este bloco não foi recebido por mais nenhum nó da rede e provavelmente não será aceite."
#: ../../../ui.cpp:600
msgid "Generated (not accepted)"
msgstr "Gerado (não aceite)"
#: ../../../ui.cpp:610
msgid "From: "
msgstr "Remetente: "
#: ../../../ui.cpp:634
msgid "From: unknown, Received with: "
msgstr "Remetente: desconhecido, Recebido por: "
#: ../../../ui.cpp:676
msgid "Payment to yourself"
msgstr "Pagamento ao próprio"
#: ../../../ui.cpp:713
msgid "To: "
msgstr "Destinatário: "
#: ../../../ui.cpp:1009
msgid " Generating"
msgstr " A gerar"
#: ../../../ui.cpp:1011
msgid "(not connected)"
msgstr "(sem ligação)"
#: ../../../ui.cpp:1014
#, c-format
msgid " %d connections %d blocks %d transactions"
msgstr " %d ligações %d blocos %d transacções"
#: ../../../ui.cpp:1123
#: ../../../ui.cpp:2351
msgid "New Receiving Address"
msgstr "Novo Endereço de Recepção"
#: ../../../ui.cpp:1124
#: ../../../ui.cpp:2352
msgid ""
"It's good policy to use a new address for each payment you receive.\n"
"\n"
"Label"
msgstr ""
"É uma boa política utilizar um endereço diferente para cada pagamento que recebe.\n"
"\n"
"Etiqueta"
#: ../../../ui.cpp:1193
msgid "<b>Status:</b> "
msgstr "<b>Estado:</b> "
#: ../../../ui.cpp:1198
msgid ", has not been successfully broadcast yet"
msgstr ", ainda não foram anunciadas com sucesso"
#: ../../../ui.cpp:1200
#, c-format
msgid ", broadcast through %d node"
msgstr ", anunciar por %d nó"
#: ../../../ui.cpp:1202
#, c-format
msgid ", broadcast through %d nodes"
msgstr ", anunciar por %d nós"
#: ../../../ui.cpp:1206
msgid "<b>Date:</b> "
msgstr "<b>Data:</b> "
#: ../../../ui.cpp:1214
msgid "<b>Source:</b> Generated<br>"
msgstr "<b>Fonte:</b> Gerado<br>"
#: ../../../ui.cpp:1220
#: ../../../ui.cpp:1238
msgid "<b>From:</b> "
msgstr "<b>Remetente:</b> "
#: ../../../ui.cpp:1238
msgid "unknown"
msgstr "desconhecido"
#: ../../../ui.cpp:1239
#: ../../../ui.cpp:1263
#: ../../../ui.cpp:1322
msgid "<b>To:</b> "
msgstr "<b>Destinatário:</b> "
#: ../../../ui.cpp:1242
msgid " (yours, label: "
msgstr " (seu, etiqueta: "
#: ../../../ui.cpp:1244
msgid " (yours)"
msgstr " (seu)"
#: ../../../ui.cpp:1281
#: ../../../ui.cpp:1293
#: ../../../ui.cpp:1356
msgid "<b>Credit:</b> "
msgstr "<b>Crédito:</b> "
#: ../../../ui.cpp:1283
#, c-format
msgid "(%s matures in %d more blocks)"
msgstr "(%s maduras em mais %d blocos)"
#: ../../../ui.cpp:1285
msgid "(not accepted)"
msgstr "(não aceite)"
#: ../../../ui.cpp:1330
#: ../../../ui.cpp:1353
msgid "<b>Debit:</b> "
msgstr "<b>Débito:</b> "
#: ../../../ui.cpp:1344
msgid "<b>Transaction fee:</b> "
msgstr "<b>Percentagem da transacção:</b> "
#: ../../../ui.cpp:1360
msgid "<b>Net amount:</b> "
msgstr "<b>Quantia Net:</b> "
#: ../../../ui.cpp:1367
msgid "Message:"
msgstr "Mensagem:"
#: ../../../ui.cpp:1370
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 "As moedas geradas necessitam de 120 blocos para que possam ser gastas. Quando gera um bloco, ele será anunciado pela rede para ser adicionado à cadeia de blocos. Se falhar, mudará para \"não aceite\" e não será possível utilizá-lo. Isto pode acontecer se um nó gerar outro bloco após alguns segundos do seu."
#: ../../../ui.cpp:1437
msgid "Main"
msgstr "Principal"
#: ../../../ui.cpp:1442
msgid "&Minimize on close"
msgstr "&Minimizar ao fechar"
#: ../../../ui.cpp:1595
#, c-format
msgid "version 0.%d.%d beta"
msgstr "versão 0.%d.%d beta"
#: ../../../ui.cpp:1681
msgid "Will appear as \"From: Unknown\""
msgstr "Irá aparecer como \"De: Desconhecido\""
#: ../../../ui.cpp:1682
msgid "Can't include a message when sending to a Bitcoin address"
msgstr "Não é possível incluir uma mensagem ao enviar para um endereço Bitcoin"
#: ../../../ui.cpp:1735
msgid "Error in amount "
msgstr "Erro na quantia "
#: ../../../ui.cpp:1735
#: ../../../ui.cpp:1740
#: ../../../ui.cpp:1745
#: ../../../ui.cpp:1771
#: ../../../uibase.cpp:61
msgid "Send Coins"
msgstr "Enviar Moedas"
#: ../../../ui.cpp:1740
msgid "Amount exceeds your balance "
msgstr "A quantia excede o seu saldo "
#: ../../../ui.cpp:1745
msgid "Total exceeds your balance when the "
msgstr "O total excede o seu saldo quando a "
#: ../../../ui.cpp:1745
msgid " transaction fee is included "
msgstr " taxa de transacção for incluída "
#: ../../../ui.cpp:1761
msgid "Payment sent "
msgstr "Pagamento enviado "
#: ../../../ui.cpp:1771
msgid "Invalid address "
msgstr "Endereço inválido "
#: ../../../ui.cpp:1825
#, c-format
msgid "Sending %s to %s"
msgstr "A enviar %s para %s"
#: ../../../ui.cpp:1898
#: ../../../ui.cpp:1931
msgid "CANCELLED"
msgstr "CANCELADO"
#: ../../../ui.cpp:1902
msgid "Cancelled"
msgstr "Cancelado"
#: ../../../ui.cpp:1904
msgid "Transfer cancelled "
msgstr "Transferência cancelada "
#: ../../../ui.cpp:1957
msgid "Error: "
msgstr "Erro: "
#: ../../../ui.cpp:1976
msgid "Connecting..."
msgstr "A estabelecer ligação ..."
#: ../../../ui.cpp:1981
msgid "Unable to connect"
msgstr "Impossível estabelecer ligação"
#: ../../../ui.cpp:1986
msgid "Requesting public key..."
msgstr "A requisitar a chave pública ..."
#: ../../../ui.cpp:1998
msgid "Received public key..."
msgstr "Chave pública recebida"
#: ../../../ui.cpp:2010
msgid "Transfer was not accepted"
msgstr "A transferência não foi aceite"
#: ../../../ui.cpp:2019
msgid "Invalid response received"
msgstr "Resposta inválida recebida"
#: ../../../ui.cpp:2034
msgid "Creating transaction..."
msgstr "A criar a transacção ..."
#: ../../../ui.cpp:2046
#, c-format
msgid "This is an oversized transaction that requires a transaction fee of %s"
msgstr "Esta transferência requer o pagamento de uma taxa de transacção de %s"
#: ../../../ui.cpp:2048
msgid "Transaction creation failed"
msgstr "A criação da transacção falhou"
#: ../../../ui.cpp:2055
msgid "Transaction aborted"
msgstr "Transacção cancelada"
#: ../../../ui.cpp:2063
msgid "Lost connection, transaction cancelled"
msgstr "Perca de ligação, transacção cancelada"
#: ../../../ui.cpp:2079
msgid "Sending payment..."
msgstr "A enviar pagamento ..."
#: ../../../ui.cpp:2085
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 "A transacção foi rejeitada. Isto pode acontecer se algumas das moedas na sua carteira já foram utilizadas, como na utilização de uma cópia do wallet.dat, onde as moedas foram utilizadas na cópia do ficheiro e essas alterações não reflectem o estado desta carteira."
#: ../../../ui.cpp:2092
msgid "Waiting for confirmation..."
msgstr "A aguardar confirmação ..."
#: ../../../ui.cpp:2110
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 ""
"O pagamento foi enviado, mas o remetente não consegiu verificar o seu pagamento.\n"
"A transacção foi entregue, e o remetente receberá as modeas,\n"
"no entanto, o comentário de transacção estará vazio."
#: ../../../ui.cpp:2119
msgid "Payment was sent, but an invalid response was received"
msgstr "O pagamento foi enviado, mas foi recebida uma resposta inválida"
#: ../../../ui.cpp:2125
msgid "Payment completed"
msgstr "Pagamento completo"
#: ../../../ui.cpp:2156
#: ../../../ui.cpp:2302
#: ../../../ui.cpp:2339
msgid "Name"
msgstr "Nome"
#: ../../../ui.cpp:2157
#: ../../../ui.cpp:2302
#: ../../../ui.cpp:2339
msgid "Address"
msgstr "Endereço"
#: ../../../ui.cpp:2159
#: ../../../ui.cpp:2314
msgid "Label"
msgstr "Nota"
#: ../../../ui.cpp:2160
#: ../../../uibase.cpp:908
msgid "Bitcoin Address"
msgstr "Endereço Bitcoin"
#: ../../../ui.cpp:2284
msgid "This is one of your own addresses for receiving payments and cannot be entered in the address book. "
msgstr "Este endereço é seu (onde recebe pagamentos) e não pode ser introduzido no seu livros de endereços. "
#: ../../../ui.cpp:2302
#: ../../../ui.cpp:2308
msgid "Edit Address"
msgstr "Editar endereço"
#: ../../../ui.cpp:2314
msgid "Edit Address Label"
msgstr "Editar nota de endereço"
#: ../../../ui.cpp:2339
#: ../../../ui.cpp:2345
msgid "Add Address"
msgstr "Adicionar endereço"
#: ../../../ui.cpp:2421
msgid "Bitcoin"
msgstr "Bitcoin"
#: ../../../ui.cpp:2423
msgid "Bitcoin - Generating"
msgstr "Bitcoin - A gerar"
#: ../../../ui.cpp:2425
msgid "Bitcoin - (not connected)"
msgstr "Bitcoin - (sem ligação)"
#: ../../../ui.cpp:2500
msgid "&Open Bitcoin"
msgstr "&Abrir Bitcoin"
#: ../../../ui.cpp:2501
msgid "O&ptions..."
msgstr "O&pções"
#: ../../../ui.cpp:2502
#: ../../../uibase.cpp:34
msgid "&Generate Coins"
msgstr "&Gerar Moedas"
#: ../../../ui.cpp:2505
#: ../../../uibase.cpp:27
msgid "E&xit"
msgstr "S&air"
#: ../../../uibase.cpp:30
msgid "&File"
msgstr "&Ficheiro"
#: ../../../uibase.cpp:38
msgid "&Your Receiving Addresses..."
msgstr "&Os seus endereços"
#: ../../../uibase.cpp:42
msgid "&Options..."
msgstr "&Opções ..."
#: ../../../uibase.cpp:45
msgid "&Settings"
msgstr "&Definições"
#: ../../../uibase.cpp:49
msgid "&About..."
msgstr "&Sobre ..."
#: ../../../uibase.cpp:52
msgid "&Help"
msgstr "&Ajuda"
#: ../../../uibase.cpp:62
msgid "Address Book"
msgstr "Livro de Endereços"
#: ../../../uibase.cpp:77
msgid "Your Bitcoin Address:"
msgstr "O seu endereço Bitcoin:"
#: ../../../uibase.cpp:84
msgid " &New... "
msgstr " &Novo ... "
#: ../../../uibase.cpp:87
#: ../../../uibase.cpp:851
#: ../../../uibase.cpp:954
msgid " &Copy to Clipboard "
msgstr " &Copiar para o Clipboard "
#: ../../../uibase.cpp:102
msgid "Balance:"
msgstr "Saldo:"
#: ../../../uibase.cpp:121
msgid " All"
msgstr " Todos"
#: ../../../uibase.cpp:121
msgid " Sent"
msgstr " Enviado"
#: ../../../uibase.cpp:121
msgid " Received"
msgstr " Recebido"
#: ../../../uibase.cpp:121
msgid " In Progress"
msgstr " Em progresso"
#: ../../../uibase.cpp:142
msgid "All Transactions"
msgstr "Todas as transacções"
#: ../../../uibase.cpp:153
msgid "Sent/Received"
msgstr "Enviadas/Recebidas"
#: ../../../uibase.cpp:164
msgid "Sent"
msgstr "Enviado"
#: ../../../uibase.cpp:175
msgid "Received"
msgstr "Recebido"
#: ../../../uibase.cpp:318
#: ../../../uibase.cpp:479
#: ../../../uibase.cpp:580
#: ../../../uibase.cpp:793
#: ../../../uibase.cpp:854
#: ../../../uibase.cpp:963
#: ../../../uibase.cpp:1052
msgid "OK"
msgstr "OK"
#: ../../../uibase.cpp:361
msgid "Optional transaction fee you give to the nodes that process your transactions."
msgstr "Pagamento de taxa de transacção opcional que é entregue aos nós que ajudam a processar o seu pagamento"
#: ../../../uibase.cpp:370
msgid "Transaction fee:"
msgstr "Taxa de transacção:"
#: ../../../uibase.cpp:386
msgid "&Limit coin generation to"
msgstr "&Limitar a geração de moedas a"
#: ../../../uibase.cpp:393
msgid "processors"
msgstr "processadores"
#: ../../../uibase.cpp:399
msgid "&Start Bitcoin on system startup"
msgstr "&Iniciar o Bitcoin no arranque do sistema"
#: ../../../uibase.cpp:403
msgid "&Minimize to the tray instead of the taskbar"
msgstr "&Minimizar para a zona do relógio em vez da barra de janelas"
#: ../../../uibase.cpp:407
msgid "M&inimize to the tray on close"
msgstr "M&inimizar para a zona do relógio ao fechar"
#: ../../../uibase.cpp:414
msgid "&Connect through socks4 proxy: "
msgstr "&Ligar através de um prozy socks4: "
#: ../../../uibase.cpp:426
msgid "Proxy &IP:"
msgstr "Proxy &IP:"
#: ../../../uibase.cpp:434
msgid " &Port:"
msgstr " &Porto:"
#: ../../../uibase.cpp:456
msgid "// [don't translate] Test panel 2 for future expansion"
msgstr ""
#: ../../../uibase.cpp:460
msgid "// [don't translate] Let's not start multiple pages until the first page is filled up"
msgstr ""
#: ../../../uibase.cpp:482
#: ../../../uibase.cpp:735
#: ../../../uibase.cpp:798
#: ../../../uibase.cpp:857
#: ../../../uibase.cpp:966
#: ../../../uibase.cpp:1055
msgid "Cancel"
msgstr "Cancelar"
#: ../../../uibase.cpp:485
msgid "&Apply"
msgstr "&Aplicar"
#: ../../../uibase.cpp:546
msgid "Bitcoin "
msgstr "Bitcoin "
#: ../../../uibase.cpp:552
msgid "version"
msgstr "versão"
#: ../../../uibase.cpp:563
msgid ""
"Copyright (c) 2009-2010 Satoshi Nakamoto.\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)."
msgstr ""
"Copyright (c) 2009-2010 Satoshi Nakamoto.\n"
"\n"
"Este software é experimental.\n"
"\n"
"Distribuído sob a licença de software MIT/X11. Veja os seguintes ficheiros \n"
"para mais informações license.txt ou \n"
"http://www.opensource.org/licenses/mit-license.php.\n"
"Este producto inclui software desenvolvido pelo projecto OpenSSL, para \n"
"ser utilizado no OpenSSL Toolkit (http://www.openssl.org) e software de \n"
"criptografia desenvolvido por Eric Young (eay@cryptsoft.com)."
#: ../../../uibase.cpp:619
msgid "Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L) or IP address (e.g. 123.45.6.7)"
msgstr "Introduza um endereço Bitcoin (exemplo: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L) ou um endereço de IP (exemplo: 123.45.6.7)"
#: ../../../uibase.cpp:633
msgid "Pay &To:"
msgstr "Pagar &a:"
#: ../../../uibase.cpp:648
msgid "&Paste"
msgstr "&Colar"
#: ../../../uibase.cpp:651
msgid " Address &Book..."
msgstr " Livro de endereços ..."
#: ../../../uibase.cpp:658
msgid "&Amount:"
msgstr "&Quantia:"
#: ../../../uibase.cpp:668
msgid "T&ransfer:"
msgstr "T&ransferência:"
#: ../../../uibase.cpp:674
msgid " Standard"
msgstr " Standard"
#: ../../../uibase.cpp:696
msgid "&From:"
msgstr "&De:"
#: ../../../uibase.cpp:713
msgid "&Message:"
msgstr "&Mensagem:"
#: ../../../uibase.cpp:730
msgid "&Send"
msgstr "&Enviar"
#: ../../../uibase.cpp:782
msgid ""
"\n"
"\n"
"Connecting..."
msgstr ""
"\n"
"\n"
"A estabelecer ligação ..."
#: ../../../uibase.cpp:832
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 "Estes são os seus endereços de Bitcoin onde poderá receber os seus pagamentos. Pode dar um endereço diferente a cada pessoa ou identidade para ter uma melhor ideia sobre quem o está a pagar. O endereço seleccionado será o que aparecerá na janela principal."
#: ../../../uibase.cpp:845
#: ../../../uibase.cpp:957
msgid "&Edit..."
msgstr "&Editar ..."
#: ../../../uibase.cpp:848
#: ../../../uibase.cpp:960
msgid " &New Address... "
msgstr " &Novo endereço ... "
#: ../../../uibase.cpp:920
msgid "Sending"
msgstr "A enviar"
#: ../../../uibase.cpp:928
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 "Estes são os seus endereços de Bitcoin onde poderá receber os seus pagamentos. Pode dar um endereço diferente a cada pessoa ou identidade para ter uma melhor ideia sobre quem o está a pagar. O endereço seleccionado será o que aparecerá na janela principal."
#: ../../../uibase.cpp:941
msgid "Receiving"
msgstr "A receber"
#: ../../../uibase.cpp:951
msgid "&Delete"
msgstr "&Remover"
#: ../../../uibase.h:150
msgid "Transaction Details"
msgstr "Detalhes da transacção"
#: ../../../uibase.h:203
msgid "Options"
msgstr "Opções"
#: ../../../uibase.h:231
msgid "About Bitcoin"
msgstr "Sobre o Bitcoin"
#: ../../../uibase.h:341
msgid "Your Bitcoin Addresses"
msgstr "O seu endereço de Bitcoin"

View File

@@ -1,5 +0,0 @@
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

3140
main.cpp

File diff suppressed because it is too large Load Diff

View File

@@ -1,76 +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.
# for wxWidgets-2.8.x, search and replace "mswud"->"mswd" and "29u"->"28"
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 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
WXDEFS=-DWIN32 -D__WXMSW__ -D_WINDOWS -DNOPCH
DEBUGFLAGS=-g -D__WXDEBUG__
CFLAGS=-mthreads -O2 -w -Wno-invalid-offsetof -Wformat $(DEBUGFLAGS) $(WXDEFS) $(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 init.h sha.h
all: bitcoin.exe
headers.h.gch: headers.h $(HEADERS)
g++ -c $(CFLAGS) -o $@ $<
obj/%.o: %.cpp $(HEADERS) headers.h.gch
g++ -c $(CFLAGS) -o $@ $<
obj/sha.o: sha.cpp sha.h
g++ -c $(CFLAGS) -O3 -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 $(WXDEFS) $(INCLUDEPATHS) -o $@ -i $<
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
bitcoin.exe: $(OBJS) obj/ui.o obj/uibase.o obj/sha.o obj/ui_res.o
g++ $(CFLAGS) -mwindows -Wl,--subsystem,windows -o $@ $(LIBPATHS) $^ $(WXLIBS) $(LIBS)
obj/nogui/%.o: %.cpp $(HEADERS)
g++ -c $(CFLAGS) -DwxUSE_GUI=0 -o $@ $<
bitcoind.exe: $(OBJS:obj/%=obj/nogui/%) obj/sha.o obj/ui_res.o
g++ $(CFLAGS) -o $@ $(LIBPATHS) $^ -l wxbase29ud $(LIBS)
clean:
-del /Q obj\*
-del /Q obj\nogui\*
-del /Q headers.h.gch

View File

@@ -1,65 +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/libcrypto.a
WXDEFS=$(shell $(DEPSDIR)/bin/wx-config --cxxflags) -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) $(WXDEFS) $(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 init.h sha.h
all: bitcoin
obj/%.o: %.cpp $(HEADERS)
g++ -c $(CFLAGS) -o $@ $<
obj/sha.o: sha.cpp sha.h
g++ -c $(CFLAGS) -O3 -o $@ $<
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
bitcoin: $(OBJS) obj/ui.o obj/uibase.o obj/sha.o
g++ $(CFLAGS) -o $@ $(LIBPATHS) $^ $(WXLIBS) $(LIBS)
obj/nogui/%.o: %.cpp $(HEADERS)
g++ -c $(CFLAGS) -DwxUSE_GUI=0 -o $@ $<
bitcoind: $(OBJS:obj/%=obj/nogui/%) obj/sha.o
g++ $(CFLAGS) -o $@ $(LIBPATHS) $^ $(WXLIBS) $(LIBS)
clean:
-rm -f obj/*.o
-rm -f obj/nogui/*.o

View File

@@ -1,73 +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 db_cxx \
-l crypto \
-Wl,-Bdynamic \
-l gthread-2.0
WXDEFS=-D__WXGTK__ -DNOPCH
DEBUGFLAGS=-g -D__WXDEBUG__
CFLAGS=-O2 -Wno-invalid-offsetof -Wformat $(DEBUGFLAGS) $(WXDEFS) $(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 init.h sha.h
all: bitcoin
headers.h.gch: headers.h $(HEADERS)
g++ -c $(CFLAGS) -o $@ $<
obj/%.o: %.cpp $(HEADERS) headers.h.gch
g++ -c $(CFLAGS) -o $@ $<
obj/sha.o: sha.cpp sha.h
g++ -c $(CFLAGS) -O3 -o $@ $<
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
bitcoin: $(OBJS) obj/ui.o obj/uibase.o obj/sha.o
g++ $(CFLAGS) -o $@ $(LIBPATHS) $^ $(WXLIBS) $(LIBS)
obj/nogui/%.o: %.cpp $(HEADERS)
g++ -c $(CFLAGS) -DwxUSE_GUI=0 -o $@ $<
bitcoind: $(OBJS:obj/%=obj/nogui/%) obj/sha.o
g++ $(CFLAGS) -o $@ $(LIBPATHS) $^ -l wx_baseud-2.9 $(LIBS)
clean:
-rm -f obj/*.o
-rm -f obj/nogui/*.o
-rm -f headers.h.gch

View File

@@ -1,107 +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.
# for wxWidgets-2.8.x, search and replace "mswud"->"mswd" and "29u"->"28"
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"
LIBS= \
libboost_system-vc80-mt-gd.lib libboost_filesystem-vc80-mt-gd.lib \
libdb47sd.lib \
libeay32.lib \
wxmsw29ud_html.lib wxmsw29ud_core.lib wxmsw29ud_adv.lib wxbase29ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.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
WXDEFS=/DWIN32 /D__WXMSW__ /D_WINDOWS /DNOPCH
DEBUGFLAGS=/Zi /Od /D__WXDEBUG__
CFLAGS=/c /nologo /Ob0 /MDd /EHsc /GR /Zm300 $(DEBUGFLAGS) $(WXDEFS) $(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 init.h sha.h
all: bitcoin.exe
.cpp{obj}.obj:
cl $(CFLAGS) /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)
obj\sha.obj: sha.cpp sha.h
cl $(CFLAGS) /O2 /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) $(WXDEFS) /Fo$@ %s
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
bitcoin.exe: $(OBJS) obj\ui.obj obj\uibase.obj obj\sha.obj obj\ui.res
link /nologo /DEBUG /SUBSYSTEM:WINDOWS /OUT:$@ $(LIBPATHS) $** $(LIBS)
.cpp{obj\nogui}.obj:
cl $(CFLAGS) /DwxUSE_GUI=0 /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\sha.obj obj\ui.res
link /nologo /DEBUG /OUT:$@ $(LIBPATHS) $** $(LIBS)
clean:
-del /Q obj\*
-del *.ilk
-del *.pdb

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

986
rpc.cpp
View File

@@ -1,986 +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.
#include "headers.h"
#undef printf
#include <boost/asio.hpp>
#include "json/json_spirit_reader_template.h"
#include "json/json_spirit_writer_template.h"
#include "json/json_spirit_utils.h"
#define printf OutputDebugStringF
// MinGW 3.4.5 gets "fatal error: had to relocate PCH" if the json headers are
// precompiled in headers.h. The problem might be when the pch file goes over
// a certain size around 145MB. If we need access to json_spirit outside this
// file, we could use the compiled json_spirit option.
using boost::asio::ip::tcp;
using namespace json_spirit;
void ThreadRPCServer2(void* parg);
typedef Value(*rpcfn_type)(const Array& params, bool fHelp);
extern map<string, rpcfn_type> mapCallTable;
///
/// Note: This interface may still be subject to change.
///
Value help(const Array& params, bool fHelp)
{
if (fHelp || params.size() != 0)
throw runtime_error(
"help\n"
"List commands.");
string strRet;
for (map<string, rpcfn_type>::iterator mi = mapCallTable.begin(); mi != mapCallTable.end(); ++mi)
{
try
{
Array params;
(*(*mi).second)(params, true);
}
catch (std::exception& e)
{
// Help text is returned in an exception
string strHelp = string(e.what());
if (strHelp.find('\n') != -1)
strHelp = strHelp.substr(0, strHelp.find('\n'));
strRet += strHelp + "\n";
}
}
strRet = strRet.substr(0,strRet.size()-1);
return strRet;
}
Value stop(const Array& params, bool fHelp)
{
if (fHelp || params.size() != 0)
throw runtime_error(
"stop\n"
"Stop bitcoin server.");
// Shutdown will take long enough that the response should get back
CreateThread(Shutdown, NULL);
return "bitcoin server stopping";
}
Value getblockcount(const Array& params, bool fHelp)
{
if (fHelp || params.size() != 0)
throw runtime_error(
"getblockcount\n"
"Returns the number of blocks in the longest block chain.");
return nBestHeight + 1;
}
Value getblocknumber(const Array& params, bool fHelp)
{
if (fHelp || params.size() != 0)
throw runtime_error(
"getblocknumber\n"
"Returns the block number of the latest block in the longest block chain.");
return nBestHeight;
}
Value getconnectioncount(const Array& params, bool fHelp)
{
if (fHelp || params.size() != 0)
throw runtime_error(
"getconnectioncount\n"
"Returns the number of connections to other nodes.");
return (int)vNodes.size();
}
double GetDifficulty()
{
// Floating point number that is a multiple of the minimum difficulty,
// minimum difficulty = 1.0.
if (pindexBest == NULL)
return 1.0;
int nShift = 256 - 32 - 31; // to fit in a uint
double dMinimum = (CBigNum().SetCompact(bnProofOfWorkLimit.GetCompact()) >> nShift).getuint();
double dCurrently = (CBigNum().SetCompact(pindexBest->nBits) >> nShift).getuint();
return dMinimum / dCurrently;
}
Value getdifficulty(const Array& params, bool fHelp)
{
if (fHelp || params.size() != 0)
throw runtime_error(
"getdifficulty\n"
"Returns the proof-of-work difficulty as a multiple of the minimum difficulty.");
return GetDifficulty();
}
Value getbalance(const Array& params, bool fHelp)
{
if (fHelp || params.size() != 0)
throw runtime_error(
"getbalance\n"
"Returns the server's available balance.");
return ((double)GetBalance() / (double)COIN);
}
Value getgenerate(const Array& params, bool fHelp)
{
if (fHelp || params.size() != 0)
throw runtime_error(
"getgenerate\n"
"Returns true or false.");
return (bool)fGenerateBitcoins;
}
Value setgenerate(const Array& params, bool fHelp)
{
if (fHelp || params.size() < 1 || params.size() > 2)
throw runtime_error(
"setgenerate <generate> [genproclimit]\n"
"<generate> is true or false to turn generation on or off.\n"
"Generation is limited to [genproclimit] processors, -1 is unlimited.");
bool fGenerate = true;
if (params.size() > 0)
fGenerate = params[0].get_bool();
if (params.size() > 1)
{
int nGenProcLimit = params[1].get_int();
fLimitProcessors = (nGenProcLimit != -1);
CWalletDB().WriteSetting("fLimitProcessors", fLimitProcessors);
if (nGenProcLimit != -1)
CWalletDB().WriteSetting("nLimitProcessors", nLimitProcessors = nGenProcLimit);
}
GenerateBitcoins(fGenerate);
return Value::null;
}
Value getinfo(const Array& params, bool fHelp)
{
if (fHelp || params.size() != 0)
throw runtime_error(
"getinfo");
Object obj;
obj.push_back(Pair("balance", (double)GetBalance() / (double)COIN));
obj.push_back(Pair("blocks", (int)nBestHeight + 1));
obj.push_back(Pair("connections", (int)vNodes.size()));
obj.push_back(Pair("proxy", (fUseProxy ? addrProxy.ToStringIPPort() : string())));
obj.push_back(Pair("generate", (bool)fGenerateBitcoins));
obj.push_back(Pair("genproclimit", (int)(fLimitProcessors ? nLimitProcessors : -1)));
obj.push_back(Pair("difficulty", (double)GetDifficulty()));
return obj;
}
Value getnewaddress(const Array& params, bool fHelp)
{
if (fHelp || params.size() > 1)
throw runtime_error(
"getnewaddress [label]\n"
"Returns a new bitcoin address for receiving payments. "
"If [label] is specified (recommended), it is added to the address book "
"so payments received with the address will be labeled.");
// Parse the label first so we don't generate a key if there's an error
string strLabel;
if (params.size() > 0)
strLabel = params[0].get_str();
// Generate a new key that is added to wallet
string strAddress = PubKeyToAddress(GenerateNewKey());
SetAddressBookName(strAddress, strLabel);
return strAddress;
}
Value setlabel(const Array& params, bool fHelp)
{
if (fHelp || params.size() < 1 || params.size() > 2)
throw runtime_error(
"setlabel <bitcoinaddress> <label>\n"
"Sets the label associated with the given address.");
string strAddress = params[0].get_str();
string strLabel;
if (params.size() > 1)
strLabel = params[1].get_str();
SetAddressBookName(strAddress, strLabel);
return Value::null;
}
Value getlabel(const Array& params, bool fHelp)
{
if (fHelp || params.size() != 1)
throw runtime_error(
"getlabel <bitcoinaddress>\n"
"Returns the label associated with the given address.");
string strAddress = params[0].get_str();
string strLabel;
CRITICAL_BLOCK(cs_mapAddressBook)
{
map<string, string>::iterator mi = mapAddressBook.find(strAddress);
if (mi != mapAddressBook.end() && !(*mi).second.empty())
strLabel = (*mi).second;
}
return strLabel;
}
Value getaddressesbylabel(const Array& params, bool fHelp)
{
if (fHelp || params.size() != 1)
throw runtime_error(
"getaddressesbylabel <label>\n"
"Returns the list of addresses with the given label.");
string strLabel = params[0].get_str();
// Find all addresses that have the given label
Array ret;
CRITICAL_BLOCK(cs_mapAddressBook)
{
foreach(const PAIRTYPE(string, string)& item, mapAddressBook)
{
const string& strAddress = item.first;
const string& strName = item.second;
if (strName == strLabel)
{
// We're only adding valid bitcoin addresses and not ip addresses
CScript scriptPubKey;
if (scriptPubKey.SetBitcoinAddress(strAddress))
ret.push_back(strAddress);
}
}
}
return ret;
}
Value sendtoaddress(const Array& params, bool fHelp)
{
if (fHelp || params.size() < 2 || params.size() > 4)
throw runtime_error(
"sendtoaddress <bitcoinaddress> <amount> [comment] [comment-to]\n"
"<amount> is a real and is rounded to the nearest 0.01");
string strAddress = params[0].get_str();
// Amount
if (params[1].get_real() <= 0.0 || params[1].get_real() > 21000000.0)
throw runtime_error("Invalid amount");
int64 nAmount = roundint64(params[1].get_real() * 100.00) * CENT;
// Wallet comments
CWalletTx wtx;
if (params.size() > 2 && params[2].type() != null_type && !params[2].get_str().empty())
wtx.mapValue["message"] = params[2].get_str();
if (params.size() > 3 && params[3].type() != null_type && !params[3].get_str().empty())
wtx.mapValue["to"] = params[3].get_str();
string strError = SendMoneyToBitcoinAddress(strAddress, nAmount, wtx);
if (strError != "")
throw runtime_error(strError);
return "sent";
}
Value listtransactions(const Array& params, bool fHelp)
{
if (fHelp || params.size() > 2)
throw runtime_error(
"listtransactions [count=10] [includegenerated=false]\n"
"Returns up to [count] most recent transactions.");
int64 nCount = 10;
if (params.size() > 0)
nCount = params[0].get_int64();
bool fGenerated = false;
if (params.size() > 1)
fGenerated = params[1].get_bool();
Array ret;
//// not finished
ret.push_back("not implemented yet");
return ret;
}
Value getreceivedbyaddress(const Array& params, bool fHelp)
{
if (fHelp || params.size() < 1 || params.size() > 2)
throw runtime_error(
"getreceivedbyaddress <bitcoinaddress> [minconf=1]\n"
"Returns the total amount received by <bitcoinaddress> in transactions with at least [minconf] confirmations.");
// Bitcoin address
string strAddress = params[0].get_str();
CScript scriptPubKey;
if (!scriptPubKey.SetBitcoinAddress(strAddress))
throw runtime_error("Invalid bitcoin address");
if (!IsMine(scriptPubKey))
return (double)0.0;
// Minimum confirmations
int nMinDepth = 1;
if (params.size() > 1)
nMinDepth = params[1].get_int();
// Tally
int64 nAmount = 0;
CRITICAL_BLOCK(cs_mapWallet)
{
for (map<uint256, CWalletTx>::iterator it = mapWallet.begin(); it != mapWallet.end(); ++it)
{
const CWalletTx& wtx = (*it).second;
if (wtx.IsCoinBase() || !wtx.IsFinal())
continue;
foreach(const CTxOut& txout, wtx.vout)
if (txout.scriptPubKey == scriptPubKey)
if (wtx.GetDepthInMainChain() >= nMinDepth)
nAmount += txout.nValue;
}
}
return (double)nAmount / (double)COIN;
}
Value getreceivedbylabel(const Array& params, bool fHelp)
{
if (fHelp || params.size() < 1 || params.size() > 2)
throw runtime_error(
"getreceivedbylabel <label> [minconf=1]\n"
"Returns the total amount received by addresses with <label> in transactions with at least [minconf] confirmations.");
// Get the set of pub keys that have the label
string strLabel = params[0].get_str();
set<CScript> setPubKey;
CRITICAL_BLOCK(cs_mapAddressBook)
{
foreach(const PAIRTYPE(string, string)& item, mapAddressBook)
{
const string& strAddress = item.first;
const string& strName = item.second;
if (strName == strLabel)
{
// We're only counting our own valid bitcoin addresses and not ip addresses
CScript scriptPubKey;
if (scriptPubKey.SetBitcoinAddress(strAddress))
if (IsMine(scriptPubKey))
setPubKey.insert(scriptPubKey);
}
}
}
// Minimum confirmations
int nMinDepth = 1;
if (params.size() > 1)
nMinDepth = params[1].get_int();
// Tally
int64 nAmount = 0;
CRITICAL_BLOCK(cs_mapWallet)
{
for (map<uint256, CWalletTx>::iterator it = mapWallet.begin(); it != mapWallet.end(); ++it)
{
const CWalletTx& wtx = (*it).second;
if (wtx.IsCoinBase() || !wtx.IsFinal())
continue;
foreach(const CTxOut& txout, wtx.vout)
if (setPubKey.count(txout.scriptPubKey))
if (wtx.GetDepthInMainChain() >= nMinDepth)
nAmount += txout.nValue;
}
}
return (double)nAmount / (double)COIN;
}
struct tallyitem
{
int64 nAmount;
int nConf;
tallyitem()
{
nAmount = 0;
nConf = INT_MAX;
}
};
Value ListReceived(const Array& params, bool fByLabels)
{
// Minimum confirmations
int nMinDepth = 1;
if (params.size() > 0)
nMinDepth = params[0].get_int();
// Whether to include empty accounts
bool fIncludeEmpty = false;
if (params.size() > 1)
fIncludeEmpty = params[1].get_bool();
// Tally
map<uint160, tallyitem> mapTally;
CRITICAL_BLOCK(cs_mapWallet)
{
for (map<uint256, CWalletTx>::iterator it = mapWallet.begin(); it != mapWallet.end(); ++it)
{
const CWalletTx& wtx = (*it).second;
if (wtx.IsCoinBase() || !wtx.IsFinal())
continue;
int nDepth = wtx.GetDepthInMainChain();
if (nDepth < nMinDepth)
continue;
foreach(const CTxOut& txout, wtx.vout)
{
// Only counting our own bitcoin addresses and not ip addresses
uint160 hash160 = txout.scriptPubKey.GetBitcoinAddressHash160();
if (hash160 == 0 || !mapPubKeys.count(hash160)) // IsMine
continue;
tallyitem& item = mapTally[hash160];
item.nAmount += txout.nValue;
item.nConf = min(item.nConf, nDepth);
}
}
}
// Reply
Array ret;
map<string, tallyitem> mapLabelTally;
CRITICAL_BLOCK(cs_mapAddressBook)
{
foreach(const PAIRTYPE(string, string)& item, mapAddressBook)
{
const string& strAddress = item.first;
const string& strLabel = item.second;
uint160 hash160;
if (!AddressToHash160(strAddress, hash160))
continue;
map<uint160, tallyitem>::iterator it = mapTally.find(hash160);
if (it == mapTally.end() && !fIncludeEmpty)
continue;
int64 nAmount = 0;
int nConf = INT_MAX;
if (it != mapTally.end())
{
nAmount = (*it).second.nAmount;
nConf = (*it).second.nConf;
}
if (fByLabels)
{
tallyitem& item = mapLabelTally[strLabel];
item.nAmount += nAmount;
item.nConf = min(item.nConf, nConf);
}
else
{
Object obj;
obj.push_back(Pair("address", strAddress));
obj.push_back(Pair("label", strLabel));
obj.push_back(Pair("amount", (double)nAmount / (double)COIN));
obj.push_back(Pair("confirmations", (nConf == INT_MAX ? 0 : nConf)));
ret.push_back(obj);
}
}
}
if (fByLabels)
{
for (map<string, tallyitem>::iterator it = mapLabelTally.begin(); it != mapLabelTally.end(); ++it)
{
int64 nAmount = (*it).second.nAmount;
int nConf = (*it).second.nConf;
Object obj;
obj.push_back(Pair("label", (*it).first));
obj.push_back(Pair("amount", (double)nAmount / (double)COIN));
obj.push_back(Pair("confirmations", (nConf == INT_MAX ? 0 : nConf)));
ret.push_back(obj);
}
}
return ret;
}
Value listreceivedbyaddress(const Array& params, bool fHelp)
{
if (fHelp || params.size() > 2)
throw runtime_error(
"listreceivedbyaddress [minconf=1] [includeempty=false]\n"
"[minconf] is the minimum number of confirmations before payments are included.\n"
"[includeempty] whether to include addresses that haven't received any payments.\n"
"Returns an array of objects containing:\n"
" \"address\" : receiving address\n"
" \"label\" : the label of the receiving address\n"
" \"amount\" : total amount received by the address\n"
" \"confirmations\" : number of confirmations of the most recent transaction included");
return ListReceived(params, false);
}
Value listreceivedbylabel(const Array& params, bool fHelp)
{
if (fHelp || params.size() > 2)
throw runtime_error(
"listreceivedbylabel [minconf=1] [includeempty=false]\n"
"[minconf] is the minimum number of confirmations before payments are included.\n"
"[includeempty] whether to include labels that haven't received any payments.\n"
"Returns an array of objects containing:\n"
" \"label\" : the label of the receiving addresses\n"
" \"amount\" : total amount received by addresses with this label\n"
" \"confirmations\" : number of confirmations of the most recent transaction included");
return ListReceived(params, true);
}
//
// Call Table
//
pair<string, rpcfn_type> pCallTable[] =
{
make_pair("help", &help),
make_pair("stop", &stop),
make_pair("getblockcount", &getblockcount),
make_pair("getblocknumber", &getblocknumber),
make_pair("getconnectioncount", &getconnectioncount),
make_pair("getdifficulty", &getdifficulty),
make_pair("getbalance", &getbalance),
make_pair("getgenerate", &getgenerate),
make_pair("setgenerate", &setgenerate),
make_pair("getinfo", &getinfo),
make_pair("getnewaddress", &getnewaddress),
make_pair("setlabel", &setlabel),
make_pair("getlabel", &getlabel),
make_pair("getaddressesbylabel", &getaddressesbylabel),
make_pair("sendtoaddress", &sendtoaddress),
make_pair("listtransactions", &listtransactions),
make_pair("getamountreceived", &getreceivedbyaddress), // deprecated, renamed to getreceivedbyaddress
make_pair("getallreceived", &listreceivedbyaddress), // deprecated, renamed to listreceivedbyaddress
make_pair("getreceivedbyaddress", &getreceivedbyaddress),
make_pair("getreceivedbylabel", &getreceivedbylabel),
make_pair("listreceivedbyaddress", &listreceivedbyaddress),
make_pair("listreceivedbylabel", &listreceivedbylabel),
};
map<string, rpcfn_type> mapCallTable(pCallTable, pCallTable + sizeof(pCallTable)/sizeof(pCallTable[0]));
//
// HTTP protocol
//
// This ain't Apache. We're just using HTTP header for the length field
// and to be compatible with other JSON-RPC implementations.
//
string HTTPPost(const string& strMsg)
{
return strprintf(
"POST / HTTP/1.1\r\n"
"User-Agent: json-rpc/1.0\r\n"
"Host: 127.0.0.1\r\n"
"Content-Type: application/json\r\n"
"Content-Length: %d\r\n"
"Accept: application/json\r\n"
"\r\n"
"%s",
strMsg.size(),
strMsg.c_str());
}
string HTTPReply(const string& strMsg, int nStatus=200)
{
string strStatus;
if (nStatus == 200) strStatus = "OK";
if (nStatus == 500) strStatus = "Internal Server Error";
return strprintf(
"HTTP/1.1 %d %s\r\n"
"Connection: close\r\n"
"Content-Length: %d\r\n"
"Content-Type: application/json\r\n"
"Date: Sat, 08 Jul 2006 12:04:08 GMT\r\n"
"Server: json-rpc/1.0\r\n"
"\r\n"
"%s",
nStatus,
strStatus.c_str(),
strMsg.size(),
strMsg.c_str());
}
int ReadHTTPHeader(tcp::iostream& stream)
{
int nLen = 0;
loop
{
string str;
std::getline(stream, str);
if (str.empty() || str == "\r")
break;
if (str.substr(0,15) == "Content-Length:")
nLen = atoi(str.substr(15));
}
return nLen;
}
inline string ReadHTTP(tcp::iostream& stream)
{
// Read header
int nLen = ReadHTTPHeader(stream);
if (nLen <= 0)
return string();
// Read message
vector<char> vch(nLen);
stream.read(&vch[0], nLen);
return string(vch.begin(), vch.end());
}
//
// JSON-RPC protocol
//
// http://json-rpc.org/wiki/specification
// http://www.codeproject.com/KB/recipes/JSON_Spirit.aspx
//
string JSONRPCRequest(const string& strMethod, const Array& params, const Value& id)
{
Object request;
request.push_back(Pair("method", strMethod));
request.push_back(Pair("params", params));
request.push_back(Pair("id", id));
return write_string(Value(request), false) + "\n";
}
string JSONRPCReply(const Value& result, const Value& error, const Value& id)
{
Object reply;
if (error.type() != null_type)
reply.push_back(Pair("result", Value::null));
else
reply.push_back(Pair("result", result));
reply.push_back(Pair("error", error));
reply.push_back(Pair("id", id));
return write_string(Value(reply), false) + "\n";
}
void ThreadRPCServer(void* parg)
{
IMPLEMENT_RANDOMIZE_STACK(ThreadRPCServer(parg));
try
{
vnThreadsRunning[4]++;
ThreadRPCServer2(parg);
vnThreadsRunning[4]--;
}
catch (std::exception& e) {
vnThreadsRunning[4]--;
PrintException(&e, "ThreadRPCServer()");
} catch (...) {
vnThreadsRunning[4]--;
PrintException(NULL, "ThreadRPCServer()");
}
printf("ThreadRPCServer exiting\n");
}
void ThreadRPCServer2(void* parg)
{
printf("ThreadRPCServer started\n");
// Bind to loopback 127.0.0.1 so the socket can only be accessed locally
boost::asio::io_service io_service;
tcp::endpoint endpoint(boost::asio::ip::address_v4::loopback(), 8332);
tcp::acceptor acceptor(io_service, endpoint);
loop
{
// Accept connection
tcp::iostream stream;
tcp::endpoint peer;
vnThreadsRunning[4]--;
acceptor.accept(*stream.rdbuf(), peer);
vnThreadsRunning[4]++;
if (fShutdown)
return;
// Shouldn't be possible for anyone else to connect, but just in case
if (peer.address().to_string() != "127.0.0.1")
continue;
// Receive request
string strRequest = ReadHTTP(stream);
printf("ThreadRPCServer request=%s", strRequest.c_str());
// Handle multiple invocations per request
string::iterator begin = strRequest.begin();
while (skipspaces(begin), begin != strRequest.end())
{
string::iterator prev = begin;
Value id;
try
{
// Parse request
Value valRequest;
if (!read_range(begin, strRequest.end(), valRequest))
throw runtime_error("Parse error.");
const Object& request = valRequest.get_obj();
if (find_value(request, "method").type() != str_type ||
find_value(request, "params").type() != array_type)
throw runtime_error("Invalid request.");
string strMethod = find_value(request, "method").get_str();
const Array& params = find_value(request, "params").get_array();
id = find_value(request, "id");
// Execute
map<string, rpcfn_type>::iterator mi = mapCallTable.find(strMethod);
if (mi == mapCallTable.end())
throw runtime_error("Method not found.");
Value result = (*(*mi).second)(params, false);
// Send reply
string strReply = JSONRPCReply(result, Value::null, id);
stream << HTTPReply(strReply, 200) << std::flush;
}
catch (std::exception& e)
{
// Send error reply
string strReply = JSONRPCReply(Value::null, e.what(), id);
stream << HTTPReply(strReply, 500) << std::flush;
}
if (begin == prev)
break;
}
}
}
Value CallRPC(const string& strMethod, const Array& params)
{
// Connect to localhost
tcp::iostream stream("127.0.0.1", "8332");
if (stream.fail())
throw runtime_error("couldn't connect to server");
// Send request
string strRequest = JSONRPCRequest(strMethod, params, 1);
stream << HTTPPost(strRequest) << std::flush;
// Receive reply
string strReply = ReadHTTP(stream);
if (strReply.empty())
throw runtime_error("no response from server");
// Parse reply
Value valReply;
if (!read_string(strReply, valReply))
throw runtime_error("couldn't parse reply from server");
const Object& reply = valReply.get_obj();
if (reply.empty())
throw runtime_error("expected reply to have result, error and id properties");
const Value& result = find_value(reply, "result");
const Value& error = find_value(reply, "error");
const Value& id = find_value(reply, "id");
if (error.type() == str_type)
throw runtime_error(error.get_str());
else if (error.type() != null_type)
throw runtime_error(write_string(error, false));
return result;
}
template<typename T>
void ConvertTo(Value& value)
{
if (value.type() == str_type)
{
// reinterpret string as unquoted json value
Value value2;
if (!read_string(value.get_str(), value2))
throw runtime_error("type mismatch");
value = value2.get_value<T>();
}
else
{
value = value.get_value<T>();
}
}
int CommandLineRPC(int argc, char *argv[])
{
try
{
// Check that method exists
if (argc < 2)
throw runtime_error("too few parameters");
string strMethod = argv[1];
if (!mapCallTable.count(strMethod))
throw runtime_error(strprintf("unknown command: %s", strMethod.c_str()));
Value result;
if (argc == 3 && strcmp(argv[2], "-?") == 0)
{
// Call help locally, help text is returned in an exception
try
{
map<string, rpcfn_type>::iterator mi = mapCallTable.find(strMethod);
Array params;
(*(*mi).second)(params, true);
}
catch (std::exception& e)
{
result = e.what();
}
}
else
{
// Parameters default to strings
Array params;
for (int i = 2; i < argc; i++)
params.push_back(argv[i]);
int n = params.size();
//
// Special case non-string parameter types
//
if (strMethod == "setgenerate" && n > 0) ConvertTo<bool>(params[0]);
if (strMethod == "setgenerate" && n > 1) ConvertTo<boost::int64_t>(params[1]);
if (strMethod == "sendtoaddress" && n > 1) ConvertTo<double>(params[1]);
if (strMethod == "listtransactions" && n > 0) ConvertTo<boost::int64_t>(params[0]);
if (strMethod == "listtransactions" && n > 1) ConvertTo<bool>(params[1]);
if (strMethod == "getamountreceived" && n > 1) ConvertTo<boost::int64_t>(params[1]); // deprecated
if (strMethod == "getreceivedbyaddress" && n > 1) ConvertTo<boost::int64_t>(params[1]);
if (strMethod == "getreceivedbylabel" && n > 1) ConvertTo<boost::int64_t>(params[1]);
if (strMethod == "getallreceived" && n > 0) ConvertTo<boost::int64_t>(params[0]); // deprecated
if (strMethod == "getallreceived" && n > 1) ConvertTo<bool>(params[1]);
if (strMethod == "listreceivedbyaddress" && n > 0) ConvertTo<boost::int64_t>(params[0]);
if (strMethod == "listreceivedbyaddress" && n > 1) ConvertTo<bool>(params[1]);
if (strMethod == "listreceivedbylabel" && n > 0) ConvertTo<boost::int64_t>(params[0]);
if (strMethod == "listreceivedbylabel" && n > 1) ConvertTo<bool>(params[1]);
// Execute
result = CallRPC(strMethod, params);
}
// Print result
string strResult = (result.type() == str_type ? result.get_str() : write_string(result, true));
if (result.type() != null_type)
{
#if defined(__WXMSW__) && wxUSE_GUI
// Windows GUI apps can't print to command line,
// so settle for a message box yuck
MyMessageBox(strResult.c_str(), "Bitcoin", wxOK);
#else
fprintf(stdout, "%s\n", strResult.c_str());
#endif
}
return 0;
}
catch (std::exception& e) {
#if defined(__WXMSW__) && wxUSE_GUI
MyMessageBox(strprintf("error: %s\n", e.what()).c_str(), "Bitcoin", wxOK);
#else
fprintf(stderr, "error: %s\n", e.what());
#endif
} catch (...) {
PrintException(NULL, "CommandLineRPC()");
}
return 1;
}
#ifdef TEST
int main(int argc, char *argv[])
{
#ifdef _MSC_VER
// Turn off microsoft heap dump noise
_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
_CrtSetReportFile(_CRT_WARN, CreateFile("NUL", GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, 0));
#endif
setbuf(stdin, NULL);
setbuf(stdout, NULL);
setbuf(stderr, NULL);
try
{
if (argc >= 2 && string(argv[1]) == "-server")
{
printf("server ready\n");
ThreadRPCServer(NULL);
}
else
{
return CommandLineRPC(argc, argv);
}
}
catch (std::exception& e) {
PrintException(&e, "main()");
} catch (...) {
PrintException(NULL, "main()");
}
return 0;
}
#endif

1134
script.cpp

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,63 @@
#!/usr/bin/python
'''
Extract _("...") strings for translation and convert to Qt4 stringdefs so that
they can be picked up by Qt linguist.
'''
from subprocess import Popen, PIPE
OUT_CPP="src/qt/bitcoinstrings.cpp"
EMPTY=['""']
def parse_po(text):
"""
Parse 'po' format produced by xgettext.
Return a list of (msgid,msgstr) tuples.
"""
messages = []
msgid = []
msgstr = []
in_msgid = False
in_msgstr = False
for line in text.split('\n'):
line = line.rstrip('\r')
if line.startswith('msgid '):
if in_msgstr:
messages.append((msgid, msgstr))
in_msgstr = False
# message start
in_msgid = True
msgid = [line[6:]]
elif line.startswith('msgstr '):
in_msgid = False
in_msgstr = True
msgstr = [line[7:]]
elif line.startswith('"'):
if in_msgid:
msgid.append(line)
if in_msgstr:
msgstr.append(line)
if in_msgstr:
messages.append((msgid, msgstr))
return messages
files = ['src/base58.h', 'src/bignum.h', 'src/db.cpp', 'src/db.h', 'src/headers.h', 'src/init.cpp', 'src/init.h', 'src/irc.cpp', 'src/irc.h', 'src/key.h', 'src/main.cpp', 'src/main.h', 'src/net.cpp', 'src/net.h', 'src/noui.h', 'src/script.cpp', 'src/script.h', 'src/serialize.h', 'src/strlcpy.h', 'src/uint256.h', 'src/util.cpp', 'src/util.h']
# xgettext -n --keyword=_ $FILES
child = Popen(['xgettext','--output=-','-n','--keyword=_'] + files, stdout=PIPE)
(out, err) = child.communicate()
messages = parse_po(out)
f = open(OUT_CPP, 'w')
f.write('#include <QtGlobal>\n')
f.write('// Automatically generated by extract_strings.py\n')
f.write('static const char *bitcoin_strings[] = {')
for (msgid, msgstr) in messages:
if msgid != EMPTY:
f.write('QT_TRANSLATE_NOOP("bitcoin-core", %s),\n' % ('\n'.join(msgid)))
f.write('};')
f.close()

BIN
scripts/qt/img/reload.xcf Normal file

Binary file not shown.

43
scripts/qt/make_spinner.py Executable file
View File

@@ -0,0 +1,43 @@
#!/usr/bin/env python
# W.J. van der Laan, 2011
# Make spinning .mng animation from a .png
# Requires imagemagick 6.7+
from __future__ import division
from os import path
from PIL import Image
from subprocess import Popen
SRC='img/reload_scaled.png'
DST='../../src/qt/res/movies/update_spinner.mng'
TMPDIR='/tmp'
TMPNAME='tmp-%03i.png'
NUMFRAMES=35
FRAMERATE=10.0
CONVERT='convert'
CLOCKWISE=True
DSIZE=(16,16)
im_src = Image.open(SRC)
if CLOCKWISE:
im_src = im_src.transpose(Image.FLIP_LEFT_RIGHT)
def frame_to_filename(frame):
return path.join(TMPDIR, TMPNAME % frame)
frame_files = []
for frame in xrange(NUMFRAMES):
rotation = (frame + 0.5) / NUMFRAMES * 360.0
if CLOCKWISE:
rotation = -rotation
im_new = im_src.rotate(rotation, Image.BICUBIC)
im_new.thumbnail(DSIZE, Image.ANTIALIAS)
outfile = frame_to_filename(frame)
im_new.save(outfile, 'png')
frame_files.append(outfile)
p = Popen([CONVERT, "-delay", str(FRAMERATE), "-dispose", "2"] + frame_files + [DST])
p.communicate()

View File

@@ -0,0 +1,9 @@
#!/bin/bash
# create multiresolution windows icon
ICON_SRC=../../src/qt/res/icons/bitcoin.png
ICON_DST=../../src/qt/res/icons/bitcoin.ico
convert ${ICON_SRC} -resize 16x16 bitcoin-16.png
convert ${ICON_SRC} -resize 32x32 bitcoin-32.png
convert ${ICON_SRC} -resize 48x48 bitcoin-48.png
convert bitcoin-16.png bitcoin-32.png bitcoin-48.png ${ICON_DST}

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