├── .gitattributes
├── .gitignore
├── COPYING
├── INSTALL
├── Makefile.am
├── README.md
├── autogen.sh
├── configure.ac
├── contrib
├── README.md
├── bitcoin-qt.pro
├── bitcoind.bash-completion
├── bitrpc
│ ├── README.md
│ └── bitrpc.py
├── debian
│ ├── README.md
│ ├── bitcoin-qt.desktop
│ ├── bitcoin-qt.install
│ ├── bitcoin-qt.lintian-overrides
│ ├── bitcoin-qt.protocol
│ ├── bitcoind.bash-completion
│ ├── bitcoind.examples
│ ├── bitcoind.install
│ ├── bitcoind.lintian-overrides
│ ├── bitcoind.manpages
│ ├── changelog
│ ├── compat
│ ├── control
│ ├── copyright
│ ├── examples
│ │ └── bitcoin.conf
│ ├── gbp.conf
│ ├── manpages
│ │ ├── bitcoin-qt.1
│ │ ├── bitcoin.conf.5
│ │ └── bitcoind.1
│ ├── patches
│ │ ├── README
│ │ └── series
│ ├── rules
│ ├── source
│ │ └── format
│ └── watch
├── gitian-descriptors
│ ├── README.md
│ ├── boost-win32.yml
│ ├── deps-win32.yml
│ ├── gitian-win32.yml
│ ├── gitian.yml
│ ├── protobuf-win32.yml
│ └── qt-win32.yml
├── gitian-downloader
│ ├── bluematt-key.pgp
│ ├── devrandom-key.pgp
│ ├── gavinandresen-key.pgp
│ ├── laanwj-key.pgp
│ ├── linux-download-config
│ ├── luke-jr-key.pgp
│ ├── michagogo-key.pgp
│ ├── sipa-key.pgp
│ ├── tcatm-key.pgp
│ ├── win32-download-config
│ └── wtogami-key.pgp
├── linearize
│ ├── README.md
│ ├── example-linearize.cfg
│ └── linearize.py
├── macdeploy
│ ├── LICENSE
│ ├── README.md
│ ├── background.png
│ ├── background.psd
│ ├── fancy.plist
│ └── macdeployqtplus
├── pyminer
│ ├── README.md
│ ├── example-config.cfg
│ └── pyminer.py
├── qos
│ ├── README.md
│ └── tc.sh
├── qt_translations.py
├── seeds
│ ├── README.md
│ └── makeseeds.py
├── spendfrom
│ ├── README.md
│ ├── setup.py
│ └── spendfrom.py
├── test-patches
│ ├── README.md
│ └── temp-revert-2.patch
├── testgen
│ ├── README.md
│ ├── base58.py
│ └── gen_base58_test_vectors.py
├── tidy_datadir.sh
├── verifysfbinaries
│ ├── README.md
│ └── verify.sh
└── wallettools
│ ├── README.md
│ ├── walletchangepass.py
│ └── walletunlock.py
├── doc
├── Doxyfile
├── README.md
├── README_windows.txt
├── assets-attribution.md
├── bitcoin_logo_doxygen.png
├── build-msw.md
├── build-osx.md
├── build-unix.md
├── coding.md
├── files.md
├── multiwallet-qt.md
├── release-notes.md
├── release-process.md
├── tor.md
├── translation_process.md
└── unit-tests.md
├── pkg.m4
├── qa
└── pull-tester
│ ├── build-tests.sh.in
│ ├── pull-tester.py
│ ├── pull-tester.sh
│ └── run-bitcoind-for-test.sh.in
├── share
├── certs
│ ├── BitcoinFoundation_Apple_Cert.pem
│ ├── BitcoinFoundation_Comodo_Cert.pem
│ └── PrivateKeyNotes.md
├── genbuild.sh
├── pixmaps
│ ├── addressbook16.bmp
│ ├── addressbook16mask.bmp
│ ├── addressbook20.bmp
│ ├── addressbook20mask.bmp
│ ├── bitcoin-bc.ico
│ ├── bitcoin.ico
│ ├── bitcoin128.png
│ ├── bitcoin128.xpm
│ ├── bitcoin16.png
│ ├── bitcoin16.xpm
│ ├── bitcoin256.png
│ ├── bitcoin256.xpm
│ ├── bitcoin32.png
│ ├── bitcoin32.xpm
│ ├── bitcoin64.png
│ ├── bitcoin64.xpm
│ ├── check.ico
│ ├── favicon.ico
│ ├── nsis-header.bmp
│ ├── nsis-wizard.bmp
│ ├── send16.bmp
│ ├── send16mask.bmp
│ ├── send16masknoshadow.bmp
│ ├── send20.bmp
│ └── send20mask.bmp
├── qt
│ ├── Info.plist.in
│ ├── clean_mac_info_plist.py
│ ├── extract_strings_qt.py
│ ├── img
│ │ └── reload.xcf
│ ├── make_spinner.py
│ ├── make_windows_icon.sh
│ └── protobuf.pri
├── setup.nsi.in
└── ui.rc
└── src
├── .gitignore
├── Makefile.am
├── Makefile.include
├── addrman.cpp
├── addrman.h
├── alert.cpp
├── alert.h
├── allocators.cpp
├── allocators.h
├── base58.h
├── bignum.h
├── bitcoin-cli-res.rc
├── bitcoin-cli.cpp
├── bitcoind-res.rc
├── bitcoind.cpp
├── bitcoinrpc.cpp
├── bitcoinrpc.h
├── bloom.cpp
├── bloom.h
├── chainparams.cpp
├── chainparams.h
├── checkpoints.cpp
├── checkpoints.h
├── checkqueue.h
├── clientversion.h
├── coincontrol.h
├── coins.cpp
├── coins.h
├── compat.h
├── core.cpp
├── core.h
├── crypter.cpp
├── crypter.h
├── db.cpp
├── db.h
├── hash.cpp
├── hash.h
├── init.cpp
├── init.h
├── json
├── LICENSE.txt
├── json_spirit.h
├── json_spirit_error_position.h
├── json_spirit_reader.cpp
├── json_spirit_reader.h
├── json_spirit_reader_template.h
├── json_spirit_stream_reader.h
├── json_spirit_utils.h
├── json_spirit_value.cpp
├── json_spirit_value.h
├── json_spirit_writer.cpp
├── json_spirit_writer.h
└── json_spirit_writer_template.h
├── key.cpp
├── key.h
├── keystore.cpp
├── keystore.h
├── leveldb
├── .gitignore
├── AUTHORS
├── LICENSE
├── Makefile
├── NEWS
├── README
├── TODO
├── WINDOWS.md
├── build_detect_platform
├── db
│ ├── autocompact_test.cc
│ ├── builder.cc
│ ├── builder.h
│ ├── c.cc
│ ├── c_test.c
│ ├── corruption_test.cc
│ ├── db_bench.cc
│ ├── db_impl.cc
│ ├── db_impl.h
│ ├── db_iter.cc
│ ├── db_iter.h
│ ├── db_test.cc
│ ├── dbformat.cc
│ ├── dbformat.h
│ ├── dbformat_test.cc
│ ├── filename.cc
│ ├── filename.h
│ ├── filename_test.cc
│ ├── leveldb_main.cc
│ ├── log_format.h
│ ├── log_reader.cc
│ ├── log_reader.h
│ ├── log_test.cc
│ ├── log_writer.cc
│ ├── log_writer.h
│ ├── memtable.cc
│ ├── memtable.h
│ ├── repair.cc
│ ├── skiplist.h
│ ├── skiplist_test.cc
│ ├── snapshot.h
│ ├── table_cache.cc
│ ├── table_cache.h
│ ├── version_edit.cc
│ ├── version_edit.h
│ ├── version_edit_test.cc
│ ├── version_set.cc
│ ├── version_set.h
│ ├── version_set_test.cc
│ ├── write_batch.cc
│ ├── write_batch_internal.h
│ └── write_batch_test.cc
├── doc
│ ├── bench
│ │ ├── db_bench_sqlite3.cc
│ │ └── db_bench_tree_db.cc
│ ├── benchmark.html
│ ├── doc.css
│ ├── impl.html
│ ├── index.html
│ ├── log_format.txt
│ └── table_format.txt
├── helpers
│ └── memenv
│ │ ├── memenv.cc
│ │ ├── memenv.h
│ │ └── memenv_test.cc
├── include
│ └── leveldb
│ │ ├── c.h
│ │ ├── cache.h
│ │ ├── comparator.h
│ │ ├── db.h
│ │ ├── env.h
│ │ ├── filter_policy.h
│ │ ├── iterator.h
│ │ ├── options.h
│ │ ├── slice.h
│ │ ├── status.h
│ │ ├── table.h
│ │ ├── table_builder.h
│ │ └── write_batch.h
├── issues
│ └── issue178_test.cc
├── port
│ ├── README
│ ├── atomic_pointer.h
│ ├── port.h
│ ├── port_example.h
│ ├── port_posix.cc
│ ├── port_posix.h
│ ├── port_win.cc
│ ├── port_win.h
│ ├── thread_annotations.h
│ └── win
│ │ └── stdint.h
├── table
│ ├── block.cc
│ ├── block.h
│ ├── block_builder.cc
│ ├── block_builder.h
│ ├── filter_block.cc
│ ├── filter_block.h
│ ├── filter_block_test.cc
│ ├── format.cc
│ ├── format.h
│ ├── iterator.cc
│ ├── iterator_wrapper.h
│ ├── merger.cc
│ ├── merger.h
│ ├── table.cc
│ ├── table_builder.cc
│ ├── table_test.cc
│ ├── two_level_iterator.cc
│ └── two_level_iterator.h
└── util
│ ├── arena.cc
│ ├── arena.h
│ ├── arena_test.cc
│ ├── bloom.cc
│ ├── bloom_test.cc
│ ├── cache.cc
│ ├── cache_test.cc
│ ├── coding.cc
│ ├── coding.h
│ ├── coding_test.cc
│ ├── comparator.cc
│ ├── crc32c.cc
│ ├── crc32c.h
│ ├── crc32c_test.cc
│ ├── env.cc
│ ├── env_posix.cc
│ ├── env_test.cc
│ ├── env_win.cc
│ ├── filter_policy.cc
│ ├── hash.cc
│ ├── hash.h
│ ├── histogram.cc
│ ├── histogram.h
│ ├── logging.cc
│ ├── logging.h
│ ├── mutexlock.h
│ ├── options.cc
│ ├── posix_logger.h
│ ├── random.h
│ ├── status.cc
│ ├── testharness.cc
│ ├── testharness.h
│ ├── testutil.cc
│ └── testutil.h
├── leveldbwrapper.cpp
├── leveldbwrapper.h
├── limitedmap.h
├── m4
├── ax_boost_base.m4
├── ax_boost_chrono.m4
├── ax_boost_filesystem.m4
├── ax_boost_program_options.m4
├── ax_boost_system.m4
├── ax_boost_thread.m4
├── ax_boost_unit_test_framework.m4
├── ax_check_compile_flag.m4
├── ax_check_link_flag.m4
├── ax_check_preproc_flag.m4
├── ax_pthread.m4
├── bitcoin_find_bdb48.m4
└── bitcoin_subdir_to_include.m4
├── main.cpp
├── main.h
├── miner.cpp
├── miner.h
├── mruset.h
├── net.cpp
├── net.h
├── netbase.cpp
├── netbase.h
├── noui.cpp
├── noui.h
├── obj-test
└── .gitignore
├── obj
└── .gitignore
├── protocol.cpp
├── protocol.h
├── qt
├── Makefile.am
├── aboutdialog.cpp
├── aboutdialog.h
├── addressbookpage.cpp
├── addressbookpage.h
├── addresstablemodel.cpp
├── addresstablemodel.h
├── askpassphrasedialog.cpp
├── askpassphrasedialog.h
├── bitcoin.cpp
├── bitcoin.qrc
├── bitcoinaddressvalidator.cpp
├── bitcoinaddressvalidator.h
├── bitcoinamountfield.cpp
├── bitcoinamountfield.h
├── bitcoingui.cpp
├── bitcoingui.h
├── bitcoinstrings.cpp
├── bitcoinunits.cpp
├── bitcoinunits.h
├── clientmodel.cpp
├── clientmodel.h
├── coincontroldialog.cpp
├── coincontroldialog.h
├── coincontroltreewidget.cpp
├── coincontroltreewidget.h
├── csvmodelwriter.cpp
├── csvmodelwriter.h
├── editaddressdialog.cpp
├── editaddressdialog.h
├── forms
│ ├── aboutdialog.ui
│ ├── addressbookpage.ui
│ ├── askpassphrasedialog.ui
│ ├── coincontroldialog.ui
│ ├── editaddressdialog.ui
│ ├── intro.ui
│ ├── openuridialog.ui
│ ├── optionsdialog.ui
│ ├── overviewpage.ui
│ ├── receivecoinsdialog.ui
│ ├── receiverequestdialog.ui
│ ├── rpcconsole.ui
│ ├── sendcoinsdialog.ui
│ ├── sendcoinsentry.ui
│ ├── signverifymessagedialog.ui
│ └── transactiondescdialog.ui
├── guiconstants.h
├── guiutil.cpp
├── guiutil.h
├── intro.cpp
├── intro.h
├── locale
│ ├── bitcoin_ach.ts
│ ├── bitcoin_af_ZA.ts
│ ├── bitcoin_ar.ts
│ ├── bitcoin_be_BY.ts
│ ├── bitcoin_bg.ts
│ ├── bitcoin_bs.ts
│ ├── bitcoin_ca.ts
│ ├── bitcoin_ca_ES.ts
│ ├── bitcoin_cs.ts
│ ├── bitcoin_cy.ts
│ ├── bitcoin_da.ts
│ ├── bitcoin_de.ts
│ ├── bitcoin_de_AT.ts
│ ├── bitcoin_el_GR.ts
│ ├── bitcoin_en.ts
│ ├── bitcoin_eo.ts
│ ├── bitcoin_es.ts
│ ├── bitcoin_es_CL.ts
│ ├── bitcoin_et.ts
│ ├── bitcoin_eu_ES.ts
│ ├── bitcoin_fa.ts
│ ├── bitcoin_fa_IR.ts
│ ├── bitcoin_fi.ts
│ ├── bitcoin_fr.ts
│ ├── bitcoin_fr_CA.ts
│ ├── bitcoin_gl.ts
│ ├── bitcoin_gu_IN.ts
│ ├── bitcoin_he.ts
│ ├── bitcoin_hi_IN.ts
│ ├── bitcoin_hr.ts
│ ├── bitcoin_hu.ts
│ ├── bitcoin_id_ID.ts
│ ├── bitcoin_it.ts
│ ├── bitcoin_ja.ts
│ ├── bitcoin_kk_KZ.ts
│ ├── bitcoin_ko_KR.ts
│ ├── bitcoin_la.ts
│ ├── bitcoin_lt.ts
│ ├── bitcoin_lv_LV.ts
│ ├── bitcoin_ms_MY.ts
│ ├── bitcoin_nb.ts
│ ├── bitcoin_nl.ts
│ ├── bitcoin_pl.ts
│ ├── bitcoin_pt_BR.ts
│ ├── bitcoin_pt_PT.ts
│ ├── bitcoin_ro_RO.ts
│ ├── bitcoin_ru.ts
│ ├── bitcoin_sk.ts
│ ├── bitcoin_sl_SI.ts
│ ├── bitcoin_sq.ts
│ ├── bitcoin_sr.ts
│ ├── bitcoin_sv.ts
│ ├── bitcoin_th_TH.ts
│ ├── bitcoin_tr.ts
│ ├── bitcoin_uk.ts
│ ├── bitcoin_vi.ts
│ ├── bitcoin_vi_VN.ts
│ ├── bitcoin_zh_CN.ts
│ └── bitcoin_zh_TW.ts
├── macdockiconhandler.h
├── macdockiconhandler.mm
├── macnotificationhandler.h
├── macnotificationhandler.mm
├── monitoreddatamapper.cpp
├── monitoreddatamapper.h
├── notificator.cpp
├── notificator.h
├── openuridialog.cpp
├── openuridialog.h
├── optionsdialog.cpp
├── optionsdialog.h
├── optionsmodel.cpp
├── optionsmodel.h
├── overviewpage.cpp
├── overviewpage.h
├── paymentrequest.proto
├── paymentrequestplus.cpp
├── paymentrequestplus.h
├── paymentserver.cpp
├── paymentserver.h
├── qvalidatedlineedit.cpp
├── qvalidatedlineedit.h
├── qvaluecombobox.cpp
├── qvaluecombobox.h
├── receivecoinsdialog.cpp
├── receivecoinsdialog.h
├── receiverequestdialog.cpp
├── receiverequestdialog.h
├── res
│ ├── bitcoin-qt-res.rc
│ ├── icons
│ │ ├── add.png
│ │ ├── address-book.png
│ │ ├── bitcoin.icns
│ │ ├── bitcoin.ico
│ │ ├── bitcoin.png
│ │ ├── bitcoin_testnet.ico
│ │ ├── bitcoin_testnet.png
│ │ ├── clock1.png
│ │ ├── clock2.png
│ │ ├── clock3.png
│ │ ├── clock4.png
│ │ ├── clock5.png
│ │ ├── configure.png
│ │ ├── connect0_16.png
│ │ ├── connect1_16.png
│ │ ├── connect2_16.png
│ │ ├── connect3_16.png
│ │ ├── connect4_16.png
│ │ ├── debugwindow.png
│ │ ├── edit.png
│ │ ├── editcopy.png
│ │ ├── editpaste.png
│ │ ├── export.png
│ │ ├── filesave.png
│ │ ├── history.png
│ │ ├── key.png
│ │ ├── lock_closed.png
│ │ ├── lock_open.png
│ │ ├── notsynced.png
│ │ ├── overview.png
│ │ ├── qrcode.png
│ │ ├── quit.png
│ │ ├── receive.png
│ │ ├── remove.png
│ │ ├── send.png
│ │ ├── synced.png
│ │ ├── toolbar.png
│ │ ├── toolbar_testnet.png
│ │ ├── transaction0.png
│ │ ├── transaction2.png
│ │ ├── tx_inout.png
│ │ ├── tx_input.png
│ │ ├── tx_mined.png
│ │ └── tx_output.png
│ ├── images
│ │ ├── about.png
│ │ ├── splash.png
│ │ └── splash_testnet.png
│ ├── movies
│ │ └── update_spinner.mng
│ └── src
│ │ ├── bitcoin.svg
│ │ ├── clock1.svg
│ │ ├── clock2.svg
│ │ ├── clock3.svg
│ │ ├── clock4.svg
│ │ ├── clock5.svg
│ │ ├── clock_green.svg
│ │ ├── inout.svg
│ │ └── questionmark.svg
├── rpcconsole.cpp
├── rpcconsole.h
├── sendcoinsdialog.cpp
├── sendcoinsdialog.h
├── sendcoinsentry.cpp
├── sendcoinsentry.h
├── signverifymessagedialog.cpp
├── signverifymessagedialog.h
├── splashscreen.cpp
├── splashscreen.h
├── test
│ ├── Makefile.am
│ ├── paymentrequestdata.h
│ ├── paymentservertests.cpp
│ ├── paymentservertests.h
│ ├── test_main.cpp
│ ├── uritests.cpp
│ └── uritests.h
├── trafficgraphwidget.cpp
├── trafficgraphwidget.h
├── transactiondesc.cpp
├── transactiondesc.h
├── transactiondescdialog.cpp
├── transactiondescdialog.h
├── transactionfilterproxy.cpp
├── transactionfilterproxy.h
├── transactionrecord.cpp
├── transactionrecord.h
├── transactiontablemodel.cpp
├── transactiontablemodel.h
├── transactionview.cpp
├── transactionview.h
├── walletframe.cpp
├── walletframe.h
├── walletmodel.cpp
├── walletmodel.h
├── walletmodeltransaction.cpp
├── walletmodeltransaction.h
├── walletview.cpp
└── walletview.h
├── rpcblockchain.cpp
├── rpcdump.cpp
├── rpcmining.cpp
├── rpcnet.cpp
├── rpcrawtransaction.cpp
├── rpcwallet.cpp
├── script.cpp
├── script.h
├── serialize.h
├── sync.cpp
├── sync.h
├── test
├── Checkpoints_tests.cpp
├── DoS_tests.cpp
├── Makefile.am
├── README
├── accounting_tests.cpp
├── alert_tests.cpp
├── allocator_tests.cpp
├── base32_tests.cpp
├── base58_tests.cpp
├── base64_tests.cpp
├── bignum_tests.cpp
├── bip32_tests.cpp
├── bloom_tests.cpp
├── canonical_tests.cpp
├── checkblock_tests.cpp
├── compress_tests.cpp
├── data
│ ├── alertTests.raw
│ ├── base58_encode_decode.json
│ ├── base58_keys_invalid.json
│ ├── base58_keys_valid.json
│ ├── script_invalid.json
│ ├── script_valid.json
│ ├── sig_canonical.json
│ ├── sig_noncanonical.json
│ ├── tx_invalid.json
│ └── tx_valid.json
├── getarg_tests.cpp
├── hash_tests.cpp
├── hmac_tests.cpp
├── key_tests.cpp
├── miner_tests.cpp
├── mruset_tests.cpp
├── multisig_tests.cpp
├── netbase_tests.cpp
├── pmt_tests.cpp
├── rpc_tests.cpp
├── script_P2SH_tests.cpp
├── script_tests.cpp
├── serialize_tests.cpp
├── sighash_tests.cpp
├── sigopcount_tests.cpp
├── test_bitcoin.cpp
├── transaction_tests.cpp
├── uint160_tests.cpp
├── uint256_tests.cpp
├── util_tests.cpp
└── wallet_tests.cpp
├── threadsafety.h
├── txdb.cpp
├── txdb.h
├── txmempool.cpp
├── txmempool.h
├── ui_interface.h
├── uint256.h
├── util.cpp
├── util.h
├── version.cpp
├── version.h
├── wallet.cpp
├── wallet.h
├── walletdb.cpp
└── walletdb.h
/.gitattributes:
--------------------------------------------------------------------------------
1 | src/version.cpp export-subst
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.tar.gz
2 |
3 | *.exe
4 | src/bitcoin
5 | src/bitcoind
6 | src/bitcoin-cli
7 | src/test/test_bitcoin
8 | src/qt/test/test_bitcoin-qt
9 |
10 | Makefile.in
11 | aclocal.m4
12 | autom4te.cache/
13 | config.log
14 | config.status
15 | configure
16 | src/bitcoin-config.h
17 | src/bitcoin-config.h.in
18 | src/build-aux/
19 | src/stamp-h1
20 | share/setup.nsi
21 | share/qt/Info.plist
22 |
23 | src/qt/*.moc
24 | src/qt/moc_*.cpp
25 | src/qt/forms/ui_*.h
26 |
27 | src/qt/test/moc*.cpp
28 |
29 | .deps
30 | .dirstamp
31 | .*.swp
32 | *.*~*
33 | *.bak
34 | *.rej
35 | *.orig
36 | *.o
37 | *.patch
38 | .bitcoin
39 | *.a
40 | *.pb.cc
41 | *.pb.h
42 |
43 | *.log
44 | *.trs
45 | *.dmg
46 |
47 | *.json.h
48 | *.raw.h
49 |
50 | # Compilation and Qt preprocessor part
51 | *.qm
52 | Makefile
53 | bitcoin-qt
54 | Bitcoin-Qt.app
55 |
56 | # Unit-tests
57 | Makefile.test
58 | bitcoin-qt_test
59 |
60 | # Resources cpp
61 | qrc_*.cpp
62 |
63 | # Qt creator
64 | *.pro.user
65 |
66 | # Mac specific
67 | .DS_Store
68 | build
69 |
70 | #lcov
71 | *.gcno
72 | /*.info
73 | test_bitcoin.coverage/
74 | total.coverage/
75 | coverage_percent.txt
76 |
77 | #build tests
78 | linux-coverage-build
79 | linux-build
80 | win32-build
81 | qa/pull-tester/run-bitcoind-for-test.sh
82 | qa/pull-tester/build-tests.sh
83 |
84 | !src/leveldb-*/Makefile
85 |
--------------------------------------------------------------------------------
/COPYING:
--------------------------------------------------------------------------------
1 | Copyright (c) 2009-2013 Bitcoin Developers
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/INSTALL:
--------------------------------------------------------------------------------
1 | Building Bitcoin
2 |
3 | See doc/build-*.md for instructions on building bitcoind,
4 | the intended-for-services, no-graphical-interface, reference
5 | implementation of Bitcoin.
--------------------------------------------------------------------------------
/autogen.sh:
--------------------------------------------------------------------------------
1 | autoreconf -vif
2 |
--------------------------------------------------------------------------------
/contrib/bitcoin-qt.pro:
--------------------------------------------------------------------------------
1 | FORMS += \
2 | ../src/qt/forms/transactiondescdialog.ui \
3 | ../src/qt/forms/signverifymessagedialog.ui \
4 | ../src/qt/forms/sendcoinsentry.ui \
5 | ../src/qt/forms/sendcoinsdialog.ui \
6 | ../src/qt/forms/rpcconsole.ui \
7 | ../src/qt/forms/overviewpage.ui \
8 | ../src/qt/forms/optionsdialog.ui \
9 | ../src/qt/forms/intro.ui \
10 | ../src/qt/forms/editaddressdialog.ui \
11 | ../src/qt/forms/askpassphrasedialog.ui \
12 | ../src/qt/forms/addressbookpage.ui \
13 | ../src/qt/forms/aboutdialog.ui \
14 | ../src/qt/forms/receivecoinsdialog.ui \
15 | ../src/qt/forms/receiverequestdialog.ui \
16 | ../src/qt/forms/openuridialog.ui
17 |
18 | RESOURCES += \
19 | ../src/qt/bitcoin.qrc
20 |
--------------------------------------------------------------------------------
/contrib/bitrpc/README.md:
--------------------------------------------------------------------------------
1 | ### BitRPC ###
2 | Allows for sending of all standard Bitcoin commands via RPC rather than as command line args.
--------------------------------------------------------------------------------
/contrib/debian/README.md:
--------------------------------------------------------------------------------
1 |
2 | Debian
3 | ====================
4 | This directory contains files used to package bitcoind/bitcoin-qt
5 | for Debian-based Linux systems. If you compile bitcoind/bitcoin-qt yourself, there are some useful files here.
6 |
7 | ## bitcoin: URI support ##
8 |
9 |
10 | bitcoin-qt.desktop (Gnome / Open Desktop)
11 | To install:
12 |
13 | sudo desktop-file-install bitcoin-qt.desktop
14 | sudo update-desktop-database
15 |
16 | If you build yourself, you will either need to modify the paths in
17 | the .desktop file or copy or symlink your bitcoin-qt binary to `/usr/bin`
18 | and the `../../share/pixmaps/bitcoin128.png` to `/usr/share/pixmaps`
19 |
20 | bitcoin-qt.protocol (KDE)
21 |
22 |
--------------------------------------------------------------------------------
/contrib/debian/bitcoin-qt.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Encoding=UTF-8
3 | Name=Bitcoin
4 | Comment=Bitcoin P2P Cryptocurrency
5 | Comment[fr]=Bitcoin, monnaie virtuelle cryptographique pair à pair
6 | Comment[tr]=Bitcoin, eşten eşe kriptografik sanal para birimi
7 | Exec=/usr/bin/bitcoin-qt %u
8 | Terminal=false
9 | Type=Application
10 | Icon=/usr/share/pixmaps/bitcoin128.png
11 | MimeType=x-scheme-handler/bitcoin;
12 | Categories=Office;Finance;
13 |
--------------------------------------------------------------------------------
/contrib/debian/bitcoin-qt.install:
--------------------------------------------------------------------------------
1 | bitcoin-qt usr/bin
2 | share/pixmaps/bitcoin32.xpm usr/share/pixmaps
3 | share/pixmaps/bitcoin16.xpm usr/share/pixmaps
4 | share/pixmaps/bitcoin128.png usr/share/pixmaps
5 | debian/bitcoin-qt.desktop usr/share/applications
6 | debian/bitcoin-qt.protocol usr/share/kde4/services/
7 |
--------------------------------------------------------------------------------
/contrib/debian/bitcoin-qt.lintian-overrides:
--------------------------------------------------------------------------------
1 | # Linked code is Expat - only Debian packaging is GPL-2+
2 | bitcoin-qt: possible-gpl-code-linked-with-openssl
3 |
--------------------------------------------------------------------------------
/contrib/debian/bitcoin-qt.protocol:
--------------------------------------------------------------------------------
1 | [Protocol]
2 | exec=bitcoin-qt '%u'
3 | protocol=bitcoin
4 | input=none
5 | output=none
6 | helper=true
7 | listing=
8 | reading=false
9 | writing=false
10 | makedir=false
11 | deleting=false
12 |
--------------------------------------------------------------------------------
/contrib/debian/bitcoind.bash-completion:
--------------------------------------------------------------------------------
1 | contrib/bitcoind.bash-completion bitcoind
2 |
--------------------------------------------------------------------------------
/contrib/debian/bitcoind.examples:
--------------------------------------------------------------------------------
1 | debian/examples/bitcoin.conf
2 |
--------------------------------------------------------------------------------
/contrib/debian/bitcoind.install:
--------------------------------------------------------------------------------
1 | src/bitcoind usr/bin
2 |
--------------------------------------------------------------------------------
/contrib/debian/bitcoind.lintian-overrides:
--------------------------------------------------------------------------------
1 | # Linked code is Expat - only Debian packaging is GPL-2+
2 | bitcoind: possible-gpl-code-linked-with-openssl
3 |
--------------------------------------------------------------------------------
/contrib/debian/bitcoind.manpages:
--------------------------------------------------------------------------------
1 | debian/manpages/bitcoind.1
2 | debian/manpages/bitcoin.conf.5
3 |
--------------------------------------------------------------------------------
/contrib/debian/compat:
--------------------------------------------------------------------------------
1 | 7
2 |
--------------------------------------------------------------------------------
/contrib/debian/gbp.conf:
--------------------------------------------------------------------------------
1 | # Configuration file for git-buildpackage and friends
2 |
3 | [DEFAULT]
4 | pristine-tar = True
5 | sign-tags = True
6 |
--------------------------------------------------------------------------------
/contrib/debian/patches/README:
--------------------------------------------------------------------------------
1 | 0xxx: Grabbed from upstream development.
2 | 1xxx: Possibly relevant for upstream adoption.
3 | 2xxx: Only relevant for official Debian release.
4 |
--------------------------------------------------------------------------------
/contrib/debian/patches/series:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/contrib/debian/rules:
--------------------------------------------------------------------------------
1 | #!/usr/bin/make -f
2 | # -*- mode: makefile; coding: utf-8 -*-
3 |
4 | #DEB_MAKE_CHECK_TARGET = test_bitcoin
5 | #build/bitcoind::
6 | # $(if $(filter nocheck,$(DEB_BUILD_OPTIONS)),,src/test_bitcoin)
7 |
8 | DEB_INSTALL_EXAMPLES_bitcoind += debian/examples/*
9 | DEB_INSTALL_MANPAGES_bitcoind += debian/manpages/*
10 |
11 | %:
12 | dh --with bash-completion $@
13 |
14 | override_dh_auto_build:
15 | cd src; $(MAKE) -f makefile.unix bitcoind
16 | $(MAKE)
17 |
18 | override_dh_auto_clean:
19 | if [ -f Makefile ]; then $(MAKE) clean; else rm -rf build/; rm -f bitcoin-qt; fi
20 | cd src; $(MAKE) -f makefile.unix clean
21 |
22 | override_dh_auto_configure:
23 | qmake bitcoin-qt.pro USE_QRCODE=1
24 |
25 | override_dh_auto_test:
26 | cd src; $(MAKE) -f makefile.unix test_bitcoin
27 | src/test_bitcoin
28 |
29 | # Ensure wrapper is set executable
30 | binary-post-install/bitcoind:
31 | chmod +x $(cdbs_curdestdir)usr/bin/bitcoind
32 | binary-post-install/bitcoin-qt:
33 | chmod +x $(cdbs_curdestdir)usr/bin/bitcoin-qt
34 |
--------------------------------------------------------------------------------
/contrib/debian/source/format:
--------------------------------------------------------------------------------
1 | 3.0 (quilt)
2 |
--------------------------------------------------------------------------------
/contrib/debian/watch:
--------------------------------------------------------------------------------
1 | # Run the "uscan" command to check for upstream updates and more.
2 | version=3
3 | # use qa.debian.org redirector; see man uscan
4 | opts=uversionmangle=s/(\d)(alpha|beta|rc)/$1~$2/;s/\-src//,dversionmangle=s/~dfsg\d*// \
5 | http://sf.net/bitcoin/bitcoin-(\d.*)-linux\.tar\.gz debian
6 | opts=uversionmangle=s/(\d)(alpha|beta|rc)/$1~$2/,dversionmangle=s/~dfsg\d*// \
7 | http://githubredir.debian.net/github/bitcoin/bitcoin v(.*).tar.gz
8 |
--------------------------------------------------------------------------------
/contrib/gitian-descriptors/protobuf-win32.yml:
--------------------------------------------------------------------------------
1 | ---
2 | name: "protobuf-win32"
3 | suites:
4 | - "precise"
5 | architectures:
6 | - "amd64"
7 | packages:
8 | - "mingw-w64"
9 | - "g++-mingw-w64"
10 | - "zip"
11 | - "faketime"
12 | reference_datetime: "2013-04-15 00:00:00"
13 | remotes: []
14 | files:
15 | - "protobuf-2.5.0.tar.bz2"
16 | script: |
17 | #
18 | export TZ=UTC
19 | export INSTALLPREFIX=$OUTDIR/staging/deps
20 | export HOST=i686-w64-mingw32
21 | # Integrity Check
22 | echo "13bfc5ae543cf3aa180ac2485c0bc89495e3ae711fc6fab4f8ffe90dfb4bb677 protobuf-2.5.0.tar.bz2" | sha256sum -c
23 |
24 | #
25 | mkdir -p $INSTALLPREFIX
26 |
27 | tar xjf protobuf-2.5.0.tar.bz2
28 | cd protobuf-2.5.0
29 | # First: build a native (linux) protoc
30 | ./configure --enable-shared=no --disable-dependency-tracking
31 | make
32 | mkdir -p $INSTALLPREFIX/host/bin
33 | cp src/protoc $INSTALLPREFIX/host/bin
34 | # Now recompile with the mingw cross-compiler:
35 | make distclean
36 | ./configure --prefix=$INSTALLPREFIX --enable-shared=no --disable-dependency-tracking --with-protoc=$INSTALLPREFIX/host/bin/protoc --host=$HOST CXXFLAGS=-frandom-seed=11
37 | make
38 | make install
39 | cd $INSTALLPREFIX
40 | export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
41 | export FAKETIME=$REFERENCE_DATETIME
42 | zip -r $OUTDIR/protobuf-win32-2.5.0-gitian-r3.zip include lib host
43 | unset LD_PRELOAD
44 | unset FAKETIME
45 |
--------------------------------------------------------------------------------
/contrib/gitian-downloader/bluematt-key.pgp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/contrib/gitian-downloader/bluematt-key.pgp
--------------------------------------------------------------------------------
/contrib/gitian-downloader/devrandom-key.pgp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/contrib/gitian-downloader/devrandom-key.pgp
--------------------------------------------------------------------------------
/contrib/gitian-downloader/gavinandresen-key.pgp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/contrib/gitian-downloader/gavinandresen-key.pgp
--------------------------------------------------------------------------------
/contrib/gitian-downloader/laanwj-key.pgp:
--------------------------------------------------------------------------------
1 | -----BEGIN PGP PUBLIC KEY BLOCK-----
2 | Version: SKS 1.1.0
3 |
4 | mQENBE5UtMEBCADOUz2i9l/D8xYINCmfUDnxi+DXvX5LmZ39ZdvsoE+ugO0SRRGdIHEFO2is
5 | 0xezX50wXu9aneb+tEqM0BuiLo6VxaXpxrkxHpr6c4jf37SkE/H0qsi/txEUp7337y3+4HMG
6 | lUjiuh802I72p1qusjsKBnmnnR0rwNouTcoDmGUDh7jpKCtzFv+2TR2dRthJn7vmmjq3+bG6
7 | PYfqoFY1yHrAGT1lrDBULZsQ/NBLI2+J4oo2LYv3GCq8GNnzrovqvTvui50VSROhLrOe58o2
8 | shE+sjQShAy5wYkPt1R1fQnpfx+5vf+TPnkxVwRb3h5GhCp0YL8XC/BXsd5vM4KlVH2rABEB
9 | AAG0K1dsYWRpbWlyIEouIHZhbiBkZXIgTGFhbiA8bGFhbndqQGdtYWlsLmNvbT6JATgEEwEC
10 | ACIFAk5UtMECGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEHSBCwEjRsmmy6YIAK09
11 | buNXyYQrJBsX16sXxEhx5QPKyF3uHJDFJv66SdnpvIkNoznsaPiRJkbTANop93FZmaGa6wVn
12 | zGDiz7jPA8Dpxx5aAYPhIT+zPJAdXWM3wJ/Gio9besRNzniai8Lwi5MZ9R/5yFGBobm6/AcN
13 | 4sUoqA3NSV2U3I29R0Vwlzo8GVtmyi9ENSi6Oo7AcXNTRt69cxW4nAHkB+amwwDJlcAb31ex
14 | bogYXPhScwqQZixRr+JBkKxBjkTXXnQypT4KI5SegYwQVYfyiZmDP7UHKe/u6pSKKbVphLg8
15 | xLB5spcXse8/a2+onrbNlw6y8TXiJ++Z54PE7zztWTXf2huakeG5AQ0ETlS0wQEIAMNO3OkP
16 | xoPRKWzBLcI7JRITAW+HNaLTq3uN2+4WxA57DEjbL9EDoAv+7wTkDAL40f0T+xiu6GJcLFjw
17 | GJZu/tYu7+mErHjrdo+K4suCQt7w5EXCBvOLjhW4tyYMzNx8hP+oqzOW9iEC+6VV91+DYeqt
18 | EkJuyVXOI4vzBlTw8uGow8aMMsCq8XVvKUZFTPsjGl197Q5B3A+ZOFCR8xqiqdPjuz6MglVV
19 | oFdDNu3EZn8zkGsQlovXoE9ndVeVzx/XMNmsxFaMYsReUs253RIf1FEfgExID0fg2OnyLCjS
20 | 2iFW1RgajS+/saIkKl+N1iuMzJA7wMAM0plhRueOG0MtZSsAEQEAAYkBHwQYAQIACQUCTlS0
21 | wQIbDAAKCRB0gQsBI0bJpmsDB/4waenn2CvSHXyomykfpwf5lMte1V5LvH3z5R2LY+1NopRv
22 | LSz3iC39x69XWiTbhywDfgafnGPW4pWBOff2/bu5/A6z1Hnan1vyrRRD/hx1uMJ7S6q+bIvZ
23 | iVIg1p0jH6tdIIhwX3cydhdRZHo7e9oSMgOUWsr6Ar59NRo9CENwGPE4U61HXfOnxWdrFWoA
24 | XdwZczBeLxmUy6Vo6sKqv+gE4bqrtAM0sY/MsQ9cU95x+52ox/sq44lQMwd3ZBYUP7B1qbHI
25 | hZSZuch6MLi5scLPeau0ZvCaljiaMeivP5+x0gWPRs0kI+9sZxInbqvrsJ6oOBJM3xYGhtn1
26 | zZ7qmZR7
27 | =si/k
28 | -----END PGP PUBLIC KEY BLOCK-----
29 |
--------------------------------------------------------------------------------
/contrib/gitian-downloader/linux-download-config:
--------------------------------------------------------------------------------
1 | ---
2 | name: bitcoin
3 | urls:
4 | - http://bitcoin.org/bitcoin-latest-linux-gitian.zip
5 | rss:
6 | - url: http://sourceforge.net/api/file/index/project-id/244765/mtime/desc/limit/100/rss
7 | xpath: //item/link/text()
8 | pattern: bitcoin-\d+.\d+.\d+-linux-gitian.zip
9 | signers:
10 | 0A82509767C7D4A5D14DA2301AE1D35043E08E54:
11 | weight: 40
12 | name: BlueMatt
13 | key: bluematt
14 | BF6273FAEF7CC0BA1F562E50989F6B3048A116B5:
15 | weight: 40
16 | name: Devrandom
17 | key: devrandom
18 | E463A93F5F3117EEDE6C7316BD02942421F4889F:
19 | weight: 40
20 | name: Luke-Jr
21 | key: luke-jr
22 | D762373D24904A3E42F33B08B9A408E71DAAC974:
23 | weight: 40
24 | name: "Pieter Wuille"
25 | key: sipa
26 | 77E72E69DA7EE0A148C06B21B34821D4944DE5F7:
27 | weight: 40
28 | name: tcatm
29 | key: tcatm
30 | 01CDF4627A3B88AAE4A571C87588242FBE38D3A8:
31 | weight: 40
32 | name: "Gavin Andresen"
33 | key: gavinandresen
34 | 71A3B16735405025D447E8F274810B012346C9A6:
35 | weight: 40
36 | name: "Wladimir J. van der Laan"
37 | key: laanwj
38 | AEC1884398647C47413C1C3FB1179EB7347DC10D:
39 | weight: 40
40 | name: "Warren Togami"
41 | key: wtogami
42 | 9692B91BBF0E8D34DFD33B1882C5C009628ECF0C:
43 | weight: 1
44 | name: michagogo
45 | key: michagogo
46 | minimum_weight: 120
47 |
--------------------------------------------------------------------------------
/contrib/gitian-downloader/luke-jr-key.pgp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/contrib/gitian-downloader/luke-jr-key.pgp
--------------------------------------------------------------------------------
/contrib/gitian-downloader/sipa-key.pgp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/contrib/gitian-downloader/sipa-key.pgp
--------------------------------------------------------------------------------
/contrib/gitian-downloader/tcatm-key.pgp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/contrib/gitian-downloader/tcatm-key.pgp
--------------------------------------------------------------------------------
/contrib/gitian-downloader/win32-download-config:
--------------------------------------------------------------------------------
1 | ---
2 | name: bitcoin
3 | urls:
4 | - http://bitcoin.org/bitcoin-latest-win32-gitian.zip
5 | rss:
6 | - url: http://sourceforge.net/api/file/index/project-id/244765/mtime/desc/limit/100/rss
7 | xpath: //item/link/text()
8 | pattern: bitcoin-\d+.\d+.\d+-win32-gitian.zip
9 | signers:
10 | 0A82509767C7D4A5D14DA2301AE1D35043E08E54:
11 | weight: 40
12 | name: BlueMatt
13 | key: bluematt
14 | BF6273FAEF7CC0BA1F562E50989F6B3048A116B5:
15 | weight: 40
16 | name: Devrandom
17 | key: devrandom
18 | E463A93F5F3117EEDE6C7316BD02942421F4889F:
19 | weight: 40
20 | name: Luke-Jr
21 | key: luke-jr
22 | D762373D24904A3E42F33B08B9A408E71DAAC974:
23 | weight: 40
24 | name: "Pieter Wuille"
25 | key: sipa
26 | 77E72E69DA7EE0A148C06B21B34821D4944DE5F7:
27 | weight: 40
28 | name: tcatm
29 | key: tcatm
30 | 01CDF4627A3B88AAE4A571C87588242FBE38D3A8:
31 | weight: 40
32 | name: "Gavin Andresen"
33 | key: gavinandresen
34 | 71A3B16735405025D447E8F274810B012346C9A6:
35 | weight: 40
36 | name: "Wladimir J. van der Laan"
37 | key: laanwj
38 | AEC1884398647C47413C1C3FB1179EB7347DC10D:
39 | weight: 40
40 | name: "Warren Togami"
41 | key: wtogami
42 | 9692B91BBF0E8D34DFD33B1882C5C009628ECF0C:
43 | weight: 1
44 | name: michagogo
45 | key: michagogo
46 | minimum_weight: 120
47 |
--------------------------------------------------------------------------------
/contrib/linearize/README.md:
--------------------------------------------------------------------------------
1 | ### Linearize ###
2 | Construct a linear, no-fork, best version of the blockchain.
--------------------------------------------------------------------------------
/contrib/linearize/example-linearize.cfg:
--------------------------------------------------------------------------------
1 |
2 | # bitcoind RPC settings
3 | rpcuser=someuser
4 | rpcpass=somepassword
5 | host=127.0.0.1
6 | port=8332
7 |
8 | # bootstrap.dat settings
9 | netmagic=f9beb4d9
10 | max_height=250000
11 | output=bootstrap.dat
12 |
13 |
--------------------------------------------------------------------------------
/contrib/macdeploy/README.md:
--------------------------------------------------------------------------------
1 | ### MacDeploy ###
2 |
3 | You will need the appscript package for the fancy disk image creation to work:
4 |
5 | sudo easy_install appscript
6 |
7 | For Snow Leopard (which uses [Python 2.6](http://www.python.org/download/releases/2.6/)), you will need the param_parser package:
8 |
9 | sudo easy_install argparse
10 |
11 | This script should not be run manually, instead, after building as usual:
12 |
13 | make deploy
14 |
15 | During the process, the disk image window will pop up briefly where the fancy
16 | settings are applied. This is normal, please do not interfere.
17 |
18 | When finished, it will produce `Bitcoin-Qt.dmg`.
19 |
20 |
--------------------------------------------------------------------------------
/contrib/macdeploy/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/contrib/macdeploy/background.png
--------------------------------------------------------------------------------
/contrib/macdeploy/background.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/contrib/macdeploy/background.psd
--------------------------------------------------------------------------------
/contrib/macdeploy/fancy.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | window_bounds
6 |
7 | 300
8 | 300
9 | 800
10 | 620
11 |
12 | background_picture
13 | background.png
14 | icon_size
15 | 96
16 | applications_symlink
17 |
18 | items_position
19 |
20 | Applications
21 |
22 | 370
23 | 156
24 |
25 | Bitcoin-Qt.app
26 |
27 | 128
28 | 156
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/contrib/pyminer/README.md:
--------------------------------------------------------------------------------
1 | ### PyMiner ###
2 |
3 | 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.
4 |
5 | ### Other Resources ###
6 |
7 | - [BitcoinTalk Thread](https://bitcointalk.org/index.php?topic=3546.0)
8 | - [Jgarzik Repo](https://github.com/jgarzik/pyminer)
--------------------------------------------------------------------------------
/contrib/pyminer/example-config.cfg:
--------------------------------------------------------------------------------
1 |
2 | #
3 | # RPC login details
4 | #
5 | host=127.0.0.1
6 | port=8332
7 |
8 | rpcuser=myusername
9 | rpcpass=mypass
10 |
11 |
12 | #
13 | # mining details
14 | #
15 |
16 | threads=4
17 |
18 | # periodic rate for requesting new work, if solution not found
19 | scantime=60
20 |
21 |
22 | #
23 | # misc.
24 | #
25 |
26 | # not really used right now
27 | logdir=/tmp/pyminer
28 |
29 | # set to 1, to enable hashmeter output
30 | hashmeter=0
31 |
32 |
33 |
--------------------------------------------------------------------------------
/contrib/qos/README.md:
--------------------------------------------------------------------------------
1 | ### Qos ###
2 |
3 | This is a Linux bash script that will set up tc to limit the outgoing bandwidth for connections to the Bitcoin network. It limits outbound TCP traffic with a source or destination port of 8333, but not if the destination IP is within a LAN (defined as 192.168.x.x).
4 |
5 | This means one can have an always-on bitcoind instance running, and another local bitcoind/bitcoin-qt instance which connects to this node and receives blocks from it.
6 |
--------------------------------------------------------------------------------
/contrib/qos/tc.sh:
--------------------------------------------------------------------------------
1 | #network interface on which to limit traffic
2 | IF="eth0"
3 | #limit of the network interface in question
4 | LINKCEIL="1gbit"
5 | #limit outbound Bitcoin protocol traffic to this rate
6 | LIMIT="160kbit"
7 | #defines the address space for which you wish to disable rate limiting
8 | LOCALNET="192.168.0.0/16"
9 |
10 | #delete existing rules
11 | tc qdisc del dev ${IF} root
12 |
13 | #add root class
14 | tc qdisc add dev ${IF} root handle 1: htb default 10
15 |
16 | #add parent class
17 | tc class add dev ${IF} parent 1: classid 1:1 htb rate ${LINKCEIL} ceil ${LINKCEIL}
18 |
19 | #add our two classes. one unlimited, another limited
20 | tc class add dev ${IF} parent 1:1 classid 1:10 htb rate ${LINKCEIL} ceil ${LINKCEIL} prio 0
21 | tc class add dev ${IF} parent 1:1 classid 1:11 htb rate ${LIMIT} ceil ${LIMIT} prio 1
22 |
23 | #add handles to our classes so packets marked with go into the class with "... handle fw ..."
24 | tc filter add dev ${IF} parent 1: protocol ip prio 1 handle 1 fw classid 1:10
25 | tc filter add dev ${IF} parent 1: protocol ip prio 2 handle 2 fw classid 1:11
26 |
27 | #delete any existing rules
28 | #disable for now
29 | #ret=0
30 | #while [ $ret -eq 0 ]; do
31 | # iptables -t mangle -D OUTPUT 1
32 | # ret=$?
33 | #done
34 |
35 | #limit outgoing traffic to and from port 8333. but not when dealing with a host on the local network
36 | # (defined by $LOCALNET)
37 | # --set-mark marks packages matching these criteria with the number "2"
38 | # these packages are filtered by the tc filter with "handle 2"
39 | # this filter sends the packages into the 1:11 class, and this class is limited to ${LIMIT}
40 | iptables -t mangle -A OUTPUT -p tcp -m tcp --dport 8333 ! -d ${LOCALNET} -j MARK --set-mark 0x2
41 | iptables -t mangle -A OUTPUT -p tcp -m tcp --sport 8333 ! -d ${LOCALNET} -j MARK --set-mark 0x2
42 |
--------------------------------------------------------------------------------
/contrib/qt_translations.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | # Helpful little script that spits out a comma-separated list of
4 | # language codes for Qt icons that should be included
5 | # in binary bitcoin distributions
6 |
7 | import glob
8 | import os
9 | import re
10 | import sys
11 |
12 | if len(sys.argv) != 3:
13 | sys.exit("Usage: %s $QTDIR/translations $BITCOINDIR/src/qt/locale"%sys.argv[0])
14 |
15 | d1 = sys.argv[1]
16 | d2 = sys.argv[2]
17 |
18 | l1 = set([ re.search(r'qt_(.*).qm', f).group(1) for f in glob.glob(os.path.join(d1, 'qt_*.qm')) ])
19 | l2 = set([ re.search(r'bitcoin_(.*).qm', f).group(1) for f in glob.glob(os.path.join(d2, 'bitcoin_*.qm')) ])
20 |
21 | print ",".join(sorted(l1.intersection(l2)))
22 |
23 |
--------------------------------------------------------------------------------
/contrib/seeds/README.md:
--------------------------------------------------------------------------------
1 | ### Seeds ###
2 |
3 | Utility to generate the pnSeed[] array that is compiled into the client
4 | (see [src/net.cpp](/src/net.cpp)).
5 |
6 | The 600 seeds compiled into the 0.8 release were created from sipa's DNS seed data, like this:
7 |
8 | curl -s http://bitcoin.sipa.be/seeds.txt | head -1000 | makeseeds.py
9 |
10 | The input to makeseeds.py is assumed to be approximately sorted from most-reliable to least-reliable,
11 | with IP:port first on each line (lines that don't match IPv4:port are ignored).
12 |
--------------------------------------------------------------------------------
/contrib/seeds/makeseeds.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | #
3 | # Generate pnSeed[] from Pieter's DNS seeder
4 | #
5 |
6 | NSEEDS=600
7 |
8 | import re
9 | import sys
10 | from subprocess import check_output
11 |
12 | def main():
13 | lines = sys.stdin.readlines()
14 |
15 | ips = []
16 | pattern = re.compile(r"^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3}):8333")
17 | for line in lines:
18 | m = pattern.match(line)
19 | if m is None:
20 | continue
21 | ip = 0
22 | for i in range(0,4):
23 | ip = ip + (int(m.group(i+1)) << (8*(i)))
24 | if ip == 0:
25 | continue
26 | ips.append(ip)
27 |
28 | for row in range(0, min(NSEEDS,len(ips)), 8):
29 | print " " + ", ".join([ "0x%08x"%i for i in ips[row:row+8] ]) + ","
30 |
31 | if __name__ == '__main__':
32 | main()
33 |
--------------------------------------------------------------------------------
/contrib/spendfrom/README.md:
--------------------------------------------------------------------------------
1 | ### SpendFrom ###
2 |
3 | Use the raw transactions API to send coins received on a particular
4 | address (or addresses).
5 |
6 | ### Usage: ###
7 | Depends on [jsonrpc](http://json-rpc.org/).
8 |
9 | spendfrom.py --from=FROMADDRESS1[,FROMADDRESS2] --to=TOADDRESS --amount=amount \
10 | --fee=fee --datadir=/path/to/.bitcoin --testnet --dry_run
11 |
12 | With no arguments, outputs a list of amounts associated with addresses.
13 |
14 | With arguments, sends coins received by the `FROMADDRESS` addresses to the `TOADDRESS`.
15 |
16 | ### Notes ###
17 |
18 | - You may explictly specify how much fee to pay (a fee more than 1% of the amount
19 | will fail, though, to prevent bitcoin-losing accidents). Spendfrom may fail if
20 | it thinks the transaction would never be confirmed (if the amount being sent is
21 | too small, or if the transaction is too many bytes for the fee).
22 |
23 | - If a change output needs to be created, the change will be sent to the last
24 | `FROMADDRESS` (if you specify just one `FROMADDRESS`, change will go back to it).
25 |
26 | - If `--datadir` is not specified, the default datadir is used.
27 |
28 | - The `--dry_run` option will just create and sign the the transaction and print
29 | the transaction data (as hexadecimal), instead of broadcasting it.
30 |
31 | - If the transaction is created and broadcast successfully, a transaction id
32 | is printed.
33 |
34 | - If this was a tool for end-users and not programmers, it would have much friendlier
35 | error-handling.
36 |
--------------------------------------------------------------------------------
/contrib/spendfrom/setup.py:
--------------------------------------------------------------------------------
1 | from distutils.core import setup
2 | setup(name='btcspendfrom',
3 | version='1.0',
4 | description='Command-line utility for bitcoin "coin control"',
5 | author='Gavin Andresen',
6 | author_email='gavin@bitcoinfoundation.org',
7 | requires=['jsonrpc'],
8 | scripts=['spendfrom.py'],
9 | )
10 |
--------------------------------------------------------------------------------
/contrib/test-patches/README.md:
--------------------------------------------------------------------------------
1 | ### Test Patches ###
2 |
3 | These patches are applied when the automated pull-tester
4 | tests each pull and when master is tested using jenkins.
5 | You can find more information about the tests run at
6 | [http://jenkins.bluematt.me/pull-tester/files/
7 | ](http://jenkins.bluematt.me/pull-tester/files/)
--------------------------------------------------------------------------------
/contrib/test-patches/temp-revert-2.patch:
--------------------------------------------------------------------------------
1 | commit cfae26916dba311f6f75d444301c1f9362267c3e
2 | Author: Matt Corallo
3 | Date: Sun Mar 24 20:45:50 2013 -0400
4 |
5 | Revert "Checkpoint at first block in 11 March chain fork"
6 |
7 | This reverts commit f817c496a1482d05b22c8e539de67f07db1c09d9.
8 |
9 | diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp
10 | index 62234b9..9b11f0b 100644
11 | --- a/src/checkpoints.cpp
12 | +++ b/src/checkpoints.cpp
13 | @@ -44,7 +44,6 @@ namespace Checkpoints
14 | (193000, uint256("0x000000000000059f452a5f7340de6682a977387c17010ff6e6c3bd83ca8b1317"))
15 | (210000, uint256("0x000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e"))
16 | (216116, uint256("0x00000000000001b4f4b433e81ee46494af945cf96014816a4e2370f11b23df4e"))
17 | - (225430, uint256("0x00000000000001c108384350f74090433e7fcf79a606b8e797f065b130575932"))
18 | ;
19 | static const CCheckpointData data = {
20 | &mapCheckpoints,
21 |
--------------------------------------------------------------------------------
/contrib/testgen/README.md:
--------------------------------------------------------------------------------
1 | ### TestGen ###
2 |
3 | Utilities to generate test vectors for the data-driven Bitcoin tests.
4 |
5 | Usage:
6 |
7 | gen_base58_test_vectors.py valid 50 > ../../src/test/data/base58_keys_valid.json
8 | gen_base58_test_vectors.py invalid 50 > ../../src/test/data/base58_keys_invalid.json
--------------------------------------------------------------------------------
/contrib/tidy_datadir.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if [ -d "$1" ]; then
4 | cd "$1"
5 | else
6 | echo "Usage: $0 " >&2
7 | echo "Removes obsolete Bitcoin database files" >&2
8 | exit 1
9 | fi
10 |
11 | LEVEL=0
12 | if [ -f wallet.dat -a -f addr.dat -a -f blkindex.dat -a -f blk0001.dat ]; then LEVEL=1; fi
13 | if [ -f wallet.dat -a -f peers.dat -a -f blkindex.dat -a -f blk0001.dat ]; then LEVEL=2; fi
14 | if [ -f wallet.dat -a -f peers.dat -a -f coins/CURRENT -a -f blktree/CURRENT -a -f blocks/blk00000.dat ]; then LEVEL=3; fi
15 | if [ -f wallet.dat -a -f peers.dat -a -f chainstate/CURRENT -a -f blocks/index/CURRENT -a -f blocks/blk00000.dat ]; then LEVEL=4; fi
16 |
17 | case $LEVEL in
18 | 0)
19 | echo "Error: no Bitcoin datadir detected."
20 | exit 1
21 | ;;
22 | 1)
23 | echo "Detected old Bitcoin datadir (before 0.7)."
24 | echo "Nothing to do."
25 | exit 0
26 | ;;
27 | 2)
28 | echo "Detected Bitcoin 0.7 datadir."
29 | ;;
30 | 3)
31 | echo "Detected Bitcoin pre-0.8 datadir."
32 | ;;
33 | 4)
34 | echo "Detected Bitcoin 0.8 datadir."
35 | ;;
36 | esac
37 |
38 | FILES=""
39 | DIRS=""
40 |
41 | if [ $LEVEL -ge 3 ]; then FILES=$(echo $FILES blk????.dat blkindex.dat); fi
42 | if [ $LEVEL -ge 2 ]; then FILES=$(echo $FILES addr.dat); fi
43 | if [ $LEVEL -ge 4 ]; then DIRS=$(echo $DIRS coins blktree); fi
44 |
45 | for FILE in $FILES; do
46 | if [ -f $FILE ]; then
47 | echo "Deleting: $FILE"
48 | rm -f $FILE
49 | fi
50 | done
51 |
52 | for DIR in $DIRS; do
53 | if [ -d $DIR ]; then
54 | echo "Deleting: $DIR/"
55 | rm -rf $DIR
56 | fi
57 | done
58 |
59 | echo "Done."
60 |
--------------------------------------------------------------------------------
/contrib/verifysfbinaries/README.md:
--------------------------------------------------------------------------------
1 | ### Verify SF Binaries ###
2 | This script attempts to download the signature file `SHA256SUMS.asc` from SourceForge.
3 |
4 | It first checks if the signature passes, and then downloads the files specified in the file, and checks if the hashes of these files match those that are specified in the signature file.
5 |
6 | The script returns 0 if everything passes the checks. It returns 1 if either the signature check or the hash check doesn't pass. If an error occurs the return value is 2.
--------------------------------------------------------------------------------
/contrib/wallettools/README.md:
--------------------------------------------------------------------------------
1 | ### Wallet Tools ###
2 | These are two simple python scripts which send the appropriate RPC commands to unlock a wallet and change a wallet password. **They are intended to prevent users from having to enter their password as a command-line argument which could then be stored in the console buffer/history in plaintext.**
3 |
4 | Both tools rely on bitcoin/bitcoind running with `server=1` and an `rpcuser` and `rpcpassword` set in `bitcoin.conf`. They can be easily modified for non-standard ports. [walletunlock.py](/contrib/wallettools/walletunlock.py) unlocks the wallet for 60 seconds by default, changeable in code, and both modules rely upon python-json-rpc.
5 |
--------------------------------------------------------------------------------
/contrib/wallettools/walletchangepass.py:
--------------------------------------------------------------------------------
1 | from jsonrpc import ServiceProxy
2 | access = ServiceProxy("http://127.0.0.1:8332")
3 | pwd = raw_input("Enter old wallet passphrase: ")
4 | pwd2 = raw_input("Enter new wallet passphrase: ")
5 | access.walletpassphrasechange(pwd, pwd2)
--------------------------------------------------------------------------------
/contrib/wallettools/walletunlock.py:
--------------------------------------------------------------------------------
1 | from jsonrpc import ServiceProxy
2 | access = ServiceProxy("http://127.0.0.1:8332")
3 | pwd = raw_input("Enter wallet passphrase: ")
4 | access.walletpassphrase(pwd, 60)
--------------------------------------------------------------------------------
/doc/README_windows.txt:
--------------------------------------------------------------------------------
1 | Bitcoin 0.8.2 BETA
2 |
3 | Copyright (c) 2009-2013 Bitcoin Developers
4 | Distributed under the MIT/X11 software license, see the accompanying
5 | file COPYING or http://www.opensource.org/licenses/mit-license.php.
6 | This product includes software developed by the OpenSSL Project for use in
7 | the OpenSSL Toolkit (http://www.openssl.org/). This product includes
8 | cryptographic software written by Eric Young (eay@cryptsoft.com).
9 |
10 |
11 | Intro
12 | -----
13 | Bitcoin is a free open source peer-to-peer electronic cash system that is
14 | completely decentralized, without the need for a central server or trusted
15 | parties. Users hold the crypto keys to their own money and transact directly
16 | with each other, with the help of a P2P network to check for double-spending.
17 |
18 |
19 | Setup
20 | -----
21 | Unpack the files into a directory and run bitcoin-qt.exe.
22 |
23 | Bitcoin-Qt is the original Bitcoin client and it builds the backbone of the network.
24 | However, it downloads and stores the entire history of Bitcoin transactions;
25 | depending on the speed of your computer and network connection, the synchronization
26 | process can take anywhere from a few hours to a day or more.
27 |
28 | See the bitcoin wiki at:
29 | https://en.bitcoin.it/wiki/Main_Page
30 | for more help and information.
31 |
--------------------------------------------------------------------------------
/doc/bitcoin_logo_doxygen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/doc/bitcoin_logo_doxygen.png
--------------------------------------------------------------------------------
/doc/files.md:
--------------------------------------------------------------------------------
1 | Used in 0.8.0
2 | ---------------------
3 | * wallet.dat: personal wallet (BDB) with keys and transactions
4 | * peers.dat: peer IP address database (custom format); since 0.7.0
5 | * blocks/blk000??.dat: block data (custom, 128 MiB per file); since 0.8.0
6 | * blocks/rev000??.dat; block undo data (custom); since 0.8.0 (format changed since pre-0.8)
7 | * blocks/index/*; block index (LevelDB); since 0.8.0
8 | * chainstate/*; block chain state database (LevelDB); since 0.8.0
9 | * database/*: BDB database environment; only used for wallet since 0.8.0
10 |
11 | Only used in pre-0.8.0
12 | ---------------------
13 | * blktree/*; block chain index (LevelDB); since pre-0.8, replaced by blocks/index/* in 0.8.0
14 | * coins/*; unspent transaction output database (LevelDB); since pre-0.8, replaced by chainstate/* in 0.8.0
15 |
16 | Only used before 0.8.0
17 | ---------------------
18 | * blkindex.dat: block chain index database (BDB); replaced by {chainstate/*,blocks/index/*,blocks/rev000??.dat} in 0.8.0
19 | * blk000?.dat: block data (custom, 2 GiB per file); replaced by blocks/blk000??.dat in 0.8.0
20 |
21 | Only used before 0.7.0
22 | ---------------------
23 | * addr.dat: peer IP address database (BDB); replaced by peers.dat in 0.7.0
24 |
--------------------------------------------------------------------------------
/doc/release-notes.md:
--------------------------------------------------------------------------------
1 | (note: this is a temporary file, to be added-to by anybody, and deleted at
2 | release time)
3 |
4 |
--------------------------------------------------------------------------------
/doc/unit-tests.md:
--------------------------------------------------------------------------------
1 | Compiling/running unit tests
2 | ------------------------------------
3 |
4 | Unit tests will be automatically compiled if dependencies were met in configure
5 | and tests weren't explicitly disabled.
6 |
7 | After configuring, they can be run with 'make check'.
8 |
9 | To run the bitcoind tests manually, launch src/test/test_bitcoin .
10 |
11 | To add more bitcoind tests, add `BOOST_AUTO_TEST_CASE` functions to the existing
12 | .cpp files in the test/ directory or add new .cpp files that
13 | implement new BOOST_AUTO_TEST_SUITE sections.
14 |
15 | To run the bitcoin-qt tests manualy, launch src/qt/test/bitcoin-qt_test
16 |
17 | To add more bitcoin-qt tests, add them to the `src/qt/test/` directory and
18 | the `src/qt/test/test_main.cpp` file.
19 |
--------------------------------------------------------------------------------
/qa/pull-tester/pull-tester.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # Helper script for pull-tester.
3 | #Param 1: path to bitcoin srcroot
4 | #Param ...: arguments for build-test.sh
5 |
6 | if [ $# -lt 1 ]; then
7 | echo "usage: $0 [bitcoin srcroot] build-test arguments..."
8 | fi
9 |
10 | cd $1
11 | shift
12 |
13 | ./autogen.sh
14 | ./configure
15 | ./qa/pull-tester/build-tests.sh "$@"
16 |
--------------------------------------------------------------------------------
/qa/pull-tester/run-bitcoind-for-test.sh.in:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | DATADIR="@abs_top_builddir@/.bitcoin"
3 | rm -rf "$DATADIR"
4 | mkdir -p "$DATADIR"/regtest
5 | touch "$DATADIR/regtest/debug.log"
6 | tail -q -n 1 -F "$DATADIR/regtest/debug.log" | grep -m 1 -q "Done loading" &
7 | WAITER=$!
8 | PORT=`expr $BASHPID + 10000`
9 | "@abs_top_builddir@/src/bitcoind@EXEEXT@" -connect=0.0.0.0 -datadir="$DATADIR" -rpcuser=user -rpcpassword=pass -listen -keypool=3 -debug -debug=net -logtimestamps -port=$PORT -regtest -rpcport=`expr $PORT + 1` &
10 | BITCOIND=$!
11 |
12 | #Install a watchdog.
13 | (sleep 10 && kill -0 $WAITER 2>/dev/null && kill -9 $BITCOIND $$)&
14 | wait $WAITER
15 |
16 | if [ -n "$TIMEOUT" ]; then
17 | timeout "$TIMEOUT"s "$@" $PORT
18 | RETURN=$?
19 | else
20 | "$@" $PORT
21 | RETURN=$?
22 | fi
23 |
24 | (sleep 15 && kill -0 $BITCOIND 2>/dev/null && kill -9 $BITCOIND $$)&
25 | kill $BITCOIND && wait $BITCOIND
26 |
27 | # timeout returns 124 on timeout, otherwise the return value of the child
28 | exit $RETURN
29 |
--------------------------------------------------------------------------------
/share/genbuild.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | if [ $# -gt 1 ]; then
3 | cd "$2"
4 | fi
5 | if [ $# -gt 0 ]; then
6 | FILE="$1"
7 | shift
8 | if [ -f "$FILE" ]; then
9 | INFO="$(head -n 1 "$FILE")"
10 | fi
11 | else
12 | echo "Usage: $0 "
13 | exit 1
14 | fi
15 |
16 | if [ -e "$(which git)" -a -d ".git" ]; then
17 | # clean 'dirty' status of touched files that haven't been modified
18 | git diff >/dev/null 2>/dev/null
19 |
20 | # get a string like "v0.6.0-66-g59887e8-dirty"
21 | DESC="$(git describe --dirty 2>/dev/null)"
22 |
23 | # get a string like "2012-04-10 16:27:19 +0200"
24 | TIME="$(git log -n 1 --format="%ci")"
25 | fi
26 |
27 | if [ -n "$DESC" ]; then
28 | NEWINFO="#define BUILD_DESC \"$DESC\""
29 | else
30 | NEWINFO="// No build information available"
31 | fi
32 |
33 | # only update build.h if necessary
34 | if [ "$INFO" != "$NEWINFO" ]; then
35 | echo "$NEWINFO" >"$FILE"
36 | echo "#define BUILD_DATE \"$TIME\"" >>"$FILE"
37 | fi
38 |
--------------------------------------------------------------------------------
/share/pixmaps/addressbook16.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/addressbook16.bmp
--------------------------------------------------------------------------------
/share/pixmaps/addressbook16mask.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/addressbook16mask.bmp
--------------------------------------------------------------------------------
/share/pixmaps/addressbook20.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/addressbook20.bmp
--------------------------------------------------------------------------------
/share/pixmaps/addressbook20mask.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/addressbook20mask.bmp
--------------------------------------------------------------------------------
/share/pixmaps/bitcoin-bc.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/bitcoin-bc.ico
--------------------------------------------------------------------------------
/share/pixmaps/bitcoin.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/bitcoin.ico
--------------------------------------------------------------------------------
/share/pixmaps/bitcoin128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/bitcoin128.png
--------------------------------------------------------------------------------
/share/pixmaps/bitcoin16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/bitcoin16.png
--------------------------------------------------------------------------------
/share/pixmaps/bitcoin256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/bitcoin256.png
--------------------------------------------------------------------------------
/share/pixmaps/bitcoin32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/bitcoin32.png
--------------------------------------------------------------------------------
/share/pixmaps/bitcoin64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/bitcoin64.png
--------------------------------------------------------------------------------
/share/pixmaps/check.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/check.ico
--------------------------------------------------------------------------------
/share/pixmaps/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/favicon.ico
--------------------------------------------------------------------------------
/share/pixmaps/nsis-header.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/nsis-header.bmp
--------------------------------------------------------------------------------
/share/pixmaps/nsis-wizard.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/nsis-wizard.bmp
--------------------------------------------------------------------------------
/share/pixmaps/send16.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/send16.bmp
--------------------------------------------------------------------------------
/share/pixmaps/send16mask.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/send16mask.bmp
--------------------------------------------------------------------------------
/share/pixmaps/send16masknoshadow.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/send16masknoshadow.bmp
--------------------------------------------------------------------------------
/share/pixmaps/send20.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/send20.bmp
--------------------------------------------------------------------------------
/share/pixmaps/send20mask.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/pixmaps/send20mask.bmp
--------------------------------------------------------------------------------
/share/qt/clean_mac_info_plist.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # Jonas Schnelli, 2013
3 | # make sure the Bitcoin-Qt.app contains the right plist (including the right version)
4 | # fix made because of serval bugs in Qt mac deployment (https://bugreports.qt-project.org/browse/QTBUG-21267)
5 |
6 | from string import Template
7 | from datetime import date
8 |
9 | bitcoinDir = "./";
10 |
11 | inFile = bitcoinDir+"/share/qt/Info.plist"
12 | outFile = "Bitcoin-Qt.app/Contents/Info.plist"
13 | version = "unknown";
14 |
15 | fileForGrabbingVersion = bitcoinDir+"bitcoin-qt.pro"
16 | for line in open(fileForGrabbingVersion):
17 | lineArr = line.replace(" ", "").split("=");
18 | if lineArr[0].startswith("VERSION"):
19 | version = lineArr[1].replace("\n", "");
20 |
21 | fIn = open(inFile, "r")
22 | fileContent = fIn.read()
23 | s = Template(fileContent)
24 | newFileContent = s.substitute(VERSION=version,YEAR=date.today().year)
25 |
26 | fOut = open(outFile, "w");
27 | fOut.write(newFileContent);
28 |
29 | print "Info.plist fresh created"
--------------------------------------------------------------------------------
/share/qt/img/reload.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mikehearn/bitcoin/006b893cf3d4e25526811b7ef86928ab229d7497/share/qt/img/reload.xcf
--------------------------------------------------------------------------------
/share/qt/make_spinner.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | # W.J. van der Laan, 2011
3 | # Make spinning .mng animation from a .png
4 | # Requires imagemagick 6.7+
5 | from __future__ import division
6 | from os import path
7 | from PIL import Image
8 | from subprocess import Popen
9 |
10 | SRC='img/reload_scaled.png'
11 | DST='../../src/qt/res/movies/update_spinner.mng'
12 | TMPDIR='/tmp'
13 | TMPNAME='tmp-%03i.png'
14 | NUMFRAMES=35
15 | FRAMERATE=10.0
16 | CONVERT='convert'
17 | CLOCKWISE=True
18 | DSIZE=(16,16)
19 |
20 | im_src = Image.open(SRC)
21 |
22 | if CLOCKWISE:
23 | im_src = im_src.transpose(Image.FLIP_LEFT_RIGHT)
24 |
25 | def frame_to_filename(frame):
26 | return path.join(TMPDIR, TMPNAME % frame)
27 |
28 | frame_files = []
29 | for frame in xrange(NUMFRAMES):
30 | rotation = (frame + 0.5) / NUMFRAMES * 360.0
31 | if CLOCKWISE:
32 | rotation = -rotation
33 | im_new = im_src.rotate(rotation, Image.BICUBIC)
34 | im_new.thumbnail(DSIZE, Image.ANTIALIAS)
35 | outfile = frame_to_filename(frame)
36 | im_new.save(outfile, 'png')
37 | frame_files.append(outfile)
38 |
39 | p = Popen([CONVERT, "-delay", str(FRAMERATE), "-dispose", "2"] + frame_files + [DST])
40 | p.communicate()
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/share/qt/make_windows_icon.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # create multiresolution windows icon
3 | ICON_SRC=../../src/qt/res/icons/bitcoin.png
4 | ICON_DST=../../src/qt/res/icons/bitcoin.ico
5 | convert ${ICON_SRC} -resize 16x16 bitcoin-16.png
6 | convert ${ICON_SRC} -resize 32x32 bitcoin-32.png
7 | convert ${ICON_SRC} -resize 48x48 bitcoin-48.png
8 | convert bitcoin-16.png bitcoin-32.png bitcoin-48.png ${ICON_DST}
9 |
10 |
--------------------------------------------------------------------------------
/share/qt/protobuf.pri:
--------------------------------------------------------------------------------
1 | # Based on: http://code.google.com/p/ostinato/source/browse/protobuf.pri
2 | #
3 | # Qt qmake integration with Google Protocol Buffers compiler protoc
4 | #
5 | # To compile protocol buffers with qt qmake, specify PROTOS variable and
6 | # include this file
7 | #
8 | # Example:
9 | # PROTOS = a.proto b.proto
10 | # include(protobuf.pri)
11 | #
12 | # Set PROTO_PATH if you need to set the protoc --proto_path search path
13 | # Set PROTOC to the path to the protoc compiler if it is not in your $PATH
14 | #
15 |
16 | isEmpty(PROTO_DIR):PROTO_DIR = .
17 | isEmpty(PROTOC):PROTOC = protoc
18 |
19 | PROTOPATHS =
20 | for(p, PROTO_PATH):PROTOPATHS += --proto_path=$${p}
21 |
22 | protobuf_decl.name = protobuf header
23 | protobuf_decl.input = PROTOS
24 | protobuf_decl.output = $${PROTO_DIR}/${QMAKE_FILE_BASE}.pb.h
25 | protobuf_decl.commands = $${PROTOC} --cpp_out="$${PROTO_DIR}" $${PROTOPATHS} --proto_path=${QMAKE_FILE_IN_PATH} ${QMAKE_FILE_NAME}
26 | protobuf_decl.variable_out = GENERATED_FILES
27 | QMAKE_EXTRA_COMPILERS += protobuf_decl
28 |
29 | protobuf_impl.name = protobuf implementation
30 | protobuf_impl.input = PROTOS
31 | protobuf_impl.output = $${PROTO_DIR}/${QMAKE_FILE_BASE}.pb.cc
32 | protobuf_impl.depends = $${PROTO_DIR}/${QMAKE_FILE_BASE}.pb.h
33 | protobuf_impl.commands = $$escape_expand(\\n)
34 | protobuf_impl.variable_out = GENERATED_SOURCES
35 | QMAKE_EXTRA_COMPILERS += protobuf_impl
36 |
--------------------------------------------------------------------------------
/share/ui.rc:
--------------------------------------------------------------------------------
1 | bitcoin ICON "pixmaps/bitcoin.ico"
2 |
3 | #include "wx/msw/wx.rc"
4 |
5 | check ICON "pixmaps/check.ico"
6 | send16 BITMAP "pixmaps/send16.bmp"
7 | send16mask BITMAP "pixmaps/send16mask.bmp"
8 | send16masknoshadow BITMAP "pixmaps/send16masknoshadow.bmp"
9 | send20 BITMAP "pixmaps/send20.bmp"
10 | send20mask BITMAP "pixmaps/send20mask.bmp"
11 | addressbook16 BITMAP "pixmaps/addressbook16.bmp"
12 | addressbook16mask BITMAP "pixmaps/addressbook16mask.bmp"
13 | addressbook20 BITMAP "pixmaps/addressbook20.bmp"
14 | addressbook20mask BITMAP "pixmaps/addressbook20mask.bmp"
15 | favicon ICON "pixmaps/favicon.ico"
16 |
--------------------------------------------------------------------------------
/src/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | test_bitcoin
3 |
4 |
--------------------------------------------------------------------------------
/src/allocators.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2009-2013 The Bitcoin developers
2 | // Distributed under the MIT/X11 software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #include "allocators.h"
6 |
7 | #ifdef WIN32
8 | #ifdef _WIN32_WINNT
9 | #undef _WIN32_WINNT
10 | #endif
11 | #define _WIN32_WINNT 0x0501
12 | #define WIN32_LEAN_AND_MEAN 1
13 | #ifndef NOMINMAX
14 | #define NOMINMAX
15 | #endif
16 | #include
17 | // This is used to attempt to keep keying material out of swap
18 | // Note that VirtualLock does not provide this as a guarantee on Windows,
19 | // but, in practice, memory that has been VirtualLock'd almost never gets written to
20 | // the pagefile except in rare circumstances where memory is extremely low.
21 | #else
22 | #include
23 | #include // for PAGESIZE
24 | #include // for sysconf
25 | #endif
26 |
27 | LockedPageManager* LockedPageManager::_instance = NULL;
28 | boost::once_flag LockedPageManager::init_flag = BOOST_ONCE_INIT;
29 |
30 | /** Determine system page size in bytes */
31 | static inline size_t GetSystemPageSize()
32 | {
33 | size_t page_size;
34 | #if defined(WIN32)
35 | SYSTEM_INFO sSysInfo;
36 | GetSystemInfo(&sSysInfo);
37 | page_size = sSysInfo.dwPageSize;
38 | #elif defined(PAGESIZE) // defined in limits.h
39 | page_size = PAGESIZE;
40 | #else // assume some POSIX OS
41 | page_size = sysconf(_SC_PAGESIZE);
42 | #endif
43 | return page_size;
44 | }
45 |
46 | bool MemoryPageLocker::Lock(const void *addr, size_t len)
47 | {
48 | #ifdef WIN32
49 | return VirtualLock(const_cast(addr), len);
50 | #else
51 | return mlock(addr, len) == 0;
52 | #endif
53 | }
54 |
55 | bool MemoryPageLocker::Unlock(const void *addr, size_t len)
56 | {
57 | #ifdef WIN32
58 | return VirtualUnlock(const_cast(addr), len);
59 | #else
60 | return munlock(addr, len) == 0;
61 | #endif
62 | }
63 |
64 | LockedPageManager::LockedPageManager() : LockedPageManagerBase(GetSystemPageSize())
65 | {
66 | }
67 |
68 |
--------------------------------------------------------------------------------
/src/bitcoin-cli-res.rc:
--------------------------------------------------------------------------------
1 | #include // needed for VERSIONINFO
2 | #include "clientversion.h" // holds the needed client version information
3 |
4 | #define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_REVISION,CLIENT_VERSION_BUILD
5 | #define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_REVISION) "." STRINGIZE(CLIENT_VERSION_BUILD)
6 | #define VER_FILEVERSION VER_PRODUCTVERSION
7 | #define VER_FILEVERSION_STR VER_PRODUCTVERSION_STR
8 | #define COPYRIGHT_STR "2009-" STRINGIZE(COPYRIGHT_YEAR) " The Bitcoin developers"
9 |
10 | VS_VERSION_INFO VERSIONINFO
11 | FILEVERSION VER_FILEVERSION
12 | PRODUCTVERSION VER_PRODUCTVERSION
13 | FILEOS VOS_NT_WINDOWS32
14 | FILETYPE VFT_APP
15 | BEGIN
16 | BLOCK "StringFileInfo"
17 | BEGIN
18 | BLOCK "040904E4" // U.S. English - multilingual (hex)
19 | BEGIN
20 | VALUE "CompanyName", "Bitcoin"
21 | VALUE "FileDescription", "Bitcoin-cli (OSS RPC client for Bitcoin)"
22 | VALUE "FileVersion", VER_FILEVERSION_STR
23 | VALUE "InternalName", "bitcoin-cli"
24 | VALUE "LegalCopyright", COPYRIGHT_STR
25 | VALUE "LegalTrademarks1", "Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
26 | VALUE "OriginalFilename", "bitcoin-cli.exe"
27 | VALUE "ProductName", "Bitcoin-cli"
28 | VALUE "ProductVersion", VER_PRODUCTVERSION_STR
29 | END
30 | END
31 |
32 | BLOCK "VarFileInfo"
33 | BEGIN
34 | VALUE "Translation", 0x0, 1252 // language neutral - multilingual (decimal)
35 | END
36 | END
37 |
--------------------------------------------------------------------------------
/src/bitcoind-res.rc:
--------------------------------------------------------------------------------
1 | #include // needed for VERSIONINFO
2 | #include "clientversion.h" // holds the needed client version information
3 |
4 | #define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_REVISION,CLIENT_VERSION_BUILD
5 | #define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_REVISION) "." STRINGIZE(CLIENT_VERSION_BUILD)
6 | #define VER_FILEVERSION VER_PRODUCTVERSION
7 | #define VER_FILEVERSION_STR VER_PRODUCTVERSION_STR
8 | #define COPYRIGHT_STR "2009-" STRINGIZE(COPYRIGHT_YEAR) " The Bitcoin developers"
9 |
10 | VS_VERSION_INFO VERSIONINFO
11 | FILEVERSION VER_FILEVERSION
12 | PRODUCTVERSION VER_PRODUCTVERSION
13 | FILEOS VOS_NT_WINDOWS32
14 | FILETYPE VFT_APP
15 | BEGIN
16 | BLOCK "StringFileInfo"
17 | BEGIN
18 | BLOCK "040904E4" // U.S. English - multilingual (hex)
19 | BEGIN
20 | VALUE "CompanyName", "Bitcoin"
21 | VALUE "FileDescription", "Bitcoind (OSS daemon/client for Bitcoin)"
22 | VALUE "FileVersion", VER_FILEVERSION_STR
23 | VALUE "InternalName", "bitcoind"
24 | VALUE "LegalCopyright", COPYRIGHT_STR
25 | VALUE "LegalTrademarks1", "Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
26 | VALUE "OriginalFilename", "bitcoind.exe"
27 | VALUE "ProductName", "Bitcoind"
28 | VALUE "ProductVersion", VER_PRODUCTVERSION_STR
29 | END
30 | END
31 |
32 | BLOCK "VarFileInfo"
33 | BEGIN
34 | VALUE "Translation", 0x0, 1252 // language neutral - multilingual (decimal)
35 | END
36 | END
37 |
--------------------------------------------------------------------------------
/src/checkpoints.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2009-2013 The Bitcoin developers
2 | // Distributed under the MIT/X11 software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #ifndef BITCOIN_CHECKPOINT_H
6 | #define BITCOIN_CHECKPOINT_H
7 |
8 | #include