├── .gitattributes
├── .github
└── ISSUE_TEMPLATE.md
├── .gitignore
├── .travis.yml_not_used
├── CONTRIBUTING.md
├── COPYING
├── INSTALL
├── INSTALL.md
├── Makefile.am
├── README.md
├── autogen.sh
├── build-aux
└── 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_cxx_compile_stdcxx.m4
│ ├── ax_gcc_func_attribute.m4
│ ├── ax_pthread.m4
│ ├── bitcoin_find_bdb48.m4
│ ├── bitcoin_qt.m4
│ └── bitcoin_subdir_to_include.m4
├── configure.ac
├── contrib
├── README.md
├── bitrpc
│ ├── README.md
│ └── bitrpc.py
├── debian
│ ├── README.md
│ ├── changelog
│ ├── compat
│ ├── control
│ ├── copyright
│ ├── examples
│ │ └── pivx.conf
│ ├── gbp.conf
│ ├── manpages
│ │ ├── pivx-qt.1
│ │ ├── pivx.conf.5
│ │ └── pivxd.1
│ ├── patches
│ │ ├── README
│ │ └── series
│ ├── pivx-qt.desktop
│ ├── pivx-qt.install
│ ├── pivx-qt.lintian-overrides
│ ├── pivx-qt.protocol
│ ├── pivxd.bash-completion
│ ├── pivxd.examples
│ ├── pivxd.install
│ ├── pivxd.lintian-overrides
│ ├── pivxd.manpages
│ ├── rules
│ ├── source
│ │ └── format
│ └── watch
├── devtools
│ ├── README.md
│ ├── check-doc.py
│ ├── fix-copyright-headers.py
│ ├── github-merge.py
│ ├── logprint-scanner.py
│ ├── split-debug.sh.in
│ ├── symbol-check.py
│ └── update-translations.py
├── gitian-build.py
├── gitian-build.sh
├── gitian-descriptors
│ ├── gitian-linux.yml
│ ├── gitian-osx-signer.yml
│ ├── gitian-osx.yml
│ ├── gitian-win-signer.yml
│ ├── gitian-win.yml
│ └── v2.1.5
│ │ ├── README.md
│ │ ├── gitian-linux.yml
│ │ ├── gitian-osx-signer.yml
│ │ ├── gitian-osx.yml
│ │ ├── gitian-win-signer.yml
│ │ └── gitian-win.yml
├── linearize
│ ├── README.md
│ ├── example-linearize.cfg
│ ├── linearize-data.py
│ └── linearize-hashes.py
├── macdeploy
│ ├── LICENSE
│ ├── README.md
│ ├── background.svg
│ ├── custom_dsstore.py
│ ├── detached-sig-apply.sh
│ ├── detached-sig-create.sh
│ ├── extract-osx-sdk.sh
│ ├── fancy.plist
│ └── macdeployqtplus
├── pivx-qt.pro
├── pivxd.bash-completion
├── qos
│ ├── README.md
│ ├── bitcoin2-qt.pro
│ ├── bitcoin2d.bash-completion
│ ├── bitrpc
│ │ ├── README.md
│ │ └── bitrpc.py
│ ├── debian
│ │ ├── README.md
│ │ ├── bitcoin2-qt.desktop
│ │ ├── bitcoin2-qt.install
│ │ ├── bitcoin2-qt.lintian-overrides
│ │ ├── bitcoin2-qt.protocol
│ │ ├── bitcoin2d.bash-completion
│ │ ├── bitcoin2d.examples
│ │ ├── bitcoin2d.install
│ │ ├── bitcoin2d.lintian-overrides
│ │ ├── bitcoin2d.manpages
│ │ ├── changelog
│ │ ├── compat
│ │ ├── control
│ │ ├── copyright
│ │ ├── examples
│ │ │ └── bitcoin2.conf
│ │ ├── gbp.conf
│ │ ├── manpages
│ │ │ ├── bitcoin2-qt.1
│ │ │ ├── bitcoin2.conf.5
│ │ │ └── bitcoin2d.1
│ │ ├── patches
│ │ │ ├── README
│ │ │ └── series
│ │ ├── rules
│ │ ├── source
│ │ │ └── format
│ │ └── watch
│ ├── devtools
│ │ ├── README.md
│ │ ├── check-doc.py
│ │ ├── fix-copyright-headers.py
│ │ ├── github-merge.py
│ │ ├── logprint-scanner.py
│ │ ├── split-debug.sh.in
│ │ ├── symbol-check.py
│ │ └── update-translations.py
│ ├── gitian-build.sh
│ ├── gitian-descriptors
│ │ ├── README.md
│ │ ├── gitian-linux.yml
│ │ ├── gitian-osx-signer.yml
│ │ ├── gitian-osx.yml
│ │ ├── gitian-win-signer.yml
│ │ └── gitian-win.yml
│ ├── init
│ │ ├── README.md
│ │ ├── bitcoin2d.conf
│ │ ├── bitcoin2d.init
│ │ ├── bitcoin2d.openrc
│ │ ├── bitcoin2d.openrcconf
│ │ └── bitcoin2d.service
│ ├── linearize
│ │ ├── README.md
│ │ ├── example-linearize.cfg
│ │ ├── linearize-data.py
│ │ └── linearize-hashes.py
│ ├── macdeploy
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── background.svg
│ │ ├── custom_dsstore.py
│ │ ├── detached-sig-apply.sh
│ │ ├── detached-sig-create.sh
│ │ ├── fancy.plist
│ │ └── macdeployqtplus
│ ├── qos
│ │ ├── README.md
│ │ └── tc.sh
│ ├── qt_translations.py
│ ├── seeds
│ │ ├── README.md
│ │ ├── generate-seeds.py
│ │ └── makeseeds.py
│ ├── spendfrom
│ │ ├── README.md
│ │ ├── setup.py
│ │ └── spendfrom.py
│ ├── tc.sh
│ ├── test-patches
│ │ └── README.md
│ ├── testgen
│ │ ├── README.md
│ │ ├── base58.py
│ │ └── gen_base58_test_vectors.py
│ ├── tidy_datadir.sh
│ ├── verifysfbinaries
│ │ ├── README.md
│ │ └── verify.sh
│ └── zmq
│ │ └── zmq_sub.py
├── qt_translations.py
├── seeds
│ ├── README.md
│ ├── generate-seeds.py
│ └── makeseeds.py
├── spendfrom
│ ├── README.md
│ ├── setup.py
│ └── spendfrom.py
├── test-patches
│ └── README.md
├── testgen
│ ├── README.md
│ ├── base58.py
│ └── gen_base58_test_vectors.py
├── tidy_datadir.sh
├── verifysfbinaries
│ ├── README.md
│ └── verify.sh
└── zmq
│ └── zmq_sub.py
├── depends
├── .gitignore
├── Makefile
├── README.md
├── builders
│ ├── darwin.mk
│ ├── default.mk
│ └── linux.mk
├── config.guess
├── config.site.in
├── config.sub
├── description.md
├── funcs.mk
├── hosts
│ ├── darwin.mk
│ ├── default.mk
│ ├── linux.mk
│ └── mingw32.mk
├── packages.md
├── packages
│ ├── bdb.mk
│ ├── boost.mk
│ ├── dbus.mk
│ ├── expat.mk
│ ├── fontconfig.mk
│ ├── freetype.mk
│ ├── libX11.mk
│ ├── libXau.mk
│ ├── libXext.mk
│ ├── libevent.mk
│ ├── libxcb.mk
│ ├── miniupnpc.mk
│ ├── native_biplist.mk
│ ├── native_cctools.mk
│ ├── native_cdrkit.mk
│ ├── native_ds_store.mk
│ ├── native_libdmg-hfsplus.mk
│ ├── native_mac_alias.mk
│ ├── native_protobuf.mk
│ ├── openssl.mk
│ ├── packages.mk
│ ├── protobuf.mk
│ ├── qrencode.mk
│ ├── qt.mk
│ ├── xcb_proto.mk
│ ├── xextproto.mk
│ ├── xproto.mk
│ ├── xtrans.mk
│ ├── zeromq.mk
│ └── zlib.mk
└── patches
│ ├── native_cdrkit
│ └── cdrkit-deterministic.patch
│ ├── qt
│ ├── fix_configure_mac.patch
│ ├── fix_no_printer.patch
│ ├── fix_qt_pkgconfig.patch
│ ├── fix_rcc_determinism.patch
│ ├── fix_riscv64_arch.patch
│ ├── mac-qmake.conf
│ ├── no-xlib.patchNOUSE
│ └── xkb-default.patch
│ └── zeromq
│ ├── 0001-fix-build-with-older-mingw64.patch
│ └── 0002-disable-pthread_set_name_np.patch
├── doc
├── Doxyfile.in
├── How_to_set_up_your_Bitcoin_2_Staking_Raspberry_Pi.pdf
├── README.md
├── README_osx.md
├── README_windows.txt
├── REST-interface.md
├── assets-attribution.md
├── bitcoin_logo_doxygen.png
├── build-osx.md
├── build-unix-quick-guide.md
├── build-unix.md
├── build-windows.md
├── developer-notes.md
├── dnsseed-policy.md
├── files.md
├── gitian-building.md
├── gitian-building
│ ├── create_vm_file_location_size.png
│ ├── create_vm_hard_drive.png
│ ├── create_vm_hard_drive_file_type.png
│ ├── create_vm_memsize.png
│ ├── create_vm_page1.png
│ ├── create_vm_storage_physical_hard_drive.png
│ ├── debian_install_10_configure_clock.png
│ ├── debian_install_11_partition_disks.png
│ ├── debian_install_12_choose_disk.png
│ ├── debian_install_13_partition_scheme.png
│ ├── debian_install_14_finish.png
│ ├── debian_install_15_write_changes.png
│ ├── debian_install_16_choose_a_mirror.png
│ ├── debian_install_17_choose_a_mirror2.png
│ ├── debian_install_18_proxy_settings.png
│ ├── debian_install_19_software_selection.png
│ ├── debian_install_1_boot_menu.png
│ ├── debian_install_20_install_grub.png
│ ├── debian_install_21_finish_installation.png
│ ├── debian_install_2_select_a_language.png
│ ├── debian_install_3_select_location.png
│ ├── debian_install_4_configure_keyboard.png
│ ├── debian_install_5_configure_the_network.png
│ ├── debian_install_6_domain_name.png
│ ├── debian_install_6a_set_up_root_password.png
│ ├── debian_install_7_set_up_user_fullname.png
│ ├── debian_install_8_set_up_username.png
│ ├── debian_install_9_user_password.png
│ ├── network_settings.png
│ ├── port_forwarding_rules.png
│ └── select_startup_disk.png
├── guide-startmany.md
├── init.md
├── masternode_conf.md
├── multiwallet-qt.md
├── release-process.md
├── swifttx.md
├── tor.md
├── translation_process.md
├── travis-ci.txt
├── unit-tests.md
└── zmq.md
├── qa
├── pull-tester
│ ├── rpc-tests.sh
│ ├── run-bitcoin-cli
│ ├── run-bitcoind-for-test.sh.in
│ └── tests-config.sh.in
└── rpc-tests
│ ├── README.md
│ ├── bipdersig.py
│ ├── conflictedbalance.sh
│ ├── forknotify.py
│ ├── getblocktemplate_longpoll.py
│ ├── getblocktemplate_proposals.py
│ ├── getchaintips.py
│ ├── httpbasics.py
│ ├── invalidateblock.py
│ ├── keypool.py
│ ├── listtransactions.py
│ ├── mempool_coinbase_spends.py
│ ├── mempool_resurrect_test.py
│ ├── mempool_spendcoinbase.py
│ ├── netutil.py
│ ├── proxy_test.py
│ ├── python-bitcoinrpc
│ ├── bitcoinrpc
│ │ ├── __init__.py
│ │ └── authproxy.py
│ └── setup.py
│ ├── receivedby.py
│ ├── reindex.py
│ ├── rest.py
│ ├── rpcbind_test.py
│ ├── send.sh
│ ├── smartfees.py
│ ├── socks5.py
│ ├── test_framework.py
│ ├── txn_doublespend.py
│ ├── util.py
│ ├── util.sh
│ ├── wallet.py
│ ├── walletbackup.py
│ ├── zapwallettxes.sh
│ └── zmq_test.py
├── share
├── btc2_raspi_install.sh
├── 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
│ ├── bitcoin48.png
│ ├── 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
│ ├── extract_strings_qt.py
│ ├── img
│ │ ├── reload.png
│ │ └── reload.xcf
│ ├── make_spinner.py
│ ├── make_windows_icon.sh
│ └── protobuf.pri
├── setup.nsi.in
└── ui.rc
└── src
├── .clang-format
├── Makefile.am
├── Makefile.qt.include
├── Makefile.qttest.include
├── Makefile.test.include
├── accumulatormap.cpp
├── accumulatormap.h
├── accumulators.cpp
├── accumulators.h
├── activemasternode.cpp
├── activemasternode.h
├── addrman.cpp
├── addrman.h
├── alert.cpp
├── alert.h
├── allocators.cpp
├── allocators.h
├── amount.cpp
├── amount.h
├── arith_uint256.cpp
├── arith_uint256.h
├── base58.cpp
├── base58.h
├── bip38.cpp
├── bip38.h
├── bitcoin2-cli-res.rc
├── bitcoin2-cli.cpp
├── bitcoin2-tx-res.rc
├── bitcoin2-tx.cpp
├── bitcoin2d-res.rc
├── bitcoin2d.cpp
├── bloom.cpp
├── bloom.h
├── chain.cpp
├── chain.h
├── chainparams.cpp
├── chainparams.h
├── chainparamsbase.cpp
├── chainparamsbase.h
├── chainparamsseeds.h
├── checkpoints.cpp
├── checkpoints.h
├── checkqueue.h
├── clientversion.cpp
├── clientversion.h
├── coincontrol.h
├── coins.cpp
├── coins.h
├── compat.h
├── compat
├── glibc_compat.cpp
├── glibc_sanity.cpp
├── glibcxx_compat.cpp
├── glibcxx_sanity.cpp
├── sanity.h
└── strnlen.cpp
├── compressor.cpp
├── compressor.h
├── config
└── .empty
├── core_io.h
├── core_read.cpp
├── core_write.cpp
├── crypter.cpp
├── crypter.h
├── crypto
├── aes_helper.c
├── blake.c
├── bmw.c
├── common.h
├── cubehash.c
├── echo.c
├── groestl.c
├── hmac_sha256.cpp
├── hmac_sha256.h
├── hmac_sha512.cpp
├── hmac_sha512.h
├── jh.c
├── keccak.c
├── luffa.c
├── rfc6979_hmac_sha256.cpp
├── rfc6979_hmac_sha256.h
├── ripemd160.cpp
├── ripemd160.h
├── scrypt.cpp
├── scrypt.h
├── sha1.cpp
├── sha1.h
├── sha256.cpp
├── sha256.h
├── sha512.cpp
├── sha512.h
├── shavite.c
├── simd.c
├── skein.c
├── sph_blake.h
├── sph_bmw.h
├── sph_cubehash.h
├── sph_echo.h
├── sph_groestl.h
├── sph_jh.h
├── sph_keccak.h
├── sph_luffa.h
├── sph_shavite.h
├── sph_simd.h
├── sph_skein.h
└── sph_types.h
├── db.cpp
├── db.h
├── denomination_functions.cpp
├── denomination_functions.h
├── eccryptoverify.cpp
├── eccryptoverify.h
├── ecwrapper.cpp
├── ecwrapper.h
├── hash.cpp
├── hash.h
├── httprpc.cpp
├── httprpc.h
├── httpserver.cpp
├── httpserver.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
├── kernel.cpp
├── kernel.h
├── key.cpp
├── key.h
├── keystore.cpp
├── keystore.h
├── leveldb
├── AUTHORS
├── CONTRIBUTING.md
├── LICENSE
├── Makefile
├── NEWS
├── README
├── README.md
├── 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
│ ├── dumpfile.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
│ │ ├── dumpfile.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
│ └── issue200_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
│ ├── hash_test.cc
│ ├── 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
├── libzerocoin
├── Accumulator.cpp
├── Accumulator.h
├── AccumulatorProofOfKnowledge.cpp
├── AccumulatorProofOfKnowledge.h
├── Coin.cpp
├── Coin.h
├── CoinSpend.cpp
├── CoinSpend.h
├── Commitment.cpp
├── Commitment.h
├── Denominations.cpp
├── Denominations.h
├── LICENSE
├── ParamGeneration.cpp
├── ParamGeneration.h
├── Params.cpp
├── Params.h
├── SerialNumberSignatureOfKnowledge.cpp
├── SerialNumberSignatureOfKnowledge.h
├── ZerocoinDefines.h
├── bignum.h
├── documentation
│ ├── Doxyfile
│ └── manual
│ │ ├── intro.tex
│ │ ├── manual.pdf
│ │ ├── manual.tex
│ │ └── using.tex
├── paramgen.cpp
└── zerocoin.pc.in
├── limitedmap.h
├── main.cpp
├── main.h
├── masternode-payments.cpp
├── masternode-payments.h
├── masternode-sync.cpp
├── masternode-sync.h
├── masternode.cpp
├── masternode.h
├── masternodeconfig.cpp
├── masternodeconfig.h
├── masternodeman.cpp
├── masternodeman.h
├── merkleblock.cpp
├── merkleblock.h
├── miner.cpp
├── miner.h
├── mruset.h
├── net.cpp
├── net.h
├── netbase.cpp
├── netbase.h
├── noui.cpp
├── noui.h
├── obfuscation-relay.cpp
├── obfuscation-relay.h
├── obfuscation.cpp
├── obfuscation.h
├── obj-test
└── .gitignore
├── obj
└── .gitignore
├── pow.cpp
├── pow.h
├── primitives
├── block.cpp
├── block.h
├── transaction.cpp
├── transaction.h
├── zerocoin.cpp
└── zerocoin.h
├── protocol.cpp
├── protocol.h
├── pubkey.cpp
├── pubkey.h
├── qt
├── addressbookpage.cpp
├── addressbookpage.h
├── addresstablemodel.cpp
├── addresstablemodel.h
├── askpassphrasedialog.cpp
├── askpassphrasedialog.h
├── bantablemodel.cpp
├── bantablemodel.h
├── bip38tooldialog.cpp
├── bip38tooldialog.h
├── bitcoin2.cpp
├── bitcoin2.qrc
├── bitcoin2_locale.qrc
├── bitcoin2strings.cpp
├── bitcoinaddressvalidator.cpp
├── bitcoinaddressvalidator.h
├── bitcoinamountfield.cpp
├── bitcoinamountfield.h
├── bitcoingui.cpp
├── bitcoingui.h
├── bitcoinunits.cpp
├── bitcoinunits.h
├── blockexplorer.cpp
├── blockexplorer.h
├── clientmodel.cpp
├── clientmodel.h
├── coincontroldialog.cpp
├── coincontroldialog.h
├── coincontroltreewidget.cpp
├── coincontroltreewidget.h
├── csvmodelwriter.cpp
├── csvmodelwriter.h
├── editaddressdialog.cpp
├── editaddressdialog.h
├── forms
│ ├── addressbookpage.ui
│ ├── askpassphrasedialog.ui
│ ├── bip38tooldialog.ui
│ ├── blockexplorer.ui
│ ├── coincontroldialog.ui
│ ├── editaddressdialog.ui
│ ├── helpmessagedialog.ui
│ ├── intro.ui
│ ├── masternodelist.ui
│ ├── multisenddialog.ui
│ ├── multisigdialog.ui
│ ├── obfuscationconfig.ui
│ ├── openuridialog.ui
│ ├── optionsdialog.ui
│ ├── overviewpage.ui
│ ├── privacydialog.ui
│ ├── receivecoinsdialog.ui
│ ├── receiverequestdialog.ui
│ ├── rpcconsole.ui
│ ├── sendcoinsdialog.ui
│ ├── sendcoinsentry.ui
│ ├── signverifymessagedialog.ui
│ ├── tradingdialog.ui
│ ├── transactiondescdialog.ui
│ └── zbtc2controldialog.ui
├── guiconstants.h
├── guiutil.cpp
├── guiutil.h
├── intro.cpp
├── intro.h
├── locale
│ ├── bitcoin2_bg.ts
│ ├── bitcoin2_ca.ts
│ ├── bitcoin2_cs.ts
│ ├── bitcoin2_da.ts
│ ├── bitcoin2_de.ts
│ ├── bitcoin2_en.ts
│ ├── bitcoin2_en_US.ts
│ ├── bitcoin2_es.ts
│ ├── bitcoin2_fi.ts
│ ├── bitcoin2_fr_FR.ts
│ ├── bitcoin2_it.ts
│ ├── bitcoin2_ja.ts
│ ├── bitcoin2_ko_KR.ts
│ ├── bitcoin2_nl.ts
│ ├── bitcoin2_pl.ts
│ ├── bitcoin2_pt.ts
│ ├── bitcoin2_pt_BR.ts
│ ├── bitcoin2_ro_RO.ts
│ ├── bitcoin2_ru.ts
│ ├── bitcoin2_sk.ts
│ ├── bitcoin2_sv.ts
│ ├── bitcoin2_tr.ts
│ ├── bitcoin2_uk.ts
│ ├── bitcoin2_zh_CN.ts
│ └── bitcoin2_zh_TW.ts
├── macdockiconhandler.h
├── macdockiconhandler.mm
├── macnotificationhandler.h
├── macnotificationhandler.mm
├── masternodelist.cpp
├── masternodelist.h
├── multisenddialog.cpp
├── multisenddialog.h
├── multisigdialog.cpp
├── multisigdialog.h
├── networkstyle.cpp
├── networkstyle.h
├── notificator.cpp
├── notificator.h
├── obfuscationconfig.cpp
├── obfuscationconfig.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
├── peertablemodel.cpp
├── peertablemodel.h
├── platformstyle.cpp
├── platformstyle.h
├── privacydialog.cpp
├── privacydialog.h
├── qvalidatedlineedit.cpp
├── qvalidatedlineedit.h
├── qvaluecombobox.cpp
├── qvaluecombobox.h
├── receivecoinsdialog.cpp
├── receivecoinsdialog.h
├── receiverequestdialog.cpp
├── receiverequestdialog.h
├── recentrequeststablemodel.cpp
├── recentrequeststablemodel.h
├── res
│ ├── bitcoin2-qt-res.rc
│ ├── css
│ │ └── default.css
│ ├── icons
│ │ ├── add.png
│ │ ├── address-book.png
│ │ ├── bitcoin.icns
│ │ ├── bitcoin.ico
│ │ ├── bitcoin.png
│ │ ├── bitcoin_testnet.ico
│ │ ├── bitcoin_testnet.png
│ │ ├── browse.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
│ │ ├── explorer.png
│ │ ├── export.png
│ │ ├── eye.png
│ │ ├── eye_minus.png
│ │ ├── eye_plus.png
│ │ ├── filesave.png
│ │ ├── history.png
│ │ ├── import.png
│ │ ├── key.png
│ │ ├── lock_closed.png
│ │ ├── lock_open.png
│ │ ├── masternodes.png
│ │ ├── notsynced.png
│ │ ├── overview.png
│ │ ├── privacy.png
│ │ ├── privacy_dark.png
│ │ ├── qrcode.png
│ │ ├── quit.png
│ │ ├── receive.png
│ │ ├── receive_dark.png
│ │ ├── remove.png
│ │ ├── send.png
│ │ ├── send_dark.png
│ │ ├── staking_active.png
│ │ ├── staking_inactive.png
│ │ ├── synced.png
│ │ ├── trade.png
│ │ ├── transaction0.png
│ │ ├── transaction2.png
│ │ ├── transaction_conflicted.png
│ │ ├── tx_inout.png
│ │ ├── tx_input.png
│ │ ├── tx_mined.png
│ │ ├── tx_output.png
│ │ ├── unit_bitcoin2.png
│ │ ├── unit_mbitcoin2.png
│ │ ├── unit_tbitcoin2.png
│ │ ├── unit_tmbitcoin2.png
│ │ ├── unit_tubitcoin2.png
│ │ └── unit_ubitcoin2.png
│ ├── images
│ │ ├── about.png
│ │ ├── bitcoin2_logo_horizontal.png
│ │ ├── downArrow_dark.png
│ │ ├── downArrow_small.png
│ │ ├── downArrow_small_dark.png
│ │ ├── leftArrow_small_dark.png
│ │ ├── qtreeview_selected.png
│ │ ├── rightArrow_small_dark.png
│ │ ├── splash.png
│ │ ├── splash_testnet.png
│ │ ├── upArrow_small.png
│ │ └── upArrow_small_dark.png
│ ├── movies
│ │ ├── spinner-000.png
│ │ ├── spinner-001.png
│ │ ├── spinner-002.png
│ │ ├── spinner-003.png
│ │ ├── spinner-004.png
│ │ ├── spinner-005.png
│ │ ├── spinner-006.png
│ │ ├── spinner-007.png
│ │ ├── spinner-008.png
│ │ ├── spinner-009.png
│ │ ├── spinner-010.png
│ │ ├── spinner-011.png
│ │ ├── spinner-012.png
│ │ ├── spinner-013.png
│ │ ├── spinner-014.png
│ │ ├── spinner-015.png
│ │ ├── spinner-016.png
│ │ ├── spinner-017.png
│ │ ├── spinner-018.png
│ │ ├── spinner-019.png
│ │ ├── spinner-020.png
│ │ ├── spinner-021.png
│ │ ├── spinner-022.png
│ │ ├── spinner-023.png
│ │ ├── spinner-024.png
│ │ ├── spinner-025.png
│ │ ├── spinner-026.png
│ │ ├── spinner-027.png
│ │ ├── spinner-028.png
│ │ ├── spinner-029.png
│ │ ├── spinner-030.png
│ │ ├── spinner-031.png
│ │ ├── spinner-032.png
│ │ ├── spinner-033.png
│ │ └── spinner-034.png
│ └── src
│ │ ├── clock1.svg
│ │ ├── clock2.svg
│ │ ├── clock3.svg
│ │ ├── clock4.svg
│ │ ├── clock5.svg
│ │ ├── clock_green.svg
│ │ ├── inout.svg
│ │ ├── questionmark.svg
│ │ └── unit.psd
├── rpcconsole.cpp
├── rpcconsole.h
├── sendcoinsdialog.cpp
├── sendcoinsdialog.h
├── sendcoinsentry.cpp
├── sendcoinsentry.h
├── signverifymessagedialog.cpp
├── signverifymessagedialog.h
├── splashscreen.cpp
├── splashscreen.h
├── test
│ ├── 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
├── utilitydialog.cpp
├── utilitydialog.h
├── walletframe.cpp
├── walletframe.h
├── walletmodel.cpp
├── walletmodel.h
├── walletmodeltransaction.cpp
├── walletmodeltransaction.h
├── walletview.cpp
├── walletview.h
├── winshutdownmonitor.cpp
├── winshutdownmonitor.h
├── zbtc2controldialog.cpp
└── zbtc2controldialog.h
├── random.cpp
├── random.h
├── rest.cpp
├── reverse_iterate.h
├── reverselock.h
├── rpcblockchain.cpp
├── rpcclient.cpp
├── rpcclient.h
├── rpcdump.cpp
├── rpcmasternode.cpp
├── rpcmining.cpp
├── rpcmisc.cpp
├── rpcnet.cpp
├── rpcprotocol.cpp
├── rpcprotocol.h
├── rpcrawtransaction.cpp
├── rpcserver.cpp
├── rpcserver.h
├── rpcwallet.cpp
├── scheduler.cpp
├── scheduler.h
├── script
├── bitcoinconsensus.cpp
├── bitcoinconsensus.h
├── interpreter.cpp
├── interpreter.h
├── script.cpp
├── script.h
├── script_error.cpp
├── script_error.h
├── sigcache.cpp
├── sigcache.h
├── sign.cpp
├── sign.h
├── standard.cpp
└── standard.h
├── secp256k1
├── .gitignore
├── .travis.yml
├── COPYING
├── Makefile.am
├── README.md
├── TODO
├── autogen.sh
├── configure.ac
├── include
│ └── secp256k1.h
├── libsecp256k1.pc.in
├── nasm_lt.sh
├── obj
│ └── .gitignore
└── src
│ ├── bench_inv.c
│ ├── bench_sign.c
│ ├── bench_verify.c
│ ├── ecdsa.h
│ ├── ecdsa_impl.h
│ ├── eckey.h
│ ├── eckey_impl.h
│ ├── ecmult.h
│ ├── ecmult_gen.h
│ ├── ecmult_gen_impl.h
│ ├── ecmult_impl.h
│ ├── field.h
│ ├── field_10x26.h
│ ├── field_10x26_impl.h
│ ├── field_5x52.h
│ ├── field_5x52_asm.asm
│ ├── field_5x52_asm_impl.h
│ ├── field_5x52_impl.h
│ ├── field_5x52_int128_impl.h
│ ├── field_gmp.h
│ ├── field_gmp_impl.h
│ ├── field_impl.h
│ ├── group.h
│ ├── group_impl.h
│ ├── java
│ ├── org
│ │ └── bitcoin
│ │ │ └── NativeSecp256k1.java
│ ├── org_bitcoin_NativeSecp256k1.c
│ └── org_bitcoin_NativeSecp256k1.h
│ ├── num.h
│ ├── num_gmp.h
│ ├── num_gmp_impl.h
│ ├── num_impl.h
│ ├── scalar.h
│ ├── scalar_4x64.h
│ ├── scalar_4x64_impl.h
│ ├── scalar_8x32.h
│ ├── scalar_8x32_impl.h
│ ├── scalar_impl.h
│ ├── secp256k1.c
│ ├── testrand.h
│ ├── testrand_impl.h
│ ├── tests.c
│ └── util.h
├── serialize.h
├── spork.cpp
├── spork.h
├── sporkdb.cpp
├── sporkdb.h
├── streams.h
├── swifttx.cpp
├── swifttx.h
├── sync.cpp
├── sync.h
├── test
├── Checkpoints_tests.cpp
├── DoS_tests.cpp
├── README.md
├── accounting_tests.cpp
├── alert_tests.cpp
├── allocator_tests.cpp
├── arith_uint256_tests.cpp
├── base32_tests.cpp
├── base58_tests.cpp
├── base64_tests.cpp
├── bctest.py
├── benchmark_zerocoin.cpp
├── bignum.h
├── bip32_tests.cpp
├── bitcoin-util-test.py
├── bloom_tests.cpp
├── buildenv.py.in
├── checkblock_tests.cpp
├── coins_tests.cpp
├── compress_tests.cpp
├── crypto_tests.cpp
├── data
│ ├── README.md
│ ├── alertTests.raw
│ ├── base58_encode_decode.json
│ ├── base58_keys_invalid.json
│ ├── base58_keys_valid.json
│ ├── bitcoin-util-test.json
│ ├── blanktx.hex
│ ├── script_invalid.json
│ ├── script_valid.json
│ ├── sig_canonical.json
│ ├── sig_noncanonical.json
│ ├── sighash.json
│ ├── tt-delin1-out.hex
│ ├── tt-delout1-out.hex
│ ├── tt-locktime317000-out.hex
│ ├── tx394b54bb.hex
│ ├── tx_invalid.json
│ ├── tx_valid.json
│ ├── txcreate1.hex
│ ├── txcreate2.hex
│ └── txcreatesign.hex
├── getarg_tests.cpp
├── hash_tests.cpp
├── key_tests.cpp
├── libzerocoin_tests.cpp
├── main_tests.cpp
├── mempool_tests.cpp
├── miner_tests.cpp
├── mruset_tests.cpp
├── multisig_tests.cpp
├── netbase_tests.cpp
├── pmt_tests.cpp
├── reverselock_tests.cpp
├── rpc_tests.cpp
├── rpc_wallet_tests.cpp
├── sanity_tests.cpp
├── scheduler_tests.cpp
├── script_P2SH_tests.cpp
├── script_tests.cpp
├── scriptnum_tests.cpp
├── serialize_tests.cpp
├── sighash_tests.cpp
├── sigopcount_tests.cpp
├── skiplist_tests.cpp
├── test_bitcoin2.cpp
├── test_pivx.cpp
├── test_zerocoin.cpp
├── timedata_tests.cpp
├── torcontrol_tests.cpp
├── transaction_tests.cpp
├── tutorial_zerocoin.cpp
├── uint256_tests.cpp
├── univalue_tests.cpp
├── util_tests.cpp
├── wallet_tests.cpp
├── zerocoin_denomination_tests.cpp
├── zerocoin_implementation_tests.cpp
└── zerocoin_transactions_tests.cpp
├── threadsafety.h
├── timedata.cpp
├── timedata.h
├── tinyformat.h
├── torcontrol.cpp
├── torcontrol.h
├── txdb.cpp
├── txdb.h
├── txmempool.cpp
├── txmempool.h
├── ui_interface.h
├── uint256.cpp
├── uint256.h
├── uint512.h
├── undo.h
├── univalue
├── .travis.yml
├── COPYING
├── Makefile.am
├── README.md
├── TODO
├── autogen.sh
├── configure.ac
├── gen
│ └── gen.cpp
├── include
│ └── univalue.h
├── lib
│ ├── univalue.cpp
│ ├── univalue_escapes.h
│ ├── univalue_read.cpp
│ ├── univalue_utffilter.h
│ └── univalue_write.cpp
├── pc
│ ├── libunivalue-uninstalled.pc.in
│ └── libunivalue.pc.in
└── test
│ ├── fail1.json
│ ├── fail10.json
│ ├── fail11.json
│ ├── fail12.json
│ ├── fail13.json
│ ├── fail14.json
│ ├── fail15.json
│ ├── fail16.json
│ ├── fail17.json
│ ├── fail18.json
│ ├── fail19.json
│ ├── fail2.json
│ ├── fail20.json
│ ├── fail21.json
│ ├── fail22.json
│ ├── fail23.json
│ ├── fail24.json
│ ├── fail25.json
│ ├── fail26.json
│ ├── fail27.json
│ ├── fail28.json
│ ├── fail29.json
│ ├── fail3.json
│ ├── fail30.json
│ ├── fail31.json
│ ├── fail32.json
│ ├── fail33.json
│ ├── fail34.json
│ ├── fail35.json
│ ├── fail36.json
│ ├── fail37.json
│ ├── fail38.json
│ ├── fail39.json
│ ├── fail4.json
│ ├── fail40.json
│ ├── fail41.json
│ ├── fail42.json
│ ├── fail44.json
│ ├── fail5.json
│ ├── fail6.json
│ ├── fail7.json
│ ├── fail8.json
│ ├── fail9.json
│ ├── no_nul.cpp
│ ├── object.cpp
│ ├── pass1.json
│ ├── pass2.json
│ ├── pass3.json
│ ├── round1.json
│ ├── round2.json
│ ├── round3.json
│ ├── round4.json
│ ├── round5.json
│ ├── round6.json
│ ├── round7.json
│ ├── test_json.cpp
│ └── unitester.cpp
├── util.cpp
├── util.h
├── utilmoneystr.cpp
├── utilmoneystr.h
├── utilstrencodings.cpp
├── utilstrencodings.h
├── utiltime.cpp
├── utiltime.h
├── validationinterface.cpp
├── validationinterface.h
├── version.h
├── wallet.cpp
├── wallet.h
├── wallet_ismine.cpp
├── wallet_ismine.h
├── walletdb.cpp
├── walletdb.h
└── zmq
├── zmqabstractnotifier.cpp
├── zmqabstractnotifier.h
├── zmqconfig.h
├── zmqnotificationinterface.cpp
├── zmqnotificationinterface.h
├── zmqpublishnotifier.cpp
└── zmqpublishnotifier.h
/.gitattributes:
--------------------------------------------------------------------------------
1 | src/clientversion.cpp export-subst
2 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/INSTALL:
--------------------------------------------------------------------------------
1 | Building Bitcoin2
2 |
3 | Use the autogen script to prepare the build environment.
4 |
5 | ./autogen.sh
6 | ./configure
7 | make
8 |
9 | Always verify the signatures and checksums.
10 |
11 | See doc/build-*.md for instructions on building bitcoin2d,
12 | the intended-for-services, no-graphical-interface, reference
13 | implementation of Bitcoin2.
14 |
--------------------------------------------------------------------------------
/INSTALL.md:
--------------------------------------------------------------------------------
1 | Building Bitcoin
2 | ================
3 |
4 | See doc/build-*.md for instructions on building the various
5 | elements of the Bitcoin Core reference implementation of Bitcoin.
6 |
--------------------------------------------------------------------------------
/autogen.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # Copyright (c) 2013-2016 The Bitcoin Core developers
3 | # Distributed under the MIT software license, see the accompanying
4 | # file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 |
6 | set -e
7 | srcdir="$(dirname $0)"
8 | cd "$srcdir"
9 | if [ -z ${LIBTOOLIZE} ] && GLIBTOOLIZE="`which glibtoolize 2>/dev/null`"; then
10 | LIBTOOLIZE="${GLIBTOOLIZE}"
11 | export LIBTOOLIZE
12 | fi
13 | which autoreconf >/dev/null || \
14 | (echo "configuration failed, please install autoconf first" && exit 1)
15 | autoreconf --install --force --warnings=all
16 |
--------------------------------------------------------------------------------
/build-aux/m4/bitcoin_subdir_to_include.m4:
--------------------------------------------------------------------------------
1 | dnl BITCOIN_SUBDIR_TO_INCLUDE([CPPFLAGS-VARIABLE-NAME],[SUBDIRECTORY-NAME],[HEADER-FILE])
2 | dnl SUBDIRECTORY-NAME must end with a path separator
3 | AC_DEFUN([BITCOIN_SUBDIR_TO_INCLUDE],[
4 | if test "x$2" = "x"; then
5 | AC_MSG_RESULT([default])
6 | else
7 | echo "#include <$2$3.h>" >conftest.cpp
8 | newinclpath=`${CXXCPP} ${CPPFLAGS} -M conftest.cpp 2>/dev/null | [ tr -d '\\n\\r\\\\' | sed -e 's/^.*[[:space:]:]\(\/[^[:space:]]*\)]$3[\.h[[:space:]].*$/\1/' -e t -e d`]
9 | AC_MSG_RESULT([${newinclpath}])
10 | if test "x${newinclpath}" != "x"; then
11 | eval "$1=\"\$$1\"' -I${newinclpath}'"
12 | fi
13 | fi
14 | ])
15 |
--------------------------------------------------------------------------------
/contrib/bitrpc/README.md:
--------------------------------------------------------------------------------
1 | ### BitRPC
2 | Allows for sending of all standard Bitcoin commands via RPC rather than as command line args.
3 |
4 | ### Looking for Wallet Tools?
5 | BitRPC.py is able to do the exact same thing as `walletchangepass.py` and `walletunlock.py`. Their respective commands in BitRPC.py are:
6 |
7 | bitrpc.py walletpassphrasechange
8 | bitrpc.py walletpassphrase
--------------------------------------------------------------------------------
/contrib/debian/README.md:
--------------------------------------------------------------------------------
1 |
2 | Debian
3 | ====================
4 | This directory contains files used to package pivxd/pivx-qt
5 | for Debian-based Linux systems. If you compile pivxd/pivx-qt yourself, there are some useful files here.
6 |
7 | ## pivx: URI support ##
8 |
9 |
10 | pivx-qt.desktop (Gnome / Open Desktop)
11 | To install:
12 |
13 | sudo desktop-file-install pivx-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 pivxqt binary to `/usr/bin`
18 | and the `../../share/pixmaps/pivx128.png` to `/usr/share/pixmaps`
19 |
20 | pivx-qt.protocol (KDE)
21 |
22 |
--------------------------------------------------------------------------------
/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/pivx-qt.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Encoding=UTF-8
3 | Name=Pivx
4 | Comment=Pivx P2P Cryptocurrency
5 | Comment[fr]=Pivx, monnaie virtuelle cryptographique pair à pair
6 | Comment[tr]=Pivx, eşten eşe kriptografik sanal para birimi
7 | Exec=pivx-qt %u
8 | Terminal=false
9 | Type=Application
10 | Icon=pivx128
11 | MimeType=x-scheme-handler/pivx;
12 | Categories=Office;Finance;
13 |
--------------------------------------------------------------------------------
/contrib/debian/pivx-qt.install:
--------------------------------------------------------------------------------
1 | usr/local/bin/pivx-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/pivx-qt.desktop usr/share/applications
6 | debian/pivx-qt.protocol usr/share/kde4/services/
7 |
--------------------------------------------------------------------------------
/contrib/debian/pivx-qt.lintian-overrides:
--------------------------------------------------------------------------------
1 | # Linked code is Expat - only Debian packaging is GPL-2+
2 | pivx-qt: possible-gpl-code-linked-with-openssl
3 |
--------------------------------------------------------------------------------
/contrib/debian/pivx-qt.protocol:
--------------------------------------------------------------------------------
1 | [Protocol]
2 | exec=pivx-qt '%u'
3 | protocol=pivx
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/pivxd.bash-completion:
--------------------------------------------------------------------------------
1 | contrib/pivxd.bash-completion pivxd
2 |
--------------------------------------------------------------------------------
/contrib/debian/pivxd.examples:
--------------------------------------------------------------------------------
1 | debian/examples/pivx.conf
2 |
--------------------------------------------------------------------------------
/contrib/debian/pivxd.install:
--------------------------------------------------------------------------------
1 | usr/local/bin/pivxd usr/bin
2 | usr/local/bin/pivx-cli usr/bin
3 |
--------------------------------------------------------------------------------
/contrib/debian/pivxd.lintian-overrides:
--------------------------------------------------------------------------------
1 | # Linked code is Expat - only Debian packaging is GPL-2+
2 | pivxd: possible-gpl-code-linked-with-openssl
3 |
--------------------------------------------------------------------------------
/contrib/debian/pivxd.manpages:
--------------------------------------------------------------------------------
1 | debian/manpages/pivxd.1
2 | debian/manpages/pivx.conf.5
3 |
--------------------------------------------------------------------------------
/contrib/debian/rules:
--------------------------------------------------------------------------------
1 | #!/usr/bin/make -f
2 | # -*- mode: makefile; coding: utf-8 -*-
3 |
4 | #DEB_MAKE_CHECK_TARGET = test_pivx
5 | #build/bitcoind::
6 | # $(if $(filter nocheck,$(DEB_BUILD_OPTIONS)),,src/test_pivx)
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_clean:
15 | if [ -f Makefile ]; then $(MAKE) distclean; fi
16 | rm -rf Makefile.in aclocal.m4 configure src/Makefile.in src/pivx-config.h.in src/build-aux src/qt/Makefile.in src/qt/test/Makefile.in src/test/Makefile.in
17 |
18 | # Yea, autogen should be run on the source archive, but I like doing git archive
19 | override_dh_auto_configure:
20 | ./autogen.sh
21 | ./configure
22 |
23 | override_dh_auto_test:
24 | make check
25 |
--------------------------------------------------------------------------------
/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/devtools/split-debug.sh.in:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | if [ $# -ne 3 ];
4 | then echo "usage: $0 "
5 | fi
6 |
7 | @OBJCOPY@ --enable-deterministic-archives -p --only-keep-debug $1 $3
8 | @OBJCOPY@ --enable-deterministic-archives -p --strip-debug $1 $2
9 | @STRIP@ --enable-deterministic-archives -p -s $2
10 | @OBJCOPY@ --enable-deterministic-archives -p --add-gnu-debuglink=$3 $2
11 |
--------------------------------------------------------------------------------
/contrib/linearize/example-linearize.cfg:
--------------------------------------------------------------------------------
1 |
2 | # bitcoind RPC settings (linearize-hashes)
3 | rpcuser=someuser
4 | rpcpassword=somepassword
5 | host=127.0.0.1
6 | port=51470
7 |
8 | # bootstrap.dat hashlist settings (linearize-hashes)
9 | max_height=313000
10 |
11 | # bootstrap.dat input/output settings (linearize-data)
12 | netmagic=90c4fde9
13 | input=/home/example/.bitcoin/blocks
14 | output_file=/home/example/Downloads/bootstrap.dat
15 | hashlist=hashlist.txt
16 | split_year=1
17 |
18 | # Maxmimum size in bytes of out-of-order blocks cache in memory
19 | out_of_order_cache_sz = 100000000
20 |
--------------------------------------------------------------------------------
/contrib/macdeploy/README.md:
--------------------------------------------------------------------------------
1 | ### MacDeploy ###
2 |
3 | For Snow Leopard (which uses [Python 2.6](http://www.python.org/download/releases/2.6/)), you will need the param_parser package:
4 |
5 | sudo easy_install argparse
6 |
7 | This script should not be run manually, instead, after building as usual:
8 |
9 | make deploy
10 |
11 | During the process, the disk image window will pop up briefly where the fancy
12 | settings are applied. This is normal, please do not interfere.
13 |
14 | When finished, it will produce `Bitcoin-2-Core.dmg`.
15 |
16 |
--------------------------------------------------------------------------------
/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.tiff
14 | icon_size
15 | 96
16 | applications_symlink
17 |
18 | items_position
19 |
20 | Applications
21 |
22 | 370
23 | 156
24 |
25 | Pivx-Qt.app
26 |
27 | 128
28 | 156
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/contrib/qos/bitrpc/README.md:
--------------------------------------------------------------------------------
1 | ### BitRPC
2 | Allows for sending of all standard Bitcoin commands via RPC rather than as command line args.
3 |
4 | ### Looking for Wallet Tools?
5 | BitRPC.py is able to do the exact same thing as `walletchangepass.py` and `walletunlock.py`. Their respective commands in BitRPC.py are:
6 |
7 | bitrpc.py walletpassphrasechange
8 | bitrpc.py walletpassphrase
--------------------------------------------------------------------------------
/contrib/qos/debian/README.md:
--------------------------------------------------------------------------------
1 |
2 | Debian
3 | ====================
4 | This directory contains files used to package bitcoin2d/bitcoin2-qt
5 | for Debian-based Linux systems. If you compile bitcoin2d/bitcoin2-qt yourself, there are some useful files here.
6 |
7 | ## bitcoin2: URI support ##
8 |
9 |
10 | bitcoin2-qt.desktop (Gnome / Open Desktop)
11 | To install:
12 |
13 | sudo desktop-file-install bitcoin2-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 bitcoin2qt binary to `/usr/bin`
18 | and the `../../share/pixmaps/bitcoin2128.png` to `/usr/share/pixmaps`
19 |
20 | bitcoin2-qt.protocol (KDE)
21 |
22 |
--------------------------------------------------------------------------------
/contrib/qos/debian/bitcoin2-qt.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Encoding=UTF-8
3 | Name=Bitcoin2
4 | Comment=Bitcoin2 P2P Cryptocurrency
5 | Comment[fr]=Bitcoin2, monnaie virtuelle cryptographique pair à pair
6 | Comment[tr]=Bitcoin2, eşten eşe kriptografik sanal para birimi
7 | Exec=bitcoin2-qt %u
8 | Terminal=false
9 | Type=Application
10 | Icon=bitcoin2128
11 | MimeType=x-scheme-handler/bitcoin2;
12 | Categories=Office;Finance;
13 |
--------------------------------------------------------------------------------
/contrib/qos/debian/bitcoin2-qt.install:
--------------------------------------------------------------------------------
1 | usr/local/bin/bitcoin2-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/bitcoin2-qt.desktop usr/share/applications
6 | debian/bitcoin2-qt.protocol usr/share/kde4/services/
7 |
--------------------------------------------------------------------------------
/contrib/qos/debian/bitcoin2-qt.lintian-overrides:
--------------------------------------------------------------------------------
1 | # Linked code is Expat - only Debian packaging is GPL-2+
2 | bitcoin2-qt: possible-gpl-code-linked-with-openssl
3 |
--------------------------------------------------------------------------------
/contrib/qos/debian/bitcoin2-qt.protocol:
--------------------------------------------------------------------------------
1 | [Protocol]
2 | exec=bitcoin2-qt '%u'
3 | protocol=bitcoin2
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/qos/debian/bitcoin2d.bash-completion:
--------------------------------------------------------------------------------
1 | contrib/bitcoin2d.bash-completion bitcoin2d
2 |
--------------------------------------------------------------------------------
/contrib/qos/debian/bitcoin2d.examples:
--------------------------------------------------------------------------------
1 | debian/examples/bitcoin2.conf
2 |
--------------------------------------------------------------------------------
/contrib/qos/debian/bitcoin2d.install:
--------------------------------------------------------------------------------
1 | usr/local/bin/bitcoin2d usr/bin
2 | usr/local/bin/bitcoin2-cli usr/bin
3 |
--------------------------------------------------------------------------------
/contrib/qos/debian/bitcoin2d.lintian-overrides:
--------------------------------------------------------------------------------
1 | # Linked code is Expat - only Debian packaging is GPL-2+
2 | bitcoin2d: possible-gpl-code-linked-with-openssl
3 |
--------------------------------------------------------------------------------
/contrib/qos/debian/bitcoin2d.manpages:
--------------------------------------------------------------------------------
1 | debian/manpages/bitcoin2d.1
2 | debian/manpages/bitcoin2.conf.5
3 |
--------------------------------------------------------------------------------
/contrib/qos/debian/compat:
--------------------------------------------------------------------------------
1 | 7
2 |
--------------------------------------------------------------------------------
/contrib/qos/debian/gbp.conf:
--------------------------------------------------------------------------------
1 | # Configuration file for git-buildpackage and friends
2 |
3 | [DEFAULT]
4 | pristine-tar = True
5 | sign-tags = True
6 |
--------------------------------------------------------------------------------
/contrib/qos/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/qos/debian/patches/series:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/contrib/qos/debian/rules:
--------------------------------------------------------------------------------
1 | #!/usr/bin/make -f
2 | # -*- mode: makefile; coding: utf-8 -*-
3 |
4 | #DEB_MAKE_CHECK_TARGET = test_bitcoin2
5 | #build/bitcoind::
6 | # $(if $(filter nocheck,$(DEB_BUILD_OPTIONS)),,src/test_bitcoin2)
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_clean:
15 | if [ -f Makefile ]; then $(MAKE) distclean; fi
16 | rm -rf Makefile.in aclocal.m4 configure src/Makefile.in src/bitcoin2-config.h.in src/build-aux src/qt/Makefile.in src/qt/test/Makefile.in src/test/Makefile.in
17 |
18 | # Yea, autogen should be run on the source archive, but I like doing git archive
19 | override_dh_auto_configure:
20 | ./autogen.sh
21 | ./configure
22 |
23 | override_dh_auto_test:
24 | make check
25 |
--------------------------------------------------------------------------------
/contrib/qos/debian/source/format:
--------------------------------------------------------------------------------
1 | 3.0 (quilt)
2 |
--------------------------------------------------------------------------------
/contrib/qos/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/qos/devtools/split-debug.sh.in:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | if [ $# -ne 3 ];
4 | then echo "usage: $0 "
5 | fi
6 |
7 | @OBJCOPY@ --enable-deterministic-archives -p --only-keep-debug $1 $3
8 | @OBJCOPY@ --enable-deterministic-archives -p --strip-debug $1 $2
9 | @STRIP@ --enable-deterministic-archives -p -s $2
10 | @OBJCOPY@ --enable-deterministic-archives -p --add-gnu-debuglink=$3 $2
11 |
--------------------------------------------------------------------------------
/contrib/qos/init/README.md:
--------------------------------------------------------------------------------
1 | Sample configuration files for:
2 |
3 | SystemD: bitcoin2d.service
4 | Upstart: bitcoin2d.conf
5 | OpenRC: bitcoin2d.openrc
6 | bitcoin2d.openrcconf
7 | CentOS: bitcoin2d.init
8 |
9 | have been made available to assist packagers in creating node packages here.
10 |
11 | See doc/init.md for more information.
12 |
--------------------------------------------------------------------------------
/contrib/qos/init/bitcoin2d.openrcconf:
--------------------------------------------------------------------------------
1 | # /etc/conf.d/bitcoin2d: config file for /etc/init.d/bitcoin2d
2 |
3 | # Config file location
4 | #BITCOIND_CONFIGFILE="/etc/bitcoin2/bitcoin2.conf"
5 |
6 | # What directory to write pidfile to? (created and owned by $BITCOIND_USER)
7 | #BITCOIND_PIDDIR="/var/run/bitcoin2d"
8 |
9 | # What filename to give the pidfile
10 | #BITCOIND_PIDFILE="${BITCOIND_PIDDIR}/bitcoin2d.pid"
11 |
12 | # Where to write bitcoin2d data (be mindful that the blockchain is large)
13 | #BITCOIND_DATADIR="/var/lib/bitcoin2d"
14 |
15 | # User and group to own bitcoin2d process
16 | #BITCOIND_USER="bitcoin2"
17 | #BITCOIND_GROUP="bitcoin2"
18 |
19 | # Path to bitcoin2d executable
20 | #BITCOIND_BIN="/usr/bin/bitcoin2d"
21 |
22 | # Nice value to run bitcoin2d under
23 | #BITCOIND_NICE=0
24 |
25 | # Additional options (avoid -conf and -datadir, use flags above)
26 | BITCOIND_OPTS=""
27 |
--------------------------------------------------------------------------------
/contrib/qos/init/bitcoin2d.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Bitcoin2's distributed currency daemon
3 | After=network.target
4 |
5 | [Service]
6 | User=bitcoin2
7 | Group=bitcoin2
8 |
9 | Type=forking
10 | PIDFile=/var/lib/bitcoin2d/bitcoin2d.pid
11 |
12 | ExecStart=/usr/bin/bitcoin2d -daemon -pid=/var/lib/bitcoin2d/bitcoin2d.pid \
13 | -conf=/etc/bitcoin2/bitcoin2.conf -datadir=/var/lib/bitcoin2d
14 |
15 | ExecStop=-/usr/bin/bitcoin2-cli -conf=/etc/bitcoin2/bitcoin2.conf \
16 | -datadir=/var/lib/bitcoin2d stop
17 |
18 | Restart=always
19 | PrivateTmp=true
20 | TimeoutStopSec=60s
21 | TimeoutStartSec=2s
22 | StartLimitInterval=120s
23 | StartLimitBurst=5
24 |
25 | [Install]
26 | WantedBy=multi-user.target
27 |
--------------------------------------------------------------------------------
/contrib/qos/linearize/example-linearize.cfg:
--------------------------------------------------------------------------------
1 |
2 | # bitcoind RPC settings (linearize-hashes)
3 | rpcuser=someuser
4 | rpcpassword=somepassword
5 | host=127.0.0.1
6 | port=51470
7 |
8 | # bootstrap.dat hashlist settings (linearize-hashes)
9 | max_height=313000
10 |
11 | # bootstrap.dat input/output settings (linearize-data)
12 | netmagic=90c4fde9
13 | input=/home/example/.bitcoin/blocks
14 | output_file=/home/example/Downloads/bootstrap.dat
15 | hashlist=hashlist.txt
16 | split_year=1
17 |
18 | # Maxmimum size in bytes of out-of-order blocks cache in memory
19 | out_of_order_cache_sz = 100000000
20 |
--------------------------------------------------------------------------------
/contrib/qos/macdeploy/README.md:
--------------------------------------------------------------------------------
1 | ### MacDeploy ###
2 |
3 | For Snow Leopard (which uses [Python 2.6](http://www.python.org/download/releases/2.6/)), you will need the param_parser package:
4 |
5 | sudo easy_install argparse
6 |
7 | This script should not be run manually, instead, after building as usual:
8 |
9 | make deploy
10 |
11 | During the process, the disk image window will pop up briefly where the fancy
12 | settings are applied. This is normal, please do not interfere.
13 |
14 | When finished, it will produce `Bitcoin2-Qt.dmg`.
15 |
16 |
--------------------------------------------------------------------------------
/contrib/qos/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.tiff
14 | icon_size
15 | 96
16 | applications_symlink
17 |
18 | items_position
19 |
20 | Applications
21 |
22 | 370
23 | 156
24 |
25 | Bitcoin2-Qt.app
26 |
27 | 128
28 | 156
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/contrib/qos/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 51472, 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 bitcoin2d instance running, and another local bitcoin2d/bitcoin2-qt instance which connects to this node and receives blocks from it.
6 |
--------------------------------------------------------------------------------
/contrib/qos/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/qos/seeds/README.md:
--------------------------------------------------------------------------------
1 | # Seeds
2 |
3 | Utility to generate the seeds.txt list that is compiled into the client
4 | (see [src/chainparamsseeds.h](/src/chainparamsseeds.h) and other utilities in [contrib/seeds](/contrib/seeds)).
5 |
6 | Be sure to update `PATTERN_AGENT` in `makeseeds.py` to include the current version,
7 | and remove old versions as necessary.
8 |
9 | The seeds compiled into the release are created from fuzzbawls' DNS seed data, like this:
10 |
11 | curl -s http://seeder.fuzzbawls.pw/bitcoin2-mainnet.txt > seeds_main.txt
12 | python3 makeseeds.py < seeds_main.txt > nodes_main.txt
13 | python3 generate-seeds.py . > ../../src/chainparamsseeds.h
14 |
15 | ## Dependencies
16 |
17 | Ubuntu:
18 |
19 | sudo apt-get install python3-dnspython
20 |
--------------------------------------------------------------------------------
/contrib/qos/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/qos/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/qos/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/qos/verifysfbinaries/README.md:
--------------------------------------------------------------------------------
1 | ### Verify SF Binaries ###
2 | This script attempts to download the signature file `SHA256SUMS.asc` from https://bitcoin.org.
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/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 seeds.txt list that is compiled into the client
4 | (see [src/chainparamsseeds.h](/src/chainparamsseeds.h) and other utilities in [contrib/seeds](/contrib/seeds)).
5 |
6 | Be sure to update `PATTERN_AGENT` in `makeseeds.py` to include the current version,
7 | and remove old versions as necessary.
8 |
9 | The seeds compiled into the release are created like this:
10 |
11 | Script to generate list of seed nodes for chainparams.cpp.
12 | This script expects two text files in the directory that is passed as an
13 | argument:
14 | nodes_main.txt
15 | nodes_test.txt
16 | These files must consist of lines in the format
17 |
18 | :
19 | []
20 | []:
21 | .onion
22 | 0xDDBBCCAA (IPv4 little-endian old pnSeeds format)
23 |
24 | python3 generate-seeds.py . > ../../src/chainparamsseeds.h
25 |
26 | ## Dependencies
27 |
28 | Ubuntu:
29 |
30 | sudo apt-get install python3-dnspython
31 |
--------------------------------------------------------------------------------
/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/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/verifysfbinaries/README.md:
--------------------------------------------------------------------------------
1 | ### Verify SF Binaries ###
2 | This script attempts to download the signature file `SHA256SUMS.asc` from https://bitcoin.org.
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.
--------------------------------------------------------------------------------
/depends/.gitignore:
--------------------------------------------------------------------------------
1 | SDKs/
2 | work/
3 | built/
4 | sources/
5 | config.site
6 | x86_64*
7 | i686*
8 | mips*
9 | arm*
10 | aarch64*
11 |
--------------------------------------------------------------------------------
/depends/builders/darwin.mk:
--------------------------------------------------------------------------------
1 | build_darwin_CC:=$(shell xcrun -f clang)
2 | build_darwin_CXX:=$(shell xcrun -f clang++)
3 | build_darwin_AR:=$(shell xcrun -f ar)
4 | build_darwin_RANLIB:=$(shell xcrun -f ranlib)
5 | build_darwin_STRIP:=$(shell xcrun -f strip)
6 | build_darwin_OTOOL:=$(shell xcrun -f otool)
7 | build_darwin_NM:=$(shell xcrun -f nm)
8 | build_darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool)
9 | build_darwin_SHA256SUM=shasum -a 256
10 | build_darwin_DOWNLOAD=curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o
11 |
12 | #darwin host on darwin builder. overrides darwin host preferences.
13 | darwin_CC=$(shell xcrun -f clang) -mmacosx-version-min=$(OSX_MIN_VERSION)
14 | darwin_CXX:=$(shell xcrun -f clang++) -mmacosx-version-min=$(OSX_MIN_VERSION) -stdlib=libc++
15 | darwin_AR:=$(shell xcrun -f ar)
16 | darwin_RANLIB:=$(shell xcrun -f ranlib)
17 | darwin_STRIP:=$(shell xcrun -f strip)
18 | darwin_LIBTOOL:=$(shell xcrun -f libtool)
19 | darwin_OTOOL:=$(shell xcrun -f otool)
20 | darwin_NM:=$(shell xcrun -f nm)
21 | darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool)
22 | darwin_native_toolchain=
23 |
--------------------------------------------------------------------------------
/depends/builders/default.mk:
--------------------------------------------------------------------------------
1 | default_build_CC = gcc
2 | default_build_CXX = g++
3 | default_build_AR = ar
4 | default_build_RANLIB = ranlib
5 | default_build_STRIP = strip
6 | default_build_NM = nm
7 | default_build_OTOOL = otool
8 | default_build_INSTALL_NAME_TOOL = install_name_tool
9 |
10 | define add_build_tool_func
11 | build_$(build_os)_$1 ?= $$(default_build_$1)
12 | build_$(build_arch)_$(build_os)_$1 ?= $$(build_$(build_os)_$1)
13 | build_$1=$$(build_$(build_arch)_$(build_os)_$1)
14 | endef
15 | $(foreach var,CC CXX AR RANLIB NM STRIP SHA256SUM DOWNLOAD OTOOL INSTALL_NAME_TOOL,$(eval $(call add_build_tool_func,$(var))))
16 | define add_build_flags_func
17 | build_$(build_arch)_$(build_os)_$1 += $(build_$(build_os)_$1)
18 | build_$1=$$(build_$(build_arch)_$(build_os)_$1)
19 | endef
20 | $(foreach flags, CFLAGS CXXFLAGS LDFLAGS, $(eval $(call add_build_flags_func,$(flags))))
21 |
--------------------------------------------------------------------------------
/depends/builders/linux.mk:
--------------------------------------------------------------------------------
1 | build_linux_SHA256SUM = sha256sum
2 | build_linux_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o
3 |
--------------------------------------------------------------------------------
/depends/hosts/darwin.mk:
--------------------------------------------------------------------------------
1 | OSX_MIN_VERSION=10.10
2 | OSX_SDK_VERSION=10.11
3 | OSX_SDK=$(SDK_PATH)/MacOSX$(OSX_SDK_VERSION).sdk
4 | LD64_VERSION=253.9
5 | darwin_CC=clang -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION)
6 | darwin_CXX=clang++ -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) -stdlib=libc++
7 |
8 | darwin_CFLAGS=-pipe
9 | darwin_CXXFLAGS=$(darwin_CFLAGS)
10 |
11 | darwin_release_CFLAGS=-O2
12 | darwin_release_CXXFLAGS=$(darwin_release_CFLAGS)
13 |
14 | darwin_debug_CFLAGS=-O1
15 | darwin_debug_CXXFLAGS=$(darwin_debug_CFLAGS)
16 |
17 | darwin_native_toolchain=native_cctools
18 |
--------------------------------------------------------------------------------
/depends/hosts/linux.mk:
--------------------------------------------------------------------------------
1 | linux_CFLAGS=-pipe
2 | linux_CXXFLAGS=$(linux_CFLAGS)
3 |
4 | linux_release_CFLAGS=-O2
5 | linux_release_CXXFLAGS=$(linux_release_CFLAGS)
6 |
7 | linux_debug_CFLAGS=-O1
8 | linux_debug_CXXFLAGS=$(linux_debug_CFLAGS)
9 |
10 | linux_debug_CPPFLAGS=-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC
11 |
12 | ifeq (86,$(findstring 86,$(build_arch)))
13 | i686_linux_CC=gcc -m32
14 | i686_linux_CXX=g++ -m32
15 | i686_linux_AR=ar
16 | i686_linux_RANLIB=ranlib
17 | i686_linux_NM=nm
18 | i686_linux_STRIP=strip
19 |
20 | x86_64_linux_CC=gcc -m64
21 | x86_64_linux_CXX=g++ -m64
22 | x86_64_linux_AR=ar
23 | x86_64_linux_RANLIB=ranlib
24 | x86_64_linux_NM=nm
25 | x86_64_linux_STRIP=strip
26 | else
27 | i686_linux_CC=$(default_host_CC) -m32
28 | i686_linux_CXX=$(default_host_CXX) -m32
29 | x86_64_linux_CC=$(default_host_CC) -m64
30 | x86_64_linux_CXX=$(default_host_CXX) -m64
31 | endif
32 |
--------------------------------------------------------------------------------
/depends/hosts/mingw32.mk:
--------------------------------------------------------------------------------
1 | mingw32_CFLAGS=-pipe
2 | mingw32_CXXFLAGS=$(mingw32_CFLAGS)
3 |
4 | mingw32_release_CFLAGS=-O2
5 | mingw32_release_CXXFLAGS=$(mingw32_release_CFLAGS)
6 |
7 | mingw32_debug_CFLAGS=-O1
8 | mingw32_debug_CXXFLAGS=$(mingw32_debug_CFLAGS)
9 |
10 | mingw32_debug_CPPFLAGS=-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC
11 |
--------------------------------------------------------------------------------
/depends/packages/dbus.mk:
--------------------------------------------------------------------------------
1 | package=dbus
2 | $(package)_version=1.10.18
3 | $(package)_download_path=https://dbus.freedesktop.org/releases/dbus
4 | $(package)_file_name=$(package)-$($(package)_version).tar.gz
5 | $(package)_sha256_hash=6049ddd5f3f3e2618f615f1faeda0a115104423a7996b7aa73e2f36e38cc514a
6 | $(package)_dependencies=expat
7 |
8 | define $(package)_set_vars
9 | $(package)_config_opts=--disable-tests --disable-doxygen-docs --disable-xml-docs --disable-static --without-x
10 | endef
11 |
12 | define $(package)_config_cmds
13 | $($(package)_autoconf)
14 | endef
15 |
16 | define $(package)_build_cmds
17 | $(MAKE) -C dbus libdbus-1.la
18 | endef
19 |
20 | define $(package)_stage_cmds
21 | $(MAKE) -C dbus DESTDIR=$($(package)_staging_dir) install-libLTLIBRARIES install-dbusincludeHEADERS install-nodist_dbusarchincludeHEADERS && \
22 | $(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA
23 | endef
24 |
--------------------------------------------------------------------------------
/depends/packages/expat.mk:
--------------------------------------------------------------------------------
1 | package=expat
2 | $(package)_version=2.2.6
3 | $(package)_download_path=https://github.com/libexpat/libexpat/releases/download/R_2_2_6/
4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=17b43c2716d521369f82fc2dc70f359860e90fa440bea65b3b85f0b246ea81f2
6 |
7 | define $(package)_set_vars
8 | $(package)_config_opts=--disable-static --without-docbook
9 | endef
10 |
11 | define $(package)_config_cmds
12 | $($(package)_autoconf)
13 | endef
14 |
15 | define $(package)_build_cmds
16 | $(MAKE)
17 | endef
18 |
19 | define $(package)_stage_cmds
20 | $(MAKE) DESTDIR=$($(package)_staging_dir) install
21 | endef
22 |
--------------------------------------------------------------------------------
/depends/packages/freetype.mk:
--------------------------------------------------------------------------------
1 | package=freetype
2 | $(package)_version=2.7.1
3 | $(package)_download_path=https://download.savannah.gnu.org/releases/$(package)
4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=3a3bb2c4e15ffb433f2032f50a5b5a92558206822e22bfe8cbe339af4aa82f88
6 |
7 | define $(package)_set_vars
8 | $(package)_config_opts=--without-zlib --without-png --without-harfbuzz --without-bzip2 --disable-static
9 | $(package)_config_opts_linux=--with-pic
10 | endef
11 |
12 | define $(package)_config_cmds
13 | $($(package)_autoconf)
14 | endef
15 |
16 | define $(package)_build_cmds
17 | $(MAKE)
18 | endef
19 |
20 | define $(package)_stage_cmds
21 | $(MAKE) DESTDIR=$($(package)_staging_dir) install
22 | endef
23 |
--------------------------------------------------------------------------------
/depends/packages/libX11.mk:
--------------------------------------------------------------------------------
1 | package=libX11
2 | $(package)_version=1.6.2
3 | $(package)_download_path=https://xorg.freedesktop.org/releases/individual/lib/
4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=2aa027e837231d2eeea90f3a4afe19948a6eb4c8b2bec0241eba7dbc8106bd16
6 | $(package)_dependencies=libxcb xtrans xextproto xproto
7 |
8 | define $(package)_set_vars
9 | $(package)_config_opts=--disable-xkb --disable-static
10 | $(package)_config_opts_linux=--with-pic
11 | endef
12 |
13 | define $(package)_preprocess_cmds
14 | cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
15 | endef
16 |
17 | define $(package)_config_cmds
18 | $($(package)_autoconf)
19 | endef
20 |
21 | define $(package)_build_cmds
22 | $(MAKE)
23 | endef
24 |
25 | define $(package)_stage_cmds
26 | $(MAKE) DESTDIR=$($(package)_staging_dir) install
27 | endef
28 |
--------------------------------------------------------------------------------
/depends/packages/libXau.mk:
--------------------------------------------------------------------------------
1 | package=libXau
2 | $(package)_version=1.0.8
3 | $(package)_download_path=https://xorg.freedesktop.org/releases/individual/lib/
4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=fdd477320aeb5cdd67272838722d6b7d544887dfe7de46e1e7cc0c27c2bea4f2
6 | $(package)_dependencies=xproto
7 |
8 | define $(package)_set_vars
9 | $(package)_config_opts=--disable-shared
10 | $(package)_config_opts_linux=--with-pic
11 | endef
12 |
13 | define $(package)_preprocess_cmds
14 | cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
15 | endef
16 |
17 | define $(package)_config_cmds
18 | $($(package)_autoconf)
19 | endef
20 |
21 | define $(package)_build_cmds
22 | $(MAKE)
23 | endef
24 |
25 | define $(package)_stage_cmds
26 | $(MAKE) DESTDIR=$($(package)_staging_dir) install
27 | endef
28 |
--------------------------------------------------------------------------------
/depends/packages/libXext.mk:
--------------------------------------------------------------------------------
1 | package=libXext
2 | $(package)_version=1.3.2
3 | $(package)_download_path=https://xorg.freedesktop.org/releases/individual/lib/
4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=f829075bc646cdc085fa25d98d5885d83b1759ceb355933127c257e8e50432e0
6 | $(package)_dependencies=xproto xextproto libX11 libXau
7 |
8 | define $(package)_set_vars
9 | $(package)_config_opts=--disable-static
10 | endef
11 |
12 | define $(package)_preprocess_cmds
13 | cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
14 | endef
15 |
16 | define $(package)_config_cmds
17 | $($(package)_autoconf)
18 | endef
19 |
20 | define $(package)_build_cmds
21 | $(MAKE)
22 | endef
23 |
24 | define $(package)_stage_cmds
25 | $(MAKE) DESTDIR=$($(package)_staging_dir) install
26 | endef
27 |
--------------------------------------------------------------------------------
/depends/packages/libevent.mk:
--------------------------------------------------------------------------------
1 | package=libevent
2 | $(package)_version=2.1.8-stable
3 | $(package)_download_path=https://github.com/libevent/libevent/archive/
4 | $(package)_file_name=release-$($(package)_version).tar.gz
5 | $(package)_sha256_hash=316ddb401745ac5d222d7c529ef1eada12f58f6376a66c1118eee803cb70f83d
6 |
7 | define $(package)_preprocess_cmds
8 | ./autogen.sh
9 | endef
10 |
11 | define $(package)_set_vars
12 | $(package)_config_opts=--disable-shared --disable-openssl --disable-libevent-regress --disable-samples
13 | $(package)_config_opts_release=--disable-debug-mode
14 | $(package)_config_opts_linux=--with-pic
15 | endef
16 |
17 | define $(package)_config_cmds
18 | $($(package)_autoconf)
19 | endef
20 |
21 | define $(package)_build_cmds
22 | $(MAKE)
23 | endef
24 |
25 | define $(package)_stage_cmds
26 | $(MAKE) DESTDIR=$($(package)_staging_dir) install
27 | endef
28 |
29 | define $(package)_postprocess_cmds
30 | endef
31 |
--------------------------------------------------------------------------------
/depends/packages/native_biplist.mk:
--------------------------------------------------------------------------------
1 | package=native_biplist
2 | $(package)_version=1.0.3
3 | $(package)_download_path=https://bitbucket.org/wooster/biplist/downloads
4 | $(package)_file_name=biplist-$($(package)_version).tar.gz
5 | $(package)_sha256_hash=4c0549764c5fe50b28042ec21aa2e14fe1a2224e239a1dae77d9e7f3932aa4c6
6 | $(package)_install_libdir=$(build_prefix)/lib/python3/dist-packages
7 |
8 | define $(package)_build_cmds
9 | python3 setup.py build
10 | endef
11 |
12 | define $(package)_stage_cmds
13 | mkdir -p $($(package)_install_libdir) && \
14 | python3 setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir)
15 | endef
16 |
--------------------------------------------------------------------------------
/depends/packages/native_cdrkit.mk:
--------------------------------------------------------------------------------
1 | package=native_cdrkit
2 | $(package)_version=1.1.11
3 | $(package)_download_path=https://distro.ibiblio.org/fatdog/source/600/c
4 | $(package)_file_name=cdrkit-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=b50d64c214a65b1a79afe3a964c691931a4233e2ba605d793eb85d0ac3652564
6 | $(package)_patches=cdrkit-deterministic.patch
7 |
8 | define $(package)_preprocess_cmds
9 | patch -p1 < $($(package)_patch_dir)/cdrkit-deterministic.patch
10 | endef
11 |
12 | define $(package)_config_cmds
13 | cmake -DCMAKE_INSTALL_PREFIX=$(build_prefix)
14 | endef
15 |
16 | define $(package)_build_cmds
17 | $(MAKE) genisoimage
18 | endef
19 |
20 | define $(package)_stage_cmds
21 | $(MAKE) DESTDIR=$($(package)_staging_dir) -C genisoimage install
22 | endef
23 |
24 | define $(package)_postprocess_cmds
25 | rm bin/isovfy bin/isoinfo bin/isodump bin/isodebug bin/devdump
26 | endef
27 |
--------------------------------------------------------------------------------
/depends/packages/native_ds_store.mk:
--------------------------------------------------------------------------------
1 | package=native_ds_store
2 | $(package)_version=1.1.2
3 | $(package)_download_path=https://github.com/al45tair/ds_store/archive/
4 | $(package)_file_name=v$($(package)_version).tar.gz
5 | $(package)_sha256_hash=3b3ecb7bf0a5157f5b6010bc3af7c141fb0ad3527084e63336220d22744bc20c
6 | $(package)_install_libdir=$(build_prefix)/lib/python3/dist-packages
7 | $(package)_dependencies=native_biplist
8 |
9 | define $(package)_build_cmds
10 | python3 setup.py build
11 | endef
12 |
13 | define $(package)_stage_cmds
14 | mkdir -p $($(package)_install_libdir) && \
15 | python3 setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir)
16 | endef
17 |
--------------------------------------------------------------------------------
/depends/packages/native_libdmg-hfsplus.mk:
--------------------------------------------------------------------------------
1 | package=native_libdmg-hfsplus
2 | $(package)_version=0.1
3 | $(package)_download_path=https://github.com/theuni/libdmg-hfsplus/archive
4 | $(package)_file_name=libdmg-hfsplus-v$($(package)_version).tar.gz
5 | $(package)_sha256_hash=6569a02eb31c2827080d7d59001869ea14484c281efab0ae7f2b86af5c3120b3
6 | $(package)_build_subdir=build
7 |
8 | define $(package)_preprocess_cmds
9 | mkdir build
10 | endef
11 |
12 | define $(package)_config_cmds
13 | cmake -DCMAKE_INSTALL_PREFIX:PATH=$(build_prefix)/bin ..
14 | endef
15 |
16 | define $(package)_build_cmds
17 | $(MAKE) -C dmg
18 | endef
19 |
20 | define $(package)_stage_cmds
21 | $(MAKE) DESTDIR=$($(package)_staging_dir) -C dmg install
22 | endef
23 |
--------------------------------------------------------------------------------
/depends/packages/native_mac_alias.mk:
--------------------------------------------------------------------------------
1 | package=native_mac_alias
2 | $(package)_version=2.0.7
3 | $(package)_download_path=https://github.com/al45tair/mac_alias/archive/
4 | $(package)_file_name=v$($(package)_version).tar.gz
5 | $(package)_sha256_hash=6f606d3b6bccd2112aeabf1a063f5b5ece87005a5d7e97c8faca23b916e88838
6 | $(package)_install_libdir=$(build_prefix)/lib/python3/dist-packages
7 |
8 | define $(package)_build_cmds
9 | python3 setup.py build
10 | endef
11 |
12 | define $(package)_stage_cmds
13 | mkdir -p $($(package)_install_libdir) && \
14 | python3 setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir)
15 | endef
16 |
--------------------------------------------------------------------------------
/depends/packages/native_protobuf.mk:
--------------------------------------------------------------------------------
1 | package=native_protobuf
2 | $(package)_version=2.6.1
3 | $(package)_download_path=https://github.com/google/protobuf/releases/download/v$($(package)_version)
4 | $(package)_file_name=protobuf-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=ee445612d544d885ae240ffbcbf9267faa9f593b7b101f21d58beceb92661910
6 |
7 | define $(package)_set_vars
8 | $(package)_config_opts=--disable-shared --without-zlib
9 | endef
10 |
11 | define $(package)_config_cmds
12 | $($(package)_autoconf)
13 | endef
14 |
15 | define $(package)_build_cmds
16 | $(MAKE) -C src protoc
17 | endef
18 |
19 | define $(package)_stage_cmds
20 | $(MAKE) -C src DESTDIR=$($(package)_staging_dir) install-strip
21 | endef
22 |
23 | define $(package)_postprocess_cmds
24 | rm -rf lib include
25 | endef
26 |
--------------------------------------------------------------------------------
/depends/packages/packages.mk:
--------------------------------------------------------------------------------
1 | packages:=boost openssl libevent zeromq
2 |
3 | qt_native_packages = native_protobuf
4 | qt_packages = qrencode protobuf zlib
5 |
6 | qt_x86_64_linux_packages:=qt expat libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans
7 | qt_i686_linux_packages:=$(qt_x86_64_linux_packages)
8 | qt_arm_linux_packages:=$(qt_x86_64_linux_packages)
9 | qt_aarch64_linux_packages:=$(qt_x86_64_linux_packages)
10 |
11 | qt_darwin_packages=qt
12 | qt_mingw32_packages=qt
13 |
14 | wallet_packages=bdb
15 |
16 | upnp_packages=miniupnpc
17 |
18 | darwin_native_packages = native_biplist native_ds_store native_mac_alias
19 |
20 | ifneq ($(build_os),darwin)
21 | darwin_native_packages += native_cctools native_cdrkit native_libdmg-hfsplus
22 | endif
23 |
--------------------------------------------------------------------------------
/depends/packages/qrencode.mk:
--------------------------------------------------------------------------------
1 | package=qrencode
2 | $(package)_version=3.4.4
3 | $(package)_download_path=https://fukuchi.org/works/qrencode/
4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=efe5188b1ddbcbf98763b819b146be6a90481aac30cfc8d858ab78a19cde1fa5
6 |
7 | define $(package)_set_vars
8 | $(package)_config_opts=--disable-shared -without-tools --disable-sdltest
9 | $(package)_config_opts_linux=--with-pic
10 | endef
11 |
12 | define $(package)_preprocess_cmds
13 | cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub use
14 | endef
15 |
16 | define $(package)_config_cmds
17 | $($(package)_autoconf)
18 | endef
19 |
20 | define $(package)_build_cmds
21 | $(MAKE)
22 | endef
23 |
24 | define $(package)_stage_cmds
25 | $(MAKE) DESTDIR=$($(package)_staging_dir) install
26 | endef
27 |
--------------------------------------------------------------------------------
/depends/packages/xcb_proto.mk:
--------------------------------------------------------------------------------
1 | package=xcb_proto
2 | $(package)_version=1.10
3 | $(package)_download_path=https://xcb.freedesktop.org/dist
4 | $(package)_file_name=xcb-proto-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=7ef40ddd855b750bc597d2a435da21e55e502a0fefa85b274f2c922800baaf05
6 |
7 | define $(package)_set_vars
8 | $(package)_config_opts=--disable-shared
9 | $(package)_config_opts_linux=--with-pic
10 | endef
11 |
12 | define $(package)_config_cmds
13 | $($(package)_autoconf)
14 | endef
15 |
16 | define $(package)_build_cmds
17 | $(MAKE)
18 | endef
19 |
20 | define $(package)_stage_cmds
21 | $(MAKE) DESTDIR=$($(package)_staging_dir) install
22 | endef
23 |
24 | define $(package)_postprocess_cmds
25 | find -name "*.pyc" -delete && \
26 | find -name "*.pyo" -delete
27 | endef
28 |
--------------------------------------------------------------------------------
/depends/packages/xextproto.mk:
--------------------------------------------------------------------------------
1 | package=xextproto
2 | $(package)_version=7.3.0
3 | $(package)_download_path=https://xorg.freedesktop.org/releases/individual/proto
4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=f3f4b23ac8db9c3a9e0d8edb591713f3d70ef9c3b175970dd8823dfc92aa5bb0
6 |
7 | define $(package)_preprocess_cmds
8 | cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
9 | endef
10 |
11 | define $(package)_set_vars
12 | $(package)_config_opts=--disable-shared
13 | endef
14 |
15 | define $(package)_config_cmds
16 | $($(package)_autoconf)
17 | endef
18 |
19 | define $(package)_build_cmds
20 | $(MAKE)
21 | endef
22 |
23 | define $(package)_stage_cmds
24 | $(MAKE) DESTDIR=$($(package)_staging_dir) install
25 | endef
26 |
--------------------------------------------------------------------------------
/depends/packages/xproto.mk:
--------------------------------------------------------------------------------
1 | package=xproto
2 | $(package)_version=7.0.26
3 | $(package)_download_path=https://xorg.freedesktop.org/releases/individual/proto
4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=636162c1759805a5a0114a369dffdeccb8af8c859ef6e1445f26a4e6e046514f
6 |
7 | define $(package)_set_vars
8 | $(package)_config_opts=--disable-shared
9 | endef
10 |
11 | define $(package)_preprocess_cmds
12 | cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
13 | endef
14 |
15 | define $(package)_config_cmds
16 | $($(package)_autoconf)
17 | endef
18 |
19 | define $(package)_build_cmds
20 | $(MAKE)
21 | endef
22 |
23 | define $(package)_stage_cmds
24 | $(MAKE) DESTDIR=$($(package)_staging_dir) install
25 | endef
26 |
--------------------------------------------------------------------------------
/depends/packages/xtrans.mk:
--------------------------------------------------------------------------------
1 | package=xtrans
2 | $(package)_version=1.3.4
3 | $(package)_download_path=https://xorg.freedesktop.org/releases/individual/lib/
4 | $(package)_file_name=$(package)-$($(package)_version).tar.bz2
5 | $(package)_sha256_hash=054d4ee3efd52508c753e9f7bc655ef185a29bd2850dd9e2fc2ccc33544f583a
6 | $(package)_dependencies=
7 |
8 | define $(package)_set_vars
9 | $(package)_config_opts_linux=--with-pic --disable-static
10 | endef
11 |
12 | define $(package)_preprocess_cmds
13 | cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
14 | endef
15 |
16 | define $(package)_config_cmds
17 | $($(package)_autoconf)
18 | endef
19 |
20 | define $(package)_build_cmds
21 | $(MAKE)
22 | endef
23 |
24 | define $(package)_stage_cmds
25 | $(MAKE) DESTDIR=$($(package)_staging_dir) install
26 | endef
27 |
--------------------------------------------------------------------------------
/depends/packages/zlib.mk:
--------------------------------------------------------------------------------
1 | package=zlib
2 | $(package)_version=1.2.11
3 | $(package)_download_path=https://www.zlib.net
4 | $(package)_file_name=$(package)-$($(package)_version).tar.gz
5 | $(package)_sha256_hash=c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1
6 |
7 | define $(package)_set_vars
8 | $(package)_build_opts= CC="$($(package)_cc)"
9 | $(package)_build_opts+=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -fPIC"
10 | $(package)_build_opts+=RANLIB="$($(package)_ranlib)"
11 | $(package)_build_opts+=AR="$($(package)_ar)"
12 | $(package)_build_opts_darwin+=AR="$($(package)_libtool)"
13 | $(package)_build_opts_darwin+=ARFLAGS="-o"
14 | endef
15 |
16 | define $(package)_config_cmds
17 | ./configure --static --prefix=$(host_prefix)
18 | endef
19 |
20 | define $(package)_build_cmds
21 | $(MAKE) $($(package)_build_opts) libz.a
22 | endef
23 |
24 | define $(package)_stage_cmds
25 | $(MAKE) DESTDIR=$($(package)_staging_dir) install $($(package)_build_opts)
26 | endef
27 |
28 |
--------------------------------------------------------------------------------
/depends/patches/qt/fix_no_printer.patch:
--------------------------------------------------------------------------------
1 | --- x/qtbase/src/plugins/platforms/cocoa/qprintengine_mac_p.h
2 | +++ y/qtbase/src/plugins/platforms/cocoa/qprintengine_mac_p.h
3 | @@ -52,6 +52,7 @@
4 | //
5 |
6 | #include
7 | +#include
8 |
9 | #ifndef QT_NO_PRINTER
10 |
11 | --- x/qtbase/src/plugins/plugins.pro
12 | +++ y/qtbase/src/plugins/plugins.pro
13 | @@ -8,6 +8,3 @@ qtHaveModule(gui) {
14 | qtConfig(imageformatplugin): SUBDIRS *= imageformats
15 | !android:qtConfig(library): SUBDIRS *= generic
16 | }
17 | -
18 | -!winrt:qtHaveModule(printsupport): \
19 | - SUBDIRS += printsupport
20 |
--------------------------------------------------------------------------------
/depends/patches/qt/fix_qt_pkgconfig.patch:
--------------------------------------------------------------------------------
1 | --- old/qtbase/mkspecs/features/qt_module.prf
2 | +++ new/qtbase/mkspecs/features/qt_module.prf
3 | @@ -245,7 +245,7 @@
4 | load(qt_targets)
5 |
6 | # this builds on top of qt_common
7 | -!internal_module:!lib_bundle:if(unix|mingw) {
8 | +unix|mingw {
9 | CONFIG += create_pc
10 | QMAKE_PKGCONFIG_DESTDIR = pkgconfig
11 | host_build: \
12 |
--------------------------------------------------------------------------------
/depends/patches/qt/fix_rcc_determinism.patch:
--------------------------------------------------------------------------------
1 | --- old/qtbase/src/tools/rcc/rcc.cpp
2 | +++ new/qtbase/src/tools/rcc/rcc.cpp
3 | @@ -207,7 +207,11 @@ void RCCFileInfo::writeDataInfo(RCCResourceLibrary &lib)
4 | if (lib.formatVersion() >= 2) {
5 | // last modified time stamp
6 | const QDateTime lastModified = m_fileInfo.lastModified();
7 | - lib.writeNumber8(quint64(lastModified.isValid() ? lastModified.toMSecsSinceEpoch() : 0));
8 | + quint64 lastmod = quint64(lastModified.isValid() ? lastModified.toMSecsSinceEpoch() : 0);
9 | + static const quint64 sourceDate = 1000 * qgetenv("QT_RCC_SOURCE_DATE_OVERRIDE").toULongLong();
10 | + if (sourceDate != 0)
11 | + lastmod = sourceDate;
12 | + lib.writeNumber8(lastmod);
13 | if (text || pass1)
14 | lib.writeChar('\n');
15 | }
16 |
--------------------------------------------------------------------------------
/depends/patches/qt/fix_riscv64_arch.patch:
--------------------------------------------------------------------------------
1 | diff --git a/qtbase/src/3rdparty/double-conversion/include/double-conversion/utils.h b/qtbase/src/3rdparty/double-conversion/include/double-conversion/utils.h
2 | index 20bfd36..93729fa 100644
3 | --- a/qtbase/src/3rdparty/double-conversion/include/double-conversion/utils.h
4 | +++ b/qtbase/src/3rdparty/double-conversion/include/double-conversion/utils.h
5 | @@ -65,7 +65,8 @@
6 | defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
7 | defined(__SH4__) || defined(__alpha__) || \
8 | defined(_MIPS_ARCH_MIPS32R2) || \
9 | - defined(__AARCH64EL__)
10 | + defined(__AARCH64EL__) || defined(__aarch64__) || \
11 | + defined(__riscv)
12 | #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
13 | #elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
14 | #if defined(_WIN32)
15 |
--------------------------------------------------------------------------------
/depends/patches/qt/xkb-default.patch:
--------------------------------------------------------------------------------
1 | --- old/qtbase/src/gui/configure.pri 2018-06-06 17:28:10.000000000 -0400
2 | +++ new/qtbase/src/gui/configure.pri 2018-08-17 18:43:01.589384567 -0400
3 | @@ -43,18 +43,11 @@
4 | }
5 |
6 | defineTest(qtConfTest_xkbConfigRoot) {
7 | - qtConfTest_getPkgConfigVariable($${1}): return(true)
8 | -
9 | - for (dir, $$list("/usr/share/X11/xkb", "/usr/local/share/X11/xkb")) {
10 | - exists($$dir) {
11 | - $${1}.value = $$dir
12 | - export($${1}.value)
13 | - $${1}.cache += value
14 | - export($${1}.cache)
15 | - return(true)
16 | - }
17 | - }
18 | - return(false)
19 | + $${1}.value = "/usr/share/X11/xkb"
20 | + export($${1}.value)
21 | + $${1}.cache += value
22 | + export($${1}.cache)
23 | + return(true)
24 | }
25 |
26 | defineTest(qtConfTest_qpaDefaultPlatform) {
27 |
--------------------------------------------------------------------------------
/depends/patches/zeromq/0001-fix-build-with-older-mingw64.patch:
--------------------------------------------------------------------------------
1 | From 1a159c128c69a42d90819375c06a39994f3fbfc1 Mon Sep 17 00:00:00 2001
2 | From: Cory Fields
3 | Date: Tue, 28 Nov 2017 20:33:25 -0500
4 | Subject: [PATCH] fix build with older mingw64
5 |
6 | ---
7 | src/windows.hpp | 7 +++++++
8 | 1 file changed, 7 insertions(+)
9 |
10 | diff --git a/src/windows.hpp b/src/windows.hpp
11 | index 99e889d..e69038e 100644
12 | --- a/src/windows.hpp
13 | +++ b/src/windows.hpp
14 | @@ -55,6 +55,13 @@
15 | #include
16 | #include
17 | #include
18 | +
19 | +#if defined __MINGW64_VERSION_MAJOR && __MINGW64_VERSION_MAJOR < 4
20 | +// Workaround for mingw-w64 < v4.0 which did not include ws2ipdef.h in iphlpapi.h.
21 | +// Fixed in mingw-w64 by 9bd8fe9148924840d315b4c915dd099955ea89d1.
22 | +#include
23 | +#include
24 | +#endif
25 | #include
26 |
27 | #if !defined __MINGW32__
28 | --
29 | 2.7.4
30 |
31 |
--------------------------------------------------------------------------------
/depends/patches/zeromq/0002-disable-pthread_set_name_np.patch:
--------------------------------------------------------------------------------
1 | From c9bbdd6581d07acfe8971e4bcebe278a3676cf03 Mon Sep 17 00:00:00 2001
2 | From: mruddy <6440430+mruddy@users.noreply.github.com>
3 | Date: Sat, 30 Jun 2018 09:57:18 -0400
4 | Subject: [PATCH] disable pthread_set_name_np
5 |
6 | pthread_set_name_np adds a Glibc requirement on >= 2.12.
7 | ---
8 | src/thread.cpp | 4 +++-
9 | 1 file changed, 3 insertions(+), 1 deletion(-)
10 |
11 | diff --git a/src/thread.cpp b/src/thread.cpp
12 | index a1086b0c..9943f354 100644
13 | --- a/src/thread.cpp
14 | +++ b/src/thread.cpp
15 | @@ -307,7 +307,7 @@ void zmq::thread_t::setThreadName (const char *name_)
16 | */
17 | if (!name_)
18 | return;
19 | -
20 | +#if 0
21 | #if defined(ZMQ_HAVE_PTHREAD_SETNAME_1)
22 | int rc = pthread_setname_np (name_);
23 | if (rc)
24 | @@ -323,6 +323,8 @@ void zmq::thread_t::setThreadName (const char *name_)
25 | #elif defined(ZMQ_HAVE_PTHREAD_SET_NAME)
26 | pthread_set_name_np (descriptor, name_);
27 | #endif
28 | +#endif
29 | + return;
30 | }
31 |
32 | #endif
33 | --
34 | 2.17.1
35 |
36 |
--------------------------------------------------------------------------------
/doc/How_to_set_up_your_Bitcoin_2_Staking_Raspberry_Pi.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/How_to_set_up_your_Bitcoin_2_Staking_Raspberry_Pi.pdf
--------------------------------------------------------------------------------
/doc/README_windows.txt:
--------------------------------------------------------------------------------
1 | Bitcoin 2 Core
2 | =====================
3 |
4 | Intro
5 | -----
6 | Bitcoin 2 is a free open source peer-to-peer electronic cash system that is
7 | completely decentralized, without the need for a central server or trusted
8 | parties. Users hold the crypto keys to their own money and transact directly
9 | with each other, with the help of a P2P network to check for double-spending.
10 |
11 |
12 | Setup
13 | -----
14 | Unpack the files into a directory and run bitcoin2-qt.exe.
15 |
16 | Bitcoin 2 Core is the original Bitcoin 2 client and it builds the backbone of the network.
17 | However, it downloads and stores the entire history of Bitcoin 2 transactions;
18 | depending on the speed of your computer and network connection, the synchronization
19 | process can take anywhere from several minutes to a day or more.
20 |
--------------------------------------------------------------------------------
/doc/bitcoin_logo_doxygen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/bitcoin_logo_doxygen.png
--------------------------------------------------------------------------------
/doc/gitian-building/create_vm_file_location_size.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/create_vm_file_location_size.png
--------------------------------------------------------------------------------
/doc/gitian-building/create_vm_hard_drive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/create_vm_hard_drive.png
--------------------------------------------------------------------------------
/doc/gitian-building/create_vm_hard_drive_file_type.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/create_vm_hard_drive_file_type.png
--------------------------------------------------------------------------------
/doc/gitian-building/create_vm_memsize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/create_vm_memsize.png
--------------------------------------------------------------------------------
/doc/gitian-building/create_vm_page1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/create_vm_page1.png
--------------------------------------------------------------------------------
/doc/gitian-building/create_vm_storage_physical_hard_drive.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/create_vm_storage_physical_hard_drive.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_10_configure_clock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_10_configure_clock.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_11_partition_disks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_11_partition_disks.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_12_choose_disk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_12_choose_disk.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_13_partition_scheme.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_13_partition_scheme.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_14_finish.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_14_finish.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_15_write_changes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_15_write_changes.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_16_choose_a_mirror.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_16_choose_a_mirror.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_17_choose_a_mirror2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_17_choose_a_mirror2.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_18_proxy_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_18_proxy_settings.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_19_software_selection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_19_software_selection.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_1_boot_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_1_boot_menu.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_20_install_grub.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_20_install_grub.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_21_finish_installation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_21_finish_installation.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_2_select_a_language.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_2_select_a_language.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_3_select_location.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_3_select_location.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_4_configure_keyboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_4_configure_keyboard.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_5_configure_the_network.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_5_configure_the_network.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_6_domain_name.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_6_domain_name.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_6a_set_up_root_password.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_6a_set_up_root_password.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_7_set_up_user_fullname.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_7_set_up_user_fullname.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_8_set_up_username.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_8_set_up_username.png
--------------------------------------------------------------------------------
/doc/gitian-building/debian_install_9_user_password.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/debian_install_9_user_password.png
--------------------------------------------------------------------------------
/doc/gitian-building/network_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/network_settings.png
--------------------------------------------------------------------------------
/doc/gitian-building/port_forwarding_rules.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/port_forwarding_rules.png
--------------------------------------------------------------------------------
/doc/gitian-building/select_startup_disk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/doc/gitian-building/select_startup_disk.png
--------------------------------------------------------------------------------
/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 bitcoin2d tests manually, launch src/test/test_bitcoin2 .
10 |
11 | To add more bitcoin2d 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 bitcoin2-qt tests manually, launch src/qt/test/bitcoin2-qt_test
16 |
17 | To add more bitcoin2-qt tests, add them to the `src/qt/test/` directory and
18 | the `src/qt/test/test_main.cpp` file.
19 |
--------------------------------------------------------------------------------
/qa/pull-tester/run-bitcoin-cli:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # This is a thin wrapper around bitcoin-cli that strips the Windows-style EOLs
4 | # from the output if present. It is necessary when using bitcoin-cli.exe on
5 | # Linux since shells will interpret the line-endings as part of the result.
6 |
7 | CURDIR=$(cd $(dirname "$0"); pwd)
8 | # Get BUILDDIR and REAL_BITCOIND
9 |
10 | # Grab the value of $REAL_BITCOINCLI which may be bitcoin-cli.exe.
11 | . "${CURDIR}/tests-config.sh"
12 |
13 | "${REAL_BITCOINCLI}" "$@" | sed 's/\r//'
14 |
--------------------------------------------------------------------------------
/qa/pull-tester/tests-config.sh.in:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Copyright (c) 2013-2014 The Bitcoin Core developers
3 | # Distributed under the MIT software license, see the accompanying
4 | # file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 |
6 | BUILDDIR="@abs_top_builddir@"
7 | EXEEXT="@EXEEXT@"
8 |
9 | # These will turn into comments if they were disabled when configuring.
10 | @ENABLE_WALLET_TRUE@ENABLE_WALLET=1
11 | @BUILD_BITCOIN_UTILS_TRUE@ENABLE_UTILS=1
12 | @BUILD_BITCOIND_TRUE@ENABLE_BITCOIND=1
13 |
14 | REAL_BITCOIND="$BUILDDIR/src/bitcoin2d${EXEEXT}"
15 | REAL_BITCOINCLI="$BUILDDIR/src/bitcoin2-cli${EXEEXT}"
16 |
17 |
--------------------------------------------------------------------------------
/qa/rpc-tests/python-bitcoinrpc/bitcoinrpc/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/qa/rpc-tests/python-bitcoinrpc/bitcoinrpc/__init__.py
--------------------------------------------------------------------------------
/qa/rpc-tests/python-bitcoinrpc/setup.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python2
2 |
3 | from distutils.core import setup
4 |
5 | setup(name='python-bitcoinrpc',
6 | version='0.1',
7 | description='Enhanced version of python-jsonrpc for use with Bitcoin',
8 | long_description=open('README').read(),
9 | author='Jeff Garzik',
10 | author_email='',
11 | maintainer='Jeff Garzik',
12 | maintainer_email='',
13 | url='http://www.github.com/jgarzik/python-bitcoinrpc',
14 | packages=['bitcoinrpc'],
15 | classifiers=['License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)', 'Operating System :: OS Independent'])
16 |
--------------------------------------------------------------------------------
/qa/rpc-tests/send.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Copyright (c) 2014 The Bitcoin Core developers
3 | # Distributed under the MIT software license, see the accompanying
4 | # file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 | TIMEOUT=10
6 | SIGNAL=HUP
7 | PIDFILE=.send.pid
8 | if [ $# -eq 0 ]; then
9 | echo -e "Usage:\t$0 "
10 | echo -e "\tRuns and wait ${TIMEOUT} seconds or until SIG${SIGNAL} is received."
11 | echo -e "\tReturns: 0 if SIG${SIGNAL} is received, 1 otherwise."
12 | echo -e "Or:\t$0 -STOP"
13 | echo -e "\tsends SIG${SIGNAL} to running send.sh"
14 | exit 0
15 | fi
16 |
17 | if [ $1 = "-STOP" ]; then
18 | if [ -s ${PIDFILE} ]; then
19 | kill -s ${SIGNAL} $(<$PIDFILE 2>/dev/null) 2>/dev/null
20 | fi
21 | exit 0
22 | fi
23 |
24 | trap '[[ ${PID} ]] && kill ${PID}' ${SIGNAL}
25 | trap 'rm -f ${PIDFILE}' EXIT
26 | echo $$ > ${PIDFILE}
27 | "$@"
28 | sleep ${TIMEOUT} & PID=$!
29 | wait ${PID} && exit 1
30 |
31 | exit 0
32 |
--------------------------------------------------------------------------------
/share/pixmaps/addressbook16.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/addressbook16.bmp
--------------------------------------------------------------------------------
/share/pixmaps/addressbook16mask.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/addressbook16mask.bmp
--------------------------------------------------------------------------------
/share/pixmaps/addressbook20.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/addressbook20.bmp
--------------------------------------------------------------------------------
/share/pixmaps/addressbook20mask.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/addressbook20mask.bmp
--------------------------------------------------------------------------------
/share/pixmaps/bitcoin-bc.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/bitcoin-bc.ico
--------------------------------------------------------------------------------
/share/pixmaps/bitcoin.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/bitcoin.ico
--------------------------------------------------------------------------------
/share/pixmaps/bitcoin128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/bitcoin128.png
--------------------------------------------------------------------------------
/share/pixmaps/bitcoin16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/bitcoin16.png
--------------------------------------------------------------------------------
/share/pixmaps/bitcoin256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/bitcoin256.png
--------------------------------------------------------------------------------
/share/pixmaps/bitcoin32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/bitcoin32.png
--------------------------------------------------------------------------------
/share/pixmaps/bitcoin48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/bitcoin48.png
--------------------------------------------------------------------------------
/share/pixmaps/bitcoin64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/bitcoin64.png
--------------------------------------------------------------------------------
/share/pixmaps/check.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/check.ico
--------------------------------------------------------------------------------
/share/pixmaps/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/favicon.ico
--------------------------------------------------------------------------------
/share/pixmaps/nsis-header.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/nsis-header.bmp
--------------------------------------------------------------------------------
/share/pixmaps/nsis-wizard.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/nsis-wizard.bmp
--------------------------------------------------------------------------------
/share/pixmaps/send16.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/send16.bmp
--------------------------------------------------------------------------------
/share/pixmaps/send16mask.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/send16mask.bmp
--------------------------------------------------------------------------------
/share/pixmaps/send16masknoshadow.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/send16masknoshadow.bmp
--------------------------------------------------------------------------------
/share/pixmaps/send20.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/send20.bmp
--------------------------------------------------------------------------------
/share/pixmaps/send20mask.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/pixmaps/send20mask.bmp
--------------------------------------------------------------------------------
/share/qt/img/reload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/share/qt/img/reload.png
--------------------------------------------------------------------------------
/share/qt/img/reload.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/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 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.png'
11 | TMPDIR='../../src/qt/res/movies/'
12 | TMPNAME='spinner-%03i.png'
13 | NUMFRAMES=35
14 | FRAMERATE=10.0
15 | CONVERT='convert'
16 | CLOCKWISE=True
17 | DSIZE=(16,16)
18 |
19 | im_src = Image.open(SRC)
20 |
21 | if CLOCKWISE:
22 | im_src = im_src.transpose(Image.FLIP_LEFT_RIGHT)
23 |
24 | def frame_to_filename(frame):
25 | return path.join(TMPDIR, TMPNAME % frame)
26 |
27 | frame_files = []
28 | for frame in xrange(NUMFRAMES):
29 | rotation = (frame + 0.5) / NUMFRAMES * 360.0
30 | if CLOCKWISE:
31 | rotation = -rotation
32 | im_new = im_src.rotate(rotation, Image.BICUBIC)
33 | im_new.thumbnail(DSIZE, Image.ANTIALIAS)
34 | outfile = frame_to_filename(frame)
35 | im_new.save(outfile, 'png')
36 | frame_files.append(outfile)
37 |
38 |
39 |
--------------------------------------------------------------------------------
/share/qt/make_windows_icon.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # create multiresolution windows icon
3 | #mainnet
4 | ICON_SRC=../../src/qt/res/icons/bitcoin.png
5 | ICON_DST=../../src/qt/res/icons/bitcoin.ico
6 | convert ${ICON_SRC} -resize 16x16 bitcoin-16.png
7 | convert ${ICON_SRC} -resize 32x32 bitcoin-32.png
8 | convert ${ICON_SRC} -resize 48x48 bitcoin-48.png
9 | convert bitcoin-16.png bitcoin-32.png bitcoin-48.png ${ICON_DST}
10 | #testnet
11 | ICON_SRC=../../src/qt/res/icons/bitcoin_testnet.png
12 | ICON_DST=../../src/qt/res/icons/bitcoin_testnet.ico
13 | convert ${ICON_SRC} -resize 16x16 bitcoin-16.png
14 | convert ${ICON_SRC} -resize 32x32 bitcoin-32.png
15 | convert ${ICON_SRC} -resize 48x48 bitcoin-48.png
16 | convert bitcoin-16.png bitcoin-32.png bitcoin-48.png ${ICON_DST}
17 | rm bitcoin-16.png bitcoin-32.png bitcoin-48.png
18 |
--------------------------------------------------------------------------------
/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/accumulatormap.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2017 The PIVX developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 | #ifndef Bitcoin2_ACCUMULATORMAP_H
5 | #define Bitcoin2_ACCUMULATORMAP_H
6 |
7 | #include "libzerocoin/Accumulator.h"
8 | #include "libzerocoin/Coin.h"
9 |
10 | //A map with an accumulator for each denomination
11 | class AccumulatorMap
12 | {
13 | private:
14 | std::map > mapAccumulators;
15 | public:
16 | AccumulatorMap();
17 | bool Load(uint256 nCheckpoint);
18 | bool Accumulate(libzerocoin::PublicCoin pubCoin, bool fSkipValidation = false);
19 | CBigNum GetValue(libzerocoin::CoinDenomination denom);
20 | uint256 GetCheckpoint();
21 | void Reset();
22 | };
23 | #endif //Bitcoin2_ACCUMULATORMAP_H
24 |
--------------------------------------------------------------------------------
/src/amount.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2009-2010 Satoshi Nakamoto
2 | // Copyright (c) 2009-2014 The Bitcoin developers
3 | // Distributed under the MIT software license, see the accompanying
4 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 |
6 | #include "amount.h"
7 |
8 | #include "tinyformat.h"
9 |
10 | CFeeRate::CFeeRate(const CAmount& nFeePaid, size_t nSize)
11 | {
12 | if (nSize > 0)
13 | nSatoshisPerK = nFeePaid * 1000 / nSize;
14 | else
15 | nSatoshisPerK = 0;
16 | }
17 |
18 | CAmount CFeeRate::GetFee(size_t nSize) const
19 | {
20 | CAmount nFee = nSatoshisPerK * nSize / 1000;
21 |
22 | if (nFee == 0 && nSatoshisPerK > 0)
23 | nFee = nSatoshisPerK;
24 |
25 | return nFee;
26 | }
27 |
28 | std::string CFeeRate::ToString() const
29 | {
30 | return strprintf("%d.%08d BTC2/kB", nSatoshisPerK / COIN, nSatoshisPerK % COIN);
31 | }
32 |
--------------------------------------------------------------------------------
/src/compat/glibc_compat.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2009-2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #if defined(HAVE_CONFIG_H)
6 | #include "config/bitcoin2-config.h"
7 | #endif
8 |
9 | #include
10 |
11 | #if defined(HAVE_SYS_SELECT_H)
12 | #include
13 | #endif
14 |
15 | // Prior to GLIBC_2.14, memcpy was aliased to memmove.
16 | extern "C" void* memmove(void* a, const void* b, size_t c);
17 | extern "C" void* memcpy(void* a, const void* b, size_t c)
18 | {
19 | return memmove(a, b, c);
20 | }
21 |
22 | extern "C" void __chk_fail(void) __attribute__((__noreturn__));
23 | extern "C" FDELT_TYPE __fdelt_warn(FDELT_TYPE a)
24 | {
25 | if (a >= FD_SETSIZE)
26 | __chk_fail();
27 | return a / __NFDBITS;
28 | }
29 | extern "C" FDELT_TYPE __fdelt_chk(FDELT_TYPE) __attribute__((weak, alias("__fdelt_warn")));
30 |
--------------------------------------------------------------------------------
/src/compat/sanity.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2009-2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #ifndef BITCOIN_COMPAT_SANITY_H
6 | #define BITCOIN_COMPAT_SANITY_H
7 |
8 | bool glibc_sanity_test();
9 | bool glibcxx_sanity_test();
10 |
11 | #endif // BITCOIN_COMPAT_SANITY_H
12 |
--------------------------------------------------------------------------------
/src/compat/strnlen.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2009-2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #if defined(HAVE_CONFIG_H)
6 | #include "config/bitcoin2-config.h"
7 | #endif
8 |
9 | #include
10 |
11 | #if HAVE_DECL_STRNLEN == 0
12 | size_t strnlen( const char *start, size_t max_len)
13 | {
14 | const char *end = (const char *)memchr(start, '\0', max_len);
15 |
16 | return end ? (size_t)(end - start) : max_len;
17 | }
18 | #endif // HAVE_DECL_STRNLEN
19 |
--------------------------------------------------------------------------------
/src/config/.empty:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BITC2/bitcoin2/8b3a02391c8b3e55355db38f143bdf9a9be80cf4/src/config/.empty
--------------------------------------------------------------------------------
/src/crypto/hmac_sha256.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #include "crypto/hmac_sha256.h"
6 |
7 | #include
8 |
9 | CHMAC_SHA256::CHMAC_SHA256(const unsigned char* key, size_t keylen)
10 | {
11 | unsigned char rkey[64];
12 | if (keylen <= 64) {
13 | memcpy(rkey, key, keylen);
14 | memset(rkey + keylen, 0, 64 - keylen);
15 | } else {
16 | CSHA256().Write(key, keylen).Finalize(rkey);
17 | memset(rkey + 32, 0, 32);
18 | }
19 |
20 | for (int n = 0; n < 64; n++)
21 | rkey[n] ^= 0x5c;
22 | outer.Write(rkey, 64);
23 |
24 | for (int n = 0; n < 64; n++)
25 | rkey[n] ^= 0x5c ^ 0x36;
26 | inner.Write(rkey, 64);
27 | }
28 |
29 | void CHMAC_SHA256::Finalize(unsigned char hash[OUTPUT_SIZE])
30 | {
31 | unsigned char temp[32];
32 | inner.Finalize(temp);
33 | outer.Write(temp, 32).Finalize(hash);
34 | }
35 |
--------------------------------------------------------------------------------
/src/crypto/hmac_sha256.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #ifndef BITCOIN_CRYPTO_HMAC_SHA256_H
6 | #define BITCOIN_CRYPTO_HMAC_SHA256_H
7 |
8 | #include "crypto/sha256.h"
9 |
10 | #include
11 | #include
12 |
13 | /** A hasher class for HMAC-SHA-256. */
14 | class CHMAC_SHA256
15 | {
16 | private:
17 | CSHA256 outer;
18 | CSHA256 inner;
19 |
20 | public:
21 | static const size_t OUTPUT_SIZE = 32;
22 |
23 | CHMAC_SHA256(const unsigned char* key, size_t keylen);
24 | CHMAC_SHA256& Write(const unsigned char* data, size_t len)
25 | {
26 | inner.Write(data, len);
27 | return *this;
28 | }
29 | void Finalize(unsigned char hash[OUTPUT_SIZE]);
30 | };
31 |
32 | #endif // BITCOIN_CRYPTO_HMAC_SHA256_H
33 |
--------------------------------------------------------------------------------
/src/crypto/hmac_sha512.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #include "crypto/hmac_sha512.h"
6 |
7 | #include
8 |
9 | CHMAC_SHA512::CHMAC_SHA512(const unsigned char* key, size_t keylen)
10 | {
11 | unsigned char rkey[128];
12 | if (keylen <= 128) {
13 | memcpy(rkey, key, keylen);
14 | memset(rkey + keylen, 0, 128 - keylen);
15 | } else {
16 | CSHA512().Write(key, keylen).Finalize(rkey);
17 | memset(rkey + 64, 0, 64);
18 | }
19 |
20 | for (int n = 0; n < 128; n++)
21 | rkey[n] ^= 0x5c;
22 | outer.Write(rkey, 128);
23 |
24 | for (int n = 0; n < 128; n++)
25 | rkey[n] ^= 0x5c ^ 0x36;
26 | inner.Write(rkey, 128);
27 | }
28 |
29 | void CHMAC_SHA512::Finalize(unsigned char hash[OUTPUT_SIZE])
30 | {
31 | unsigned char temp[64];
32 | inner.Finalize(temp);
33 | outer.Write(temp, 64).Finalize(hash);
34 | }
35 |
--------------------------------------------------------------------------------
/src/crypto/hmac_sha512.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #ifndef BITCOIN_CRYPTO_HMAC_SHA512_H
6 | #define BITCOIN_CRYPTO_HMAC_SHA512_H
7 |
8 | #include "crypto/sha512.h"
9 |
10 | #include
11 | #include
12 |
13 | /** A hasher class for HMAC-SHA-512. */
14 | class CHMAC_SHA512
15 | {
16 | private:
17 | CSHA512 outer;
18 | CSHA512 inner;
19 |
20 | public:
21 | static const size_t OUTPUT_SIZE = 64;
22 |
23 | CHMAC_SHA512(const unsigned char* key, size_t keylen);
24 | CHMAC_SHA512& Write(const unsigned char* data, size_t len)
25 | {
26 | inner.Write(data, len);
27 | return *this;
28 | }
29 | void Finalize(unsigned char hash[OUTPUT_SIZE]);
30 | };
31 |
32 | #endif // BITCOIN_CRYPTO_HMAC_SHA512_H
33 |
--------------------------------------------------------------------------------
/src/crypto/rfc6979_hmac_sha256.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #ifndef BITCOIN_RFC6979_HMAC_SHA256_H
6 | #define BITCOIN_RFC6979_HMAC_SHA256_H
7 |
8 | #include "crypto/hmac_sha256.h"
9 |
10 | #include
11 | #include
12 |
13 | /** The RFC 6979 PRNG using HMAC-SHA256. */
14 | class RFC6979_HMAC_SHA256
15 | {
16 | private:
17 | unsigned char V[CHMAC_SHA256::OUTPUT_SIZE];
18 | unsigned char K[CHMAC_SHA256::OUTPUT_SIZE];
19 | bool retry;
20 |
21 | public:
22 | /**
23 | * Construct a new RFC6979 PRNG, using the given key and message.
24 | * The message is assumed to be already hashed.
25 | */
26 | RFC6979_HMAC_SHA256(const unsigned char* key, size_t keylen, const unsigned char* msg, size_t msglen);
27 |
28 | /**
29 | * Generate a byte array.
30 | */
31 | void Generate(unsigned char* output, size_t outputlen);
32 |
33 | ~RFC6979_HMAC_SHA256();
34 | };
35 |
36 | #endif // BITCOIN_RFC6979_HMAC_SHA256_H
37 |
--------------------------------------------------------------------------------
/src/crypto/ripemd160.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #ifndef BITCOIN_CRYPTO_RIPEMD160_H
6 | #define BITCOIN_CRYPTO_RIPEMD160_H
7 |
8 | #include
9 | #include
10 |
11 | /** A hasher class for RIPEMD-160. */
12 | class CRIPEMD160
13 | {
14 | private:
15 | uint32_t s[5];
16 | unsigned char buf[64];
17 | size_t bytes;
18 |
19 | public:
20 | static const size_t OUTPUT_SIZE = 20;
21 |
22 | CRIPEMD160();
23 | CRIPEMD160& Write(const unsigned char* data, size_t len);
24 | void Finalize(unsigned char hash[OUTPUT_SIZE]);
25 | CRIPEMD160& Reset();
26 | };
27 |
28 | #endif // BITCOIN_CRYPTO_RIPEMD160_H
29 |
--------------------------------------------------------------------------------
/src/crypto/scrypt.h:
--------------------------------------------------------------------------------
1 | #ifndef SCRYPT_H
2 | #define SCRYPT_H
3 | #include
4 | #include
5 | #include
6 |
7 | void scrypt(const char* pass, unsigned int pLen, const char* salt, unsigned int sLen, char *output, unsigned int N, unsigned int r, unsigned int p, unsigned int dkLen);
8 |
9 | #endif
10 |
--------------------------------------------------------------------------------
/src/crypto/sha1.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #ifndef BITCOIN_CRYPTO_SHA1_H
6 | #define BITCOIN_CRYPTO_SHA1_H
7 |
8 | #include
9 | #include
10 |
11 | /** A hasher class for SHA1. */
12 | class CSHA1
13 | {
14 | private:
15 | uint32_t s[5];
16 | unsigned char buf[64];
17 | size_t bytes;
18 |
19 | public:
20 | static const size_t OUTPUT_SIZE = 20;
21 |
22 | CSHA1();
23 | CSHA1& Write(const unsigned char* data, size_t len);
24 | void Finalize(unsigned char hash[OUTPUT_SIZE]);
25 | CSHA1& Reset();
26 | };
27 |
28 | #endif // BITCOIN_CRYPTO_SHA1_H
29 |
--------------------------------------------------------------------------------
/src/crypto/sha256.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #ifndef BITCOIN_CRYPTO_SHA256_H
6 | #define BITCOIN_CRYPTO_SHA256_H
7 |
8 | #include
9 | #include
10 |
11 | /** A hasher class for SHA-256. */
12 | class CSHA256
13 | {
14 | private:
15 | uint32_t s[8];
16 | unsigned char buf[64];
17 | size_t bytes;
18 |
19 | public:
20 | static const size_t OUTPUT_SIZE = 32;
21 |
22 | CSHA256();
23 | CSHA256& Write(const unsigned char* data, size_t len);
24 | void Finalize(unsigned char hash[OUTPUT_SIZE]);
25 | CSHA256& Reset();
26 | };
27 |
28 | #endif // BITCOIN_CRYPTO_SHA256_H
29 |
--------------------------------------------------------------------------------
/src/crypto/sha512.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2014 The Bitcoin developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #ifndef BITCOIN_CRYPTO_SHA512_H
6 | #define BITCOIN_CRYPTO_SHA512_H
7 |
8 | #include
9 | #include
10 |
11 | /** A hasher class for SHA-512. */
12 | class CSHA512
13 | {
14 | private:
15 | uint64_t s[8];
16 | unsigned char buf[128];
17 | size_t bytes;
18 |
19 | public:
20 | static const size_t OUTPUT_SIZE = 64;
21 |
22 | CSHA512();
23 | CSHA512& Write(const unsigned char* data, size_t len);
24 | void Finalize(unsigned char hash[OUTPUT_SIZE]);
25 | CSHA512& Reset();
26 | };
27 |
28 | #endif // BITCOIN_CRYPTO_SHA512_H
29 |
--------------------------------------------------------------------------------
/src/eccryptoverify.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2009-2010 Satoshi Nakamoto
2 | // Copyright (c) 2009-2014 The Bitcoin developers
3 | // Distributed under the MIT software license, see the accompanying
4 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 |
6 | #ifndef BITCOIN_ECCRYPTOVERIFY_H
7 | #define BITCOIN_ECCRYPTOVERIFY_H
8 |
9 | #include
10 | #include
11 |
12 | class uint256;
13 |
14 | namespace eccrypto
15 | {
16 | bool Check(const unsigned char* vch);
17 | bool CheckSignatureElement(const unsigned char* vch, int len, bool half);
18 |
19 | } // eccrypto namespace
20 |
21 | #endif // BITCOIN_ECCRYPTOVERIFY_H
22 |
--------------------------------------------------------------------------------
/src/httprpc.h:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2015 The Bitcoin Core developers
2 | // Distributed under the MIT software license, see the accompanying
3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 |
5 | #ifndef BITCOIN_HTTPRPC_H
6 | #define BITCOIN_HTTPRPC_H
7 |
8 | #include
9 | #include