aboutsummaryrefslogtreecommitdiff
path: root/doc/developer-notes.md
AgeCommit message (Collapse)Author
2017-11-16Recommend #include<> syntax in developer notesRussell Yanofsky
2017-11-15Merge #10286: Call wallet notify callbacks in scheduler thread (without cs_main)Wladimir J. van der Laan
89f0312 Remove redundant pwallet nullptr check (Matt Corallo) c4784b5 Add a dev notes document describing the new wallet RPC blocking (Matt Corallo) 3ea8b75 Give ZMQ consistent order with UpdatedBlockTip on scheduler thread (Matt Corallo) cb06edf Fix wallet RPC race by waiting for callbacks in sendrawtransaction (Matt Corallo) e545ded Also call other wallet notify callbacks in scheduler thread (Matt Corallo) 17220d6 Use callbacks to cache whether wallet transactions are in mempool (Matt Corallo) 5d67a78 Add calls to CWallet::BlockUntilSyncedToCurrentChain() in RPCs (Matt Corallo) 5ee3172 Add CWallet::BlockUntilSyncedToCurrentChain() (Matt Corallo) 0b2f42d Add CallFunctionInQueue to wait on validation interface queue drain (Matt Corallo) 2b4b345 Add ability to assert a lock is not held in DEBUG_LOCKORDER (Matt Corallo) 0343676 Call TransactionRemovedFromMempool in the CScheduler thread (Matt Corallo) a7d3936 Add a CValidationInterface::TransactionRemovedFromMempool (Matt Corallo) Pull request description: Based on #10179, this effectively reverts #9583, regaining most of the original speedups of #7946. This concludes the work of #9725, #10178, and #10179. See individual commit messages for more information. Tree-SHA512: eead4809b0a75d1fb33b0765174ff52c972e45040635e38cf3686cef310859c1e6b3c00e7186cbd17374c6ae547bfbd6c1718fe36f26c76ba8a8b052d6ed7bc9
2017-11-14[docs] Add instructions for lcov coverage report generationJames O'Beirne
2017-11-13Merge #11035: [contrib] Add Valgrind suppressions fileWladimir J. van der Laan
4a426d8 Add note about Valgrind suppressions file in developer-notes.md (practicalswift) 84e2462 contrib: Add Valgrind suppressions file (practicalswift) Pull request description: Includes known Valgrind warnings in our dependencies that cannot be fixed in-tree. Example use: ``` $ valgrind --suppressions=contrib/valgrind.supp src/test/test_bitcoin $ valgrind --suppressions=contrib/valgrind.supp --leak-check=full \ --show-leak-kinds=all src/test/test_bitcoin --log_level=test_suite ``` Running with the suppressions file under Ubuntu 16.04: ``` $ valgrind --suppressions=contrib/valgrind.supp --leak-check=full --show-leak-kinds=all src/test/test_bitcoin --log_level=test_suite --run_test=wallet_crypto … ==10769== LEAK SUMMARY: ==10769== definitely lost: 0 bytes in 0 blocks ==10769== indirectly lost: 0 bytes in 0 blocks ==10769== possibly lost: 0 bytes in 0 blocks ==10769== still reachable: 0 bytes in 0 blocks ==10769== suppressed: 72,704 bytes in 1 blocks ``` Running without the suppressions file under Ubuntu 16.04: ``` $ valgrind --leak-check=full --show-leak-kinds=all src/test/test_bitcoin --log_level=test_suite --run_test=wallet_crypto … ==10724== 72,704 bytes in 1 blocks are still reachable in loss record 1 of 1 ==10724== at 0x4C2DBF6: malloc (vg_replace_malloc.c:299) ==10724== by 0x6F74EFF: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21) ==10724== by 0x40106B9: call_init.part.0 (dl-init.c:72) ==10724== by 0x40107CA: call_init (dl-init.c:30) ==10724== by 0x40107CA: _dl_init (dl-init.c:120) ==10724== by 0x4000C69: ??? (in /lib/x86_64-linux-gnu/ld-2.23.so) ==10724== by 0x2: ??? ==10724== by 0x1FFF0006D2: ??? ==10724== by 0x1FFF0006E8: ??? ==10724== by 0x1FFF0006FF: ??? ==10724== ==10724== LEAK SUMMARY: ==10724== definitely lost: 0 bytes in 0 blocks ==10724== indirectly lost: 0 bytes in 0 blocks ==10724== possibly lost: 0 bytes in 0 blocks ==10724== still reachable: 72,704 bytes in 1 blocks ==10724== suppressed: 0 bytes in 0 blocks ``` Tree-SHA512: 9c92079fc61313ea678deb6aaa16a3a71c3154c757459793eb9ca0d90a9a74c6faebfb04c9135e1b398ca34224fb7f03bd9c488ea0e8debf6894f69f030a31d3
2017-11-12Add note about Valgrind suppressions file in developer-notes.mdpracticalswift
2017-10-13Add a dev notes document describing the new wallet RPC blockingMatt Corallo
2017-09-24[docs] document scripted-diffJohn Newbery
2017-09-06(finally) remove getinfo in favor of more module-specific infosMatt Corallo
2017-08-25[doc] Add RPC response notesJoão Barbosa
2017-08-22Add recommendation: By default, declare single-argument constructors `explicit`practicalswift
2017-08-22Merge #11050: Avoid treating null RPC arguments different from missing argumentsWladimir J. van der Laan
745d2e3 Clean up getbalance RPC parameter handling (Russell Yanofsky) fd5d71e Update developer notes after params.size() cleanup (Russell Yanofsky) e067673 Avoid treating null RPC arguments different from missing arguments (Russell Yanofsky) e666efc Get rid of redundant RPC params.size() checks (Russell Yanofsky) Pull request description: This is a followup to #10783. - The first commit doesn't change behavior at all, just simplifies code. - The second commit just changes RPC methods to treat null arguments the same as missing arguments instead of throwing type errors. - The third commit updates developer notes after the cleanup. - The forth commit does some additional code cleanup in `getbalance`. Followup changes that should happen in future PRs: - [ ] Replace uses of `.isTrue()` with calls to `.get_bool()` so numbers, objects, and strings cause type errors instead of being interpreted as false. https://github.com/bitcoin/bitcoin/pull/11050#discussion_r133850525 - [ ] Add braces around if statements. https://github.com/bitcoin/bitcoin/pull/11050#discussion_r133851133 - [ ] Maybe improve UniValue type error exceptions and eliminate RPCTypeCheck and RPCTypeCheckArgument functions. https://github.com/bitcoin/bitcoin/pull/11050#discussion_r133829303 Tree-SHA512: e72f696011d20acc0778e996659e41f9426bffce387b29ff63bf59ad1163d5146761e4445b2b9b9e069a80596a57c7f4402b75a15d5d20f69f775ae558cf67e9
2017-08-18Document the preference of nullptr over NULL or (void*)0practicalswift
2017-08-17Prefer compile-time checking over run-time checkingpracticalswift
2017-08-16Merge #10705: Trivial: spelling fixesMarcoFalke
f42fc1d50 doc: spelling fixes (klemens) Pull request description: patch contains some spelling fixes ( just in comments ) as found by a bot ( http://www.misfix.org, https://github.com/ka7/misspell_fixer ). Tree-SHA512: ba6046cfcd81b0783420daae7d776be92dd7b85a593e212f8f1b4403aca9b1b6af12cef7080d4ea5ed4a14952fd25e4300109a59c414e08f5395cdb9947bb750
2017-08-16doc: spelling fixesklemens
2017-08-14Update developer notes after params.size() cleanupRussell Yanofsky
2017-08-07doc: Correct AmountFromValue/ValueFromAmount namesWladimir J. van der Laan
2017-07-25developer-notes: add reference to snake_case and PascalCaseMarko Bencun
CamelCase is ambiguous as it refers to both lowerCamelCase and UpperCamelCase, whereas PascalCase is only UpperCamelCase.
2017-06-26Merge #9544: [trivial] Add end of namespace comments. Improve consistency.Wladimir J. van der Laan
5a9b508 [trivial] Add end of namespace comments (practicalswift) Tree-SHA512: 92b0fcae4d1d3f4da9e97569ae84ef2d6e09625a5815cd0e5f0eb6dd2ecba9852fa85c184c5ae9de5117050330ce995e9867b451fa8cd5512169025990541a2b
2017-06-22Fixed multiple typosDimitris Tsapakidis
A few "a->an" and "an->a". "Shows, if the supplied default SOCKS5 proxy" -> "Shows if the supplied default SOCKS5 proxy". Change made on 3 occurrences. "without fully understanding the ramification of a command" -> "without fully understanding the ramifications of a command". Removed duplicate words such as "the the".
2017-06-11Header include guidelinePieter Wuille
2017-05-31[trivial] Add end of namespace commentspracticalswift
2017-05-26Update style guidePieter Wuille
2017-05-10Shadowing is not enabled by default, update doc accordingly.Pavel Janík
2017-05-02doc: Add RPC interface guidelinesWladimir J. van der Laan
2017-03-20Rename rpc-tests directory to functionalJohn Newbery
2017-03-20Rename qa directory to testJohn Newbery
2017-02-09Fix typo and spelling inconsistency in CONTRIBUTING.mdKoki Takahashi
Fix spellings of GitHub Remove unnecessary changes Fix GitHub spelling on doc/translation_process.md
2017-01-28[doc] Remove unused clang format dev scriptMarcoFalke
Also, update the clang format file to reflect the current coding style mentioned in the developer notes.
2017-01-10Improve style w.r.t. ifPieter Wuille
2016-12-02Developer docs about existing subtrees.Gregory Maxwell
Add some notes about the workflow for changes to code that exists in subtrees.
2016-11-09Add notes about variable names and shadowingPavel Janík
2016-08-26[trivial][doc] Mention ++i as preferred to i++ in dev notesfanquake
2016-06-10Merge #8177: developer notes: updates for C++11Wladimir J. van der Laan
654a211 developer notes: updates for C++11 (Kaz Wesley)
2016-06-09developer notes: updates for C++11Kaz Wesley
- boost::scoped_ptr is obsolete - std::vector::data replaces begin_ptr / end_ptr
2016-06-09Merge #8178: Add git and github tips and tricks to developer notesWladimir J. van der Laan
3144449 Add git and github tips and tricks to developer notes (Pieter Wuille)
2016-06-09Add git and github tips and tricks to developer notesPieter Wuille
2016-06-08util: Add ParseUInt32 and ParseUInt64Wladimir J. van der Laan
Add error and range-checking parsers for unsigned 32 and 64 bit numbers. The 32-bit variant is required for parsing sequence numbers from the command line in `bitcoin-tx` (see #8164 for discussion). I've thrown in the 64-bit variant as a bonus, as I'm sure it will be needed at some point. Also adds tests, and updates `developer-notes.md`.
2016-05-10[doc] Link to clang-format in the developer notesMarcoFalke
2016-04-03[doc] Fix doxygen comments for membersMarcoFalke
2015-11-30[doc] Minor markdown fixesMarcoFalke
2015-11-13doc: Add non-style-related development guidelinesWladimir J. van der Laan
I've collected these over time, mostly adding notes after troubleshooting obscure bugs. As I hope to get the community more involved in the whole process, I think it is useful to add to the developer-notes.
2015-10-23doc: Add developer notes about gitignoreWladimir J. van der Laan
- Add developer notes about `.gitignore.` - Remove qt creator specific files from gitignore, to be consistent.
2015-10-18Correct spelling mistakes in doc folderMitchell Cash
- OSX —> OS X - XCode —> Xcode - github —> GitHub - homebrew —> Homebrew - gitian —> Gitian - Other miscellaneous obvious spelling fixes and whitespace removal
2015-10-09[doc] trivial: developer-notes.md covers more than just coding standardsMarcoFalke
2015-09-26Add CONTRIBUTING.mdBtcDrak
2015-05-19Update documentation to match the #4219 changelpescher
2015-05-01Bugfix: Grammar fixesCorinne Dashjr
2014-12-19Create developer-notes.mdMichael Ford
Moves coding guidelines and development tips/tricks into a single file. Also adds a section explaining pull request terminology.