Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1445 commits
Select commit Hold shift + click to select a range
87b8175
[depends] Latest config.guess & config.sub
fanquake May 3, 2016
3e0587b
[depends] miniupnpc 2.0
fanquake May 10, 2016
6a4cf16
[depends] expat 2.1.1
fanquake May 12, 2016
92e37a3
build: fix out-of-tree 'make deploy' for osx
theuni Jun 2, 2016
142ffc7
travis: use out-of-tree build
theuni Jun 1, 2016
58725ba
Merge #8029: [Doc] Simplify OS X build notes
jonasschnelli Jun 2, 2016
ee1533e
Merge #8129: Fix RPC console auto completer
jonasschnelli Jun 2, 2016
9dfaa1c
Improve CWallet API with new AccountMove function.
pstratem Jun 2, 2016
595b22e
Stop treating importaddress'ed scripts as change
sipa Mar 14, 2016
ec45cc5
Merge #7992: Extend #7956 with one more test.
sipa Jun 2, 2016
f45f51e
Fix interrupted HTTP RPC connection workaround for Python 3.5+
sipa May 13, 2016
291f8aa
Continuing port of java comptool
mrbandrews Jun 2, 2016
12c5a16
Catch exceptions from non-canonical encoding and print only to log
mrbandrews Jun 2, 2016
9805f4a
mapNextTx: use pointer as key, simplify value
kazcw May 1, 2016
f972b04
Merge #7825: Prevent multiple calls to ExtractDestination
sipa Jun 2, 2016
a82f033
Merge #7997: replace mapNextTx with slimmer setSpends
sipa Jun 2, 2016
ae5575b
Merge #8139: Fix interrupted HTTP RPC connection workaround for Pytho…
Jun 3, 2016
c141c14
Merge #7942: locking for Misbehave() and other cs_main locking fixes
laanwj Jun 3, 2016
8c1e49b
Merge #7967: [RPC] add feerate option to fundrawtransaction
laanwj Jun 3, 2016
e39dc69
comment nit: miners don't vote
instagibbs Jun 3, 2016
869f26e
--- [SEGWIT] begin: fixups 6 ---
sipa Jun 3, 2016
14d4d1d
Extend the max witness program length to 40 bytes
jl2012 May 29, 2016
340012d
build: add temporary fix for "bad magic number" error in out-of-tree …
theuni Jun 3, 2016
4840f6d
Prevent witness addresses from being constructed before fork
sipa Jun 3, 2016
3dbf852
Remove positive SERIALIZE_TRANSACTION_WITNESS flag
sipa Jun 3, 2016
d46b8b5
Merge #8143: comment nit: miners don't vote
jonasschnelli Jun 4, 2016
1b9e6d3
Add support for unique_ptr and shared_ptr to memusage
sipa May 30, 2016
8d39d7a
Switch CTransaction storage in mempool to std::shared_ptr
sipa May 30, 2016
f0fdda0
IsInitialBlockDownload: usually avoid locking
kazcw Apr 27, 2016
dbfb426
Optimize the relay map to use shared_ptr's
sipa May 31, 2016
e9b4780
Optimization: don't check the mempool at all if no mempool req ever
sipa May 31, 2016
c2a4724
Optimization: use usec in expiration and reuse nNow
sipa May 31, 2016
e6b141a
qt: translation strings update
laanwj Jun 6, 2016
2e49448
tor: Change auth order to only use HASHEDPASSWORD if -torpassword
laanwj Mar 17, 2016
243ac0c
Merge #8137: Improve CWallet API with new AccountMove function.
laanwj Jun 6, 2016
6b781df
Merge #8007: Minor locking improvements
laanwj Jun 6, 2016
152ab23
Improve CWallet API with new GetAccountPubkey function.
pstratem Jun 3, 2016
52c3f34
Merge #8142: Improve CWallet API with new GetAccountPubkey function.
laanwj Jun 6, 2016
d3df40e
Implement BIP 9 GBT changes
luke-jr Apr 23, 2016
72cd6b2
qa/rpc-tests: bip9-softforks: Add tests for getblocktemplate versionb…
luke-jr May 21, 2016
9879060
getblocktemplate: Explicitly handle the distinction between GBT-affec…
luke-jr Jun 1, 2016
12c708a
getblocktemplate: Use version/force mutation to support pre-BIP9 clients
luke-jr Jun 1, 2016
faf82e8
[rpc] fundrawtransaction: Fix help text and interface
Jun 3, 2016
d3d02d5
drop vAddrToSend after sending big addr message
kazcw Jun 6, 2016
fa51a1d
[init] Make feefilter option debug option
Jun 6, 2016
cfc6da0
Merge #8151: [init] Make feefilter option debug option
laanwj Jun 7, 2016
8b78486
Log/report in 10% steps during VerifyDB
jonasschnelli Jun 2, 2016
fa7f4f5
[rpc] fundrawtransaction feeRate: Use BTC/kB
Jun 6, 2016
288d85d
Get rid of CTxMempool::lookup() entirely
sipa Jun 7, 2016
9b6a48c
Merge #8118: Reduce unnecessary hashing in signrawtransaction
laanwj Jun 7, 2016
22e0b35
Merge #8136: Log/report in 10% steps during VerifyDB
laanwj Jun 7, 2016
053930f
Avoid recalculating vchKeyedNetGroup in eviction logic.
pstratem May 23, 2016
9bf156b
Support SipHash with arbitrary byte writes
sipa May 22, 2016
c31b24f
Use 64-bit SipHash of netgroups in eviction
sipa May 25, 2016
8884830
Use C++11 thread-safe static initializers
sipa Jun 7, 2016
ae357d5
[Bitcoin-Tx] Add tests for sequence number support
jonasschnelli Jun 7, 2016
79004d4
Merge #7957: [RPC][Bitcoin-TX] Add support for sequence number
laanwj Jun 7, 2016
86efa30
[Bitcoin-Tx] fix missing test fixtures, fix 32bit atoi issue
jonasschnelli Jun 7, 2016
c2715d3
Do not shadow local variables
paveljanik Jun 7, 2016
b676f38
depends: allow for CONFIG_SITE to be used rather than stealing prefix
theuni Jun 7, 2016
ad38204
gitian: use CONFIG_SITE rather than hijacking the prefix
theuni Jun 7, 2016
7e7eb27
gitian: create debug packages for linux/windows
theuni Jun 8, 2016
0f24eaf
Merge #8164: [Bitcoin-Tx] fix missing test fixtures, fix 32bit atoi i…
laanwj Jun 8, 2016
e012f3c
util: Add ParseUInt32 and ParseUInt64
laanwj Jun 8, 2016
2156fa2
Merge #8078: Disable the mempool P2P command when bloom filters disabled
laanwj Jun 8, 2016
67c91f8
Merge #8065: Addrman offline attempts
laanwj Jun 8, 2016
761cddb
Merge #7703: tor: Change auth order to only use password auth if -tor…
laanwj Jun 8, 2016
cdf7dff
OSX diskimages need 0775 folder permissions
jonasschnelli Jun 8, 2016
a7c41f2
Merge #8126: std::shared_ptr based CTransaction storage in mempool
laanwj Jun 8, 2016
75ec320
Merge #8153: [rpc] fundrawtransaction feeRate: Use BTC/kB
laanwj Jun 8, 2016
6a034ed
Merge #7993: [depends] Bump Freetype, ccache, ZeroMQ, miniupnpc, expat
laanwj Jun 8, 2016
77f63a4
Fix two warnings for comparison between signed and unsigned
sipa Jun 8, 2016
6fa950a
[RPC] Fix createrawtx sequence number unsigned int parsing
jonasschnelli Jun 8, 2016
66ed450
Merge #7935: Versionbits: GBT support
sipa Jun 8, 2016
eebc232
test: Add more test vectors for siphash
laanwj Jun 8, 2016
cd0c513
Merge #8083: Add support for dnsseeds with option to filter by servic…
sipa Jun 8, 2016
4286f43
Merge #8173: Use SipHash for node eviction (cont'd)
sipa Jun 8, 2016
ff2dcf2
Tests: Edit bloated varint test and add option for 'barely expensive'…
mrbandrews Jun 8, 2016
19ea173
Merge #8167: gitian: Ship debug tarballs/zips with debug symbols
laanwj Jun 9, 2016
74c1347
gitian: Add --disable-bench to config flags for windows
laanwj Jun 8, 2016
0d53a9e
Update luke-jr's PGP key
luke-jr Jun 9, 2016
f0299d8
Merge #8175: gitian: Add --disable-bench to config flags for windows
laanwj Jun 9, 2016
7e6dd7b
Merge #8172: Fix two warnings for comparison between signed and unsigned
laanwj Jun 9, 2016
d366185
Merge #8168: util: Add ParseUInt32 and ParseUInt64
laanwj Jun 9, 2016
1445835
Merge #8154: drop vAddrToSend after sending big addr message
laanwj Jun 9, 2016
0b5279f
Merge #8166: src/test: Do not shadow local variables
laanwj Jun 9, 2016
172cd7f
Merge #8169: OSX diskimages need 0775 folder permissions
laanwj Jun 9, 2016
fd9881a
Merge #7283: [gitian] Default reference_datetime to commit author date
laanwj Jun 9, 2016
d096d22
build: Get rid of `CLIENT_DATE`
laanwj Jun 9, 2016
3144449
Add git and github tips and tricks to developer notes
sipa Jun 8, 2016
0dfd869
Add getmempooldescendants RPC call
sdaftuar Jan 4, 2016
b09b813
Add getmempoolentry RPC call
sdaftuar Jan 4, 2016
a9b8390
Add test coverage for new RPC calls
sdaftuar Jan 4, 2016
7f6eda8
Add ancestor statistics to mempool entry RPC output
sdaftuar May 17, 2016
176e19b
Mention new RPC's in release notes
sdaftuar May 17, 2016
7ce9ac5
Merge #7292: [RPC] Expose ancestor/descendant information over RPC
sipa Jun 9, 2016
f7b1bfc
Merge #8178: Add git and github tips and tricks to developer notes
laanwj Jun 9, 2016
32b7294
Merge #8180: Update luke-jr's PGP key
laanwj Jun 9, 2016
654a211
developer notes: updates for C++11
kazcw Jun 8, 2016
966151e
Add README for verify-commits
petertodd Jun 9, 2016
d1a3d57
bulid: fix "make translate" when out-of-tree
theuni Jun 9, 2016
9201ce8
Merge #8181: build: Get rid of `CLIENT_DATE`
laanwj Jun 10, 2016
fde0ac4
Merge #8133: build: Finish up out-of-tree changes
laanwj Jun 10, 2016
ac8d041
qt: translations update
laanwj Jun 10, 2016
67db011
Merge #8177: developer notes: updates for C++11
laanwj Jun 10, 2016
980e7eb
depends: only build qt on linux for x86_64/x86
theuni Jun 9, 2016
17c0131
[Docs] Add release notes and bip update for Bip32/HD wallets
jonasschnelli Jun 10, 2016
9d25362
build: add armhf/aarch64 gitian builds
theuni Jun 10, 2016
60ab9b2
Squashed 'src/univalue/' changes from 2740c4f..f32df99
laanwj Jun 10, 2016
6315152
Merge commit '60ab9b200654ef0914459711cf2b22be16be3dc2'
laanwj Jun 10, 2016
a406fcb
test: add ensure_ascii setting to AuthServiceProxy
laanwj Apr 28, 2016
6bbb4ef
test: test utf-8 for labels in wallet
laanwj Apr 28, 2016
7982fce
doc: Mention full UTF-8 support in release notes
laanwj Apr 16, 2016
3e4cf8f
Merge #8067: travis: use slim generic image, and some fixups
laanwj Jun 10, 2016
1b0bcc5
Track orphan by prev COutPoint rather than prev hash
sipa Jun 10, 2016
db0ffe8
This eliminates the primary leak that causes the orphan map to
gmaxwell Jun 10, 2016
fa61756
[gitian] set correct PATH for wrappers
Jun 12, 2016
b0938a0
[trivial][doc] Use Debian 8.5 in the gitian-build guide
fanquake Jun 12, 2016
f98de5f
--- [SEGWIT] begin: fixups 7 ---
sipa Jun 12, 2016
c06c40b
Actually count the witness data in memusage of CTransaction
sipa Jun 11, 2016
d8b5db9
Correctly count maximum size in mining
sipa Jun 11, 2016
57d4bd2
Rework -maxblocksize and -maxblockcost
sipa Jun 12, 2016
0bfbf60
Cache transaction cost in mempool
sipa Jun 12, 2016
496d8c0
Delete segnet
sipa Jun 12, 2016
7799a7c
Do not send witnesses in response to bip37 blocks
sipa Jun 12, 2016
4c19c18
33 to 40 bytes push should now be considered a witness scriptPubKey
jl2012 Jun 6, 2016
65a9d7d
Merge #8188: Add armhf/aarch64 gitian builds
laanwj Jun 13, 2016
37c9830
Merge #8193: [trivial][doc] Use Debian 8.5 in the gitian-build guide
laanwj Jun 13, 2016
e1486eb
Merge #7598: Refactor CreateNewBlock to be a method of the BlockAssem…
laanwj Jun 13, 2016
44c1b1c
Merge #8141: Continuing port of java comparison tool
laanwj Jun 13, 2016
01a9904
[trivial] Ignore split-debug.sh
fanquake Jun 13, 2016
0e209f9
[trivial] Sync ax_pthread with upstream draft
fanquake Jun 13, 2016
1c2a1ba
Add address label to request payment QR Code (QT)
makevoid Mar 3, 2016
3764dec
Keep addrman's nService bits consistent with outbound observations
sipa Mar 26, 2016
fc83f18
Verify that outbound connections have expected services
sipa Mar 26, 2016
5e7ab16
Only store and connect to NODE_NETWORK nodes
sipa Mar 26, 2016
15bf863
Don't require services in -addnode
sipa May 25, 2016
ee06e04
Introduce enum ServiceFlags for service flags
sipa Jun 8, 2016
ecd7fd3
Introduce REQUIRED_SERVICES constant
sipa Jun 13, 2016
be9711e
Merge #7749: Enforce expected outbound services
laanwj Jun 13, 2016
7613bbb
--- [SEGWIT] begin: fixups 8 ---
sipa Jun 13, 2016
a9bff09
Tests: add getblocktemplate/segwit test
sdaftuar Jun 6, 2016
92ab64c
Add test for getrawtransaction
sdaftuar Jun 13, 2016
40f7829
p2p-segwit.py: more RPC coverage
sdaftuar Jun 13, 2016
b644339
Rename deployment (witness -> segwit)
sdaftuar Jun 13, 2016
00bf5e1
Update p2p-segwit.py for new deployment name
sdaftuar Jun 13, 2016
c8f2fb2
BIP143 P2WSH examples
jl2012 Jun 13, 2016
fa26c42
[qa] util: Move check_fee_amount out of wallet.py
Jun 13, 2016
fae1d06
[qa] fundrawtransaction: Fix race, assert amounts
Jun 13, 2016
f3a7ed4
Fix unused variable in sigopcount test
sipa Jun 13, 2016
1111b80
Rework addnode behaviour
sipa May 28, 2016
f9f5cfc
Prevent duplicate connections where one is by name and another by ip
sipa May 28, 2016
1a5a4e6
Randomize name lookup result in ConnectSocketByName
sipa May 28, 2016
36b7400
Merge #8201: [qa] fundrawtransaction: Fix race, assert amounts
laanwj Jun 14, 2016
afcd77e
Detect -usehd mismatches when wallet.dat already exists
jonasschnelli Jun 13, 2016
8c1d5eb
Merge #8197: [trivial] Ignore split-debug.sh
laanwj Jun 14, 2016
cca1c8c
Merge #8194: [gitian] set correct PATH for wrappers
laanwj Jun 14, 2016
b67a472
Merge #8035: [Wallet] Add simplest BIP32/deterministic key generation…
laanwj Jun 14, 2016
5201614
Merge #8198: [trivial] Sync ax_pthread with upstream draft4
laanwj Jun 14, 2016
fb0ac48
Merge #7636: Add bitcoin address label to request payment QR code
jonasschnelli Jun 14, 2016
11cc143
Adds an expiration time for orphan tx.
gmaxwell Jun 11, 2016
8c99d1b
Treat orphans as implicit inv for parents, discard when parents rejec…
gmaxwell Jun 13, 2016
54326a6
Increase maximum orphan size to 100,000 bytes.
gmaxwell Jun 11, 2016
bc0a895
Do not set extra flags for unfiltered DNS seed results
sipa Jun 15, 2016
5d0ca81
Add recently accepted blocks and txn to AttemptToEvictConnection.
gmaxwell May 22, 2016
6ee7f05
Allow disconnecting a netgroup with only one member in eviction.
gmaxwell Jun 10, 2016
1b9893f
--- [SEGWIT] begin: fixups 9 ---
sipa Jun 15, 2016
3483e5c
DEPLOYMENT_WITNESS -> DEPLOYMENT_SEGWIT
sdaftuar Jun 14, 2016
2a6516f
Behave as a non-witness node when start time is far away
sipa Jun 15, 2016
c7b5de5
test: BIP143 examples fix and clarify
jl2012 Jun 14, 2016
cc19adc
Remove segnet from mininode
instagibbs Jun 14, 2016
efc251d
Tests: ensure that signrawtransaction failures are caught in segwit.py
sdaftuar Jun 14, 2016
396f4b8
spelling fix: uncommited -> uncommitted
sdaftuar Jun 14, 2016
fa58e5e
[doc] Add website links to about dialog
Jun 16, 2016
f7a403b
Merge #8207: [trivial] Add a link to the Bitcoin-Core repository and …
laanwj Jun 16, 2016
0a64777
Merge #8208: Do not set extra flags for unfiltered DNS seed results
laanwj Jun 16, 2016
e4bb4a8
Merge #8084: Add recently accepted blocks and txn to AttemptToEvictCo…
laanwj Jun 16, 2016
62fcf27
Merge #8171: [RPC] Fix createrawtx sequence number unsigned int parsing
laanwj Jun 16, 2016
3f89a53
Merge #8113: Rework addnode behaviour
laanwj Jun 16, 2016
9c3d0fa
Merge #7892: Add full UTF-8 support to RPC
laanwj Jun 16, 2016
b508f5b
--- [SEGWIT] begin: fixups 10 ---
sipa Jun 16, 2016
10433cf
Fix direct fetching of blocks after 2a6516fc
sipa Jun 16, 2016
2948c02
Consistency in serialization flags
sipa Jun 16, 2016
d7fe873
--- [SEGWIT] begin: fixups 11 ---
sipa Jun 16, 2016
0e177a2
Don't treat NODE_WITNESS as relevant before a fork is defined
sipa Jun 16, 2016
c7795ee
Revert "Don't check the genesis block PoW" as segnet has been dropped.
sipa Jun 16, 2016
c82a4e9
Use ancestor-feerate based transaction selection for mining
sdaftuar Feb 21, 2016
29fac19
Add unit tests for ancestor feerate mining
sdaftuar Feb 21, 2016
66db2d6
Merge #7600: Mining: Select transactions using feerate-with-ancestors
sipa Jun 16, 2016
f25209a
depends: bump OSX toolchain
theuni Jun 9, 2016
f6eb4e2
[depends] OpenSSL 1.0.1k - update config_opts
fanquake May 14, 2016
faa91b1
[wallet] tests: Don't use floating point
Jun 7, 2016
facb6c0
[qa] mininode: fail on send_message instead of silent return
May 22, 2016
fa8ce3b
[qa] assert 'changePosition out of bounds'
Apr 16, 2016
fa32465
[qa] fundrawtransaction: Create get_unspent()
Apr 16, 2016
fa3b379
[qa] pull-tester: Fix assertion and check for run_parallel
May 9, 2016
ed2cd59
Merge #8214: [qa] mininode: fail on send_message instead of silent re…
Jun 17, 2016
6194d9a
Fix bitcoin_qt.m4 and fix-xcb-include-order.patch
jonasschnelli Jun 16, 2016
9e3ec74
Clarify documentation for running a tor node
nathaniel-mahieu Jun 14, 2016
59d063d
Use runtime linking of QT libdbus, use custom/temp. SDK URL
jonasschnelli Jun 18, 2016
a072d1a
Merge #8215: [wallet] tests: Don't use floating point
Jun 18, 2016
ad0752e
Stop trimming when mapTx is empty
sipa Jun 18, 2016
3775ff9
Enable mempool consistency checks in unit tests
sipa Jun 18, 2016
1e9aab0
Remove sipa's old revoked key from verify-commits
petertodd Jun 19, 2016
96806c3
Stop trimming when mapTx is empty
sipa Jun 18, 2016
7c29ec9
If AcceptBlockHeader returns true, pindex will be set.
TheBlueMatt Apr 11, 2016
cbda71c
Move context-required checks from CheckBlockHeader to Contextual...
TheBlueMatt Jun 8, 2016
5249dac
Add COMPACTSIZE wrapper similar to VARINT for serialization
TheBlueMatt May 18, 2016
85ad31e
Add partial-block block encodings API
TheBlueMatt Apr 15, 2016
f4f8f14
Add TestMemPoolEntryHelper::FromTx version for CTransaction
TheBlueMatt Apr 26, 2016
e3b2222
Add some blockencodings tests
TheBlueMatt Apr 25, 2016
00c4078
Add protocol messages for short-ids blocks
TheBlueMatt Jun 6, 2016
9c837d5
Add sender-side protocol implementation for CMPCTBLOCK stuff
TheBlueMatt Apr 11, 2016
7734479
readme: Omit phrasing; 'new'
Jun 19, 2016
d25cd3e
Add receiver-side protocol implementation for CMPCTBLOCK stuff
TheBlueMatt Apr 15, 2016
927f8ee
Add ability to fetch CNode by NodeId
TheBlueMatt May 6, 2016
2f34a2e
Get our "best three" peers to announce blocks using cmpctblocks
TheBlueMatt May 6, 2016
56ba516
Add reconstruction debug logging
TheBlueMatt Jun 8, 2016
678ee97
Add BIP 152 to implemented BIPs list
TheBlueMatt Jun 6, 2016
8119026
Provide a flat list of txid/terators to txn in CTxMemPool
TheBlueMatt Jun 15, 2016
0d4cb48
Use vTxHashes to optimize InitData significantly
TheBlueMatt Jun 19, 2016
ccd06b9
Elaborate bucket size math
sipa Jun 17, 2016
2759597
Only pass -lQt5PlatformSupport if >=Qt5.6
jonasschnelli Jun 20, 2016
223bf83
Merge #8224: readme: Omit phrasing; 'new'
laanwj Jun 20, 2016
377d131
Merge #8203: Clarify documentation for running a tor node
laanwj Jun 20, 2016
fa58f94
[qa] pull-tester: Start longest test first
Jun 20, 2016
12a541e
Merge #8210: [Qt] Bump to Qt5.6.1
laanwj Jun 20, 2016
65c2058
Merge #8066: [qa] test_framework: Use different rpc_auth_pair for eac…
laanwj Jun 20, 2016
a6ddb19
Merge #7687: Stop treating importaddress'ed scripts as change
laanwj Jun 20, 2016
e5a680d
[Doc] Update OS X build notes for 10.11 SDK
fanquake Jun 12, 2016
f6598df
Merge #7713: Fixes for verify-commits script
laanwj Jun 20, 2016
94ab58b
Merge #8179: Evict orphans which are included or precluded by accepte…
laanwj Jun 20, 2016
1f86d64
Merge #8220: Stop trimming when mapTx is empty
laanwj Jun 20, 2016
bf9c70b
Fix LogPrint to LogPrintf
thelazier Jun 20, 2016
0d41d70
Merge #8216: [qa] assert 'changePosition out of bounds'
laanwj Jun 21, 2016
b3e1348
[Qt] fix a bug where the SplashScreen will not be hidden during startup
jonasschnelli Jun 21, 2016
b7bf037
doc: Mention ARM executables in release process
laanwj Jun 21, 2016
05f64c9
doc: Mention Linux ARM builds in release notes
laanwj Jun 21, 2016
4cbe05b
qt: Periodic transifex update
laanwj Jun 21, 2016
8ccdac1
Merge #8229: [Doc] Update OS X build notes for 10.11 SDK
laanwj Jun 21, 2016
48efec8
Fix some minor compact block issues that came up in review
TheBlueMatt Jun 21, 2016
961893f
Merge #8222: Enable mempool consistency checks in unit tests
laanwj Jun 22, 2016
760a6c7
Merge #8231: [Qt] fix a bug where the SplashScreen will not be hidden…
laanwj Jun 22, 2016
9e45ef1
Merge #8234: qt: Periodic transifex update
laanwj Jun 22, 2016
e9d76a1
Merge #8068: Compact Blocks
laanwj Jun 22, 2016
06f40ef
depends: Mention aarch64 as common cross-compile target
laanwj Jun 22, 2016
9f1807a
Merge #8233: Mention Linux ARM executables in release process and notes
laanwj Jun 22, 2016
c708c3a
--- [SEGWIT] begin: merge ---
sipa Jun 22, 2016
c4e3c75
Merge remote-tracking branch 'upstream/master' into segwit-master
sipa Jun 22, 2016
a9b026e
Cache hashes
NicolasDorier Jan 19, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -114,3 +114,4 @@ share/BitcoindComparisonTool.jar
/doc/doxygen/

libbitcoinconsensus.pc
contrib/devtools/split-debug.sh
83 changes: 41 additions & 42 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,74 +1,73 @@
# errata:
# - A travis bug causes caches to trample eachother when using the same
# compiler key (which we don't use anyway). This is worked around for now by
# replacing the "compilers" with a build name prefixed by the no-op ":"
# command. See: https://github.com/travis-ci/travis-ci/issues/4393
sudo: required
dist: trusty

#workaround for https://github.com/travis-ci/travis-ci/issues/5227
addons:
hostname: bitcoin-tester

os: linux
language: cpp
compiler: gcc
language: generic
cache:
directories:
- depends/built
- depends/sdk-sources
- $HOME/.ccache
env:
global:
- MAKEJOBS=-j3
- RUN_TESTS=false
- CHECK_DOC=0
- BOOST_TEST_RANDOM=1$TRAVIS_BUILD_ID
- CCACHE_SIZE=100M
- CCACHE_TEMPDIR=/tmp/.ccache-temp
- CCACHE_COMPRESS=1
- BASE_OUTDIR=$TRAVIS_BUILD_DIR/out
- SDK_URL=https://bitcoincore.org/depends-sources/sdks
- SDK_URL=https://bitcoin.jonasschnelli.ch/sdks
- PYTHON_DEBUG=1
- WINEDEBUG=fixme-all
cache:
apt: true
directories:
- depends/built
- depends/sdk-sources
- $HOME/.ccache
matrix:
fast_finish: true
include:
- compiler: ": ARM"
env: HOST=arm-linux-gnueabihf PACKAGES="g++-arm-linux-gnueabihf" DEP_OPTS="NO_QT=1" GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
- compiler: ": Win32"
env: HOST=i686-w64-mingw32 PPA="ppa:ubuntu-wine/ppa" PACKAGES="nsis gcc-mingw-w64-i686 g++-mingw-w64-i686 binutils-mingw-w64-i686 mingw-w64-dev wine1.7 bc" RUN_TESTS=true GOAL="deploy" BITCOIN_CONFIG="--enable-gui --enable-reduce-exports" MAKEJOBS="-j2"
- compiler: ": 32-bit + dash"
env: HOST=i686-pc-linux-gnu PACKAGES="g++-multilib bc python-zmq" PPA="ppa:chris-lea/zeromq" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++" USE_SHELL="/bin/dash"
- compiler: ": Win64"
env: HOST=x86_64-w64-mingw32 PPA="ppa:ubuntu-wine/ppa" PACKAGES="nsis gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 binutils-mingw-w64-x86-64 mingw-w64-dev wine1.7 bc" RUN_TESTS=true GOAL="deploy" BITCOIN_CONFIG="--enable-gui --enable-reduce-exports" MAKEJOBS="-j2"
- compiler: ": bitcoind"
env: HOST=x86_64-unknown-linux-gnu PACKAGES="bc python-zmq" PPA="ppa:chris-lea/zeromq" DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports CPPFLAGS=-DDEBUG_LOCKORDER"
- compiler: ": No wallet"
env: HOST=x86_64-unknown-linux-gnu DEP_OPTS="NO_WALLET=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
- compiler: ": Cross-Mac"
env: HOST=x86_64-apple-darwin11 PACKAGES="cmake libcap-dev libz-dev libbz2-dev" BITCOIN_CONFIG="--enable-reduce-exports" OSX_SDK=10.9 GOAL="deploy"
exclude:
- compiler: gcc
matrix:
# ARM
- HOST=arm-linux-gnueabihf PACKAGES="g++-arm-linux-gnueabihf" DEP_OPTS="NO_QT=1" CHECK_DOC=1 GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
# Win32
- HOST=i686-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 nsis g++-mingw-w64-i686 wine1.6 bc openjdk-7-jre-headless" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports"
# 32-bit + dash
- HOST=i686-pc-linux-gnu PACKAGES="g++-multilib bc python3-zmq openjdk-7-jre-headless" DEP_OPTS="NO_QT=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++" USE_SHELL="/bin/dash"
# Win64
- HOST=x86_64-w64-mingw32 DPKG_ADD_ARCH="i386" DEP_OPTS="NO_QT=1" PACKAGES="python3 nsis g++-mingw-w64-x86-64 wine1.6 bc openjdk-7-jre-headless" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-reduce-exports"
# bitcoind
- HOST=x86_64-unknown-linux-gnu PACKAGES="bc python3-zmq openjdk-7-jre-headless" DEP_OPTS="NO_QT=1 NO_UPNP=1 DEBUG=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-zmq --enable-glibc-back-compat --enable-reduce-exports CPPFLAGS=-DDEBUG_LOCKORDER"
# No wallet
- HOST=x86_64-unknown-linux-gnu PACKAGES=" openjdk-7-jre-headless python3" DEP_OPTS="NO_WALLET=1" RUN_TESTS=true GOAL="install" BITCOIN_CONFIG="--enable-glibc-back-compat --enable-reduce-exports"
# Cross-Mac
- HOST=x86_64-apple-darwin11 PACKAGES="cmake imagemagick libcap-dev librsvg2-bin libz-dev libbz2-dev libtiff-tools python-dev" BITCOIN_CONFIG="--enable-reduce-exports" OSX_SDK=10.11 GOAL="deploy"

before_install:
- export PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g")
install:
- if [ -n "$PACKAGES" ]; then sudo rm -f /etc/apt/sources.list.d/travis_ci_zeromq3-source.list; fi
- if [ -n "$PPA" ]; then travis_retry sudo add-apt-repository "$PPA" -y; fi
- if [ -n "$DPKG_ADD_ARCH" ]; then sudo dpkg --add-architecture "$DPKG_ADD_ARCH" ; fi
- if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get update; fi
- if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get install --no-install-recommends --no-upgrade -qq $PACKAGES; fi
before_script:
- unset CC; unset CXX
- if [ "$CHECK_DOC" = 1 ]; then contrib/devtools/check-doc.py; fi
- mkdir -p depends/SDKs depends/sdk-sources
- if [ -n "$OSX_SDK" -a ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then wget $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -O depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi
- if [ -n "$OSX_SDK" -a ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then curl --location --fail $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -o depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi
- if [ -n "$OSX_SDK" -a -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz; fi
- make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS
script:
- export TRAVIS_COMMIT_LOG=`git log --format=fuller -1`
- if [ -n "$USE_SHELL" ]; then export CONFIG_SHELL="$USE_SHELL"; fi
- OUTDIR=$BASE_OUTDIR/$TRAVIS_PULL_REQUEST/$TRAVIS_JOB_NUMBER-$HOST
- BITCOIN_CONFIG_ALL="--disable-dependency-tracking --prefix=$TRAVIS_BUILD_DIR/depends/$HOST --bindir=$OUTDIR/bin --libdir=$OUTDIR/lib"
- depends/$HOST/native/bin/ccache --max-size=$CCACHE_SIZE
- if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then export CCACHE_READONLY=1; fi
- test -n "$USE_SHELL" && eval '"$USE_SHELL" -c "./autogen.sh"' || ./autogen.sh
- ./configure --cache-file=config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
- make distdir PACKAGE=bitcoin VERSION=$HOST
- cd bitcoin-$HOST
- ./configure --cache-file=../config.cache $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
- mkdir build && cd build
- ../configure $BITCOIN_CONFIG_ALL $BITCOIN_CONFIG || ( cat config.log && false)
- make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && make $GOAL V=1 ; false )
- export LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib
- if [ "$RUN_TESTS" = "true" ]; then make check; fi
- if [ "$RUN_TESTS" = "true" ]; then make $MAKEJOBS check VERBOSE=1; fi
- if [ "$RUN_TESTS" = "true" ]; then qa/pull-tester/rpc-tests.py --coverage; fi
after_script:
- if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then (echo "Upload goes here. Something like: scp -r $BASE_OUTDIR server" || echo "upload failed"); fi
- echo $TRAVIS_COMMIT_RANGE
- echo $TRAVIS_COMMIT_LOG
30 changes: 23 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ To contribute a patch, the workflow is as follows:
- Create topic branch
- Commit patches

The project coding conventions in [doc/developer-notes.md](doc/developer-notes.md) must be adhered to.
The project coding conventions in the [developer notes](doc/developer-notes.md) must be adhered to.

In general [commits should be atomic](https://en.wikipedia.org/wiki/Atomic_commit#Atomic_commit_convention) and diffs should be easy to read. For this reason do not mix any formatting fixes or code moves with actual code changes.

Commit messages should be verbose by default consisting of a short subject line (50 chars max), a blank line and detailed explanatory text as separate paragraph(s); unless the title alone is self-explanatory (like "Corrected typo in main.cpp") then a single title line is sufficient. Commit messages should be helpful to people reading your code in the future, so explain the reasoning for your decisions. Further explanation [here](http://chris.beams.io/posts/git-commit/).

If a particular commit references another issue, please add the reference, for example "refs #1234", or "fixes #4321". Using "fixes or closes" keywords will cause the corresponding issue to be closed when the pull request is merged.
If a particular commit references another issue, please add the reference, for example `refs #1234`, or `fixes #4321`. Using the `fixes` or `closes` keywords will cause the corresponding issue to be closed when the pull request is merged.

Please refer to the [Git manual](https://git-scm.com/doc) for more information about Git.

Expand All @@ -35,13 +35,27 @@ The title of the pull request should be prefixed by the component or area that t
Consensus: Add new opcode for BIP-XXXX OP_CHECKAWESOMESIG
Net: Automatically create hidden service, listen on Tor
Qt: Add feed bump button
Trivial: fix typo
Trivial: Fix typo in main.cpp

If a pull request is specifically not to be considered for merging (yet) please prefix the title with [WIP] or use [Tasks Lists](https://github.com/blog/1375-task-lists-in-gfm-issues-pulls-comments) in the body of the pull request to indicate tasks are pending.
If a pull request is specifically not to be considered for merging (yet) please prefix the title with [WIP] or use [Tasks Lists](https://help.github.com/articles/basic-writing-and-formatting-syntax/#task-lists) in the body of the pull request to indicate tasks are pending.

The body of the pull request should contain enough description about what the patch does together with any justification/reasoning. You should include references to any discussions (for example other tickets or mailing list discussions).

At this stage one should expect comments and review from other contributors. You can add more commits to your pull request by committing them locally and pushing to your fork until you have satisfied all feedback. If your pull request is accepted for merging, you may be asked by a maintainer to squash and or rebase your commits before it will be merged. The length of time required for peer review is unpredictable and will vary from patch to patch.
At this stage one should expect comments and review from other contributors. You can add more commits to your pull request by committing them locally and pushing to your fork until you have satisfied all feedback.

Squashing Commits
---------------------------
If your pull request is accepted for merging, you may be asked by a maintainer to squash and or [rebase](https://git-scm.com/docs/git-rebase) your commits before it will be merged. The basic squashing workflow is shown below.

git checkout your_branch_name
git rebase -i HEAD~n
# n is normally the number of commits in the pull
# set commits from 'pick' to 'squash', save and quit
# on the next screen, edit/refine commit messages
# save and quit
git push -f # (force push to GitHub)

The length of time required for peer review is unpredictable and will vary from pull request to pull request.


Pull Request Philosophy
Expand All @@ -61,15 +75,15 @@ Refactoring is a necessary part of any software project's evolution. The followi

There are three categories of refactoring, code only moves, code style fixes, code refactoring. In general refactoring pull requests should not mix these three kinds of activity in order to make refactoring pull requests easy to review and uncontroversial. In all cases, refactoring PRs must not change the behaviour of code within the pull request (bugs must be preserved as is).

Project maintainers aim for a quick turnaround on refactoring pull requests, so where possible keep them short, uncomplex and easy to verify.
Project maintainers aim for a quick turnaround on refactoring pull requests, so where possible keep them short, uncomplex and easy to verify.


"Decision Making" Process
-------------------------

The following applies to code changes to the Bitcoin Core project (and related projects such as libsecp256k1), and is not to be confused with overall Bitcoin Network Protocol consensus changes.

Whether a pull request is merged into Bitcoin Core rests with the project merge maintainers and ultimately the project lead.
Whether a pull request is merged into Bitcoin Core rests with the project merge maintainers and ultimately the project lead.

Maintainers will take into consideration if a patch is in line with the general principles of the project; meets the minimum standards for inclusion; and will judge the general consensus of contributors.

Expand All @@ -95,6 +109,8 @@ Anyone may participate in peer review which is expressed by comments in the pull
- Concept ACK means "I agree in the general principle of this pull request";
- Nit refers to trivial, often non-blocking issues.

Reviewers should include the commit hash which they reviewed in their comments.

Project maintainers reserve the right to weigh the opinions of peer reviewers using common sense judgement and also may weight based on meritocracy: Those that have demonstrated a deeper commitment and understanding towards the project (over time) or have clear domain expertise may naturally have more weight, as one would expect in all walks of life.

Where a patch set affects consensus critical code, the bar will be set much higher in terms of discussion and peer review requirements, keeping in mind that mistakes could be very costly to the wider community. This includes refactoring of consensus critical code.
Expand Down
2 changes: 1 addition & 1 deletion COPYING
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2009-2015 The Bitcoin Core developers
Copyright (c) 2009-2016 The Bitcoin Core developers

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading