aboutsummaryrefslogtreecommitdiff
path: root/doc/developer-notes.md
AgeCommit message (Collapse)Author
2022-04-08Add DEBUG_LOCKCONTENTION documentation to the developer notesJon Atack
Github-Pull: #24770 Rebassedd-From: 43947333315d07f59e1247bd76e0ba9d35a99e31
2022-02-21Replace "can not" with "cannot" in docs, user messages, and testsJon Atack
2021-11-15Improve fs::PathToString documentationRussell Yanofsky
2021-10-21Add minisketch dependencyGleb Naumenko
2021-10-11Merge bitcoin/bitcoin#22409: configure: keep relative paths in debug infofanquake
0bc666b053b8f4883c3f5de43959e2bbd91b95c5 doc: add info for debugging with relative paths (S3RK) a8b515c317f0b5560f62c72a8f4eb6560d8f1c75 configure: keep relative paths in debug info (S3RK) Pull request description: This is a follow-up for #20353 that fixes #21885 It also adds a small section to assist debugging without absolute paths in debug info. ACKs for top commit: kallewoof: Tested ACK 0bc666b053b8f4883c3f5de43959e2bbd91b95c5 Zero-1729: Light crACK 0bc666b053b8f4883c3f5de43959e2bbd91b95c5 Tree-SHA512: d4b75183c3d3a0f59fe786841fb230581de87f6fe04cf7224e4b89c520d45513ba729d4ad8c0e62dd1dbaaa7a25741f04d036bc047f92842e76c9cc31ea47fb2
2021-09-29doc: update developer docs for subtree renamingfanquake
2021-09-16Enable TLS in links in documentationJeremy Rand
2021-08-21doc: add info for debugging with relative pathsS3RK
2021-07-13doc: update enum naming in developer notesJon Atack
- Update the enumerator examples to snake_case per CPP Core Guidelines https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Renum-caps - Clarify that in this project enumerators may be snake_case, PascalCase, or ALL_CAPS, and to use what is seems appropriate.
2021-06-30Merge bitcoin/bitcoin#18568: doc: Clarify developer notes about constant namingfanquake
05f9770c1fa64bd9730cd6e18ec333e0801c00d6 doc: Clarify developer notes about constant naming (Russell Yanofsky) Pull request description: I'm pretty sure developer notes were intended to say constants should be upper case and variables should be lower case, but right now they are ambiguous about whether to write: ```c++ extern const int SYMBOL; ``` or: ```c++ extern const int g_symbol; ``` First convention above is better than the second convention because it tells you without having to look anything up that the value of `SYMBOL` won't change at runtime. Also I haven't seen other c++ projects using the second convention. ACKs for top commit: MarcoFalke: cr ACK 05f9770c1fa64bd9730cd6e18ec333e0801c00d6 practicalswift: ACK 05f9770c1fa64bd9730cd6e18ec333e0801c00d6 jarolrod: ACK 05f9770c1fa64bd9730cd6e18ec333e0801c00d6 🥃 Tree-SHA512: 766d0e25d9db818d45df4ad6386987014f2053584cbced4b755ceef8bda6b7e2cfeb34eb8516423bd03b140faaf577614d5e3be2799f7eed0eb439187ab85323
2021-06-10doc: remove obsolete `okSafeMode` RPC guideline from developer notesSebastian Falbesoner
Since the flag has been removed from the RPC command table in commit ec6902d0ea2bbe75179684fc71849d5e34647a14 (PR #11179), this guideline is not relevant anymore and can be removed.
2021-04-05refactor: Remove negative lock annotations from globalsMarcoFalke
2021-03-11doc: update developer notes for removal of MakeUniquefanquake
2021-02-17[doc] Add a note about where lock annotations should go.Amiti Uttarwar
2021-01-22[docs] Update developer notes to discourage very long linesJohn Newbery
2021-01-04doc: Use https URLs where possibleSawyer Billings
2021-01-02doc: update developer notes for signetJon Atack
2020-12-18doc: Drop mentions of Travis CI as it is no longer usedHennadii Stepanov
2020-11-24util: Add Assume() identity functionMarcoFalke
2020-09-19Remove unused LockAssertion structHennadii Stepanov
2020-08-29doc: Add best practice for annotating/asserting locksHennadii Stepanov
2020-07-09Merge #19258: doc: improve subtree check instructionsWladimir J. van der Laan
a4a3fc4cd2e6f53cdffcc2962fd152a4e40c7413 doc: improve subtree check instructions (Sjors Provoost) Pull request description: Running `git-subtree-check.sh` requires adding the subtree repository as a remote. I learned that several years ago and then forgot again. This PR also improves the error message if the subtree commit can't be found. ACKs for top commit: laanwj: ACK a4a3fc4cd2e6f53cdffcc2962fd152a4e40c7413 fanquake: ACK a4a3fc4cd2e6f53cdffcc2962fd152a4e40c7413 - this looks ok. Tree-SHA512: 959bd923726c172d17f9f97f8a56988bf2df5a94d3131e5152a66150b941394cee9e82fdc6b86e09c0ba91d123a496599f07ca454212168d8d301738394c12c8
2020-06-26doc: Mention Span in developer-notes.mdPieter Wuille
2020-06-12doc: improve subtree check instructionsSjors Provoost
2020-04-15[doc] Update thread information in developer docsJohn Newbery
2020-04-09Correct scripted-diff example linkYahia Chiheb
2020-04-08doc: Clarify developer notes about constant namingRussell Yanofsky
I'm pretty sure developer notes were intended to say constants should be upper case and variables should be lower case, but right now they are ambiguous about whether to write: ```c++ // foo.h extern const int SYMBOL; // foo.cpp const int SYMBOL = 1; ``` or: ```c++ // foo.h extern const int g_symbol; // foo.cpp const int g_symbol = 1; ``` First convention above is better than the second convention because it tells you without having to look anything up that the value of `SYMBOL` will never change at runtime. Also I've never seen any c++ project anywhere using the second convention
2020-03-19doc: Add internal interface conventions to developer notesRussell Yanofsky
2020-03-11Merge #18208: rpc: Change RPCExamples to bech32MarcoFalke
3e32499909ca8127baaa9b40ad113b25ee151bbd Change example addresses to bech32 (Yusuf Sahin HAMZA) Pull request description: This is a follow-up PR to #18197 that fixes RPCExamples. Fixes #18185. ACKs for top commit: MarcoFalke: ACK 3e32499909ca8127baaa9b40ad113b25ee151bbd jonatack: ACK 3e32499 Tree-SHA512: c7a6410ef8b6e169016c2c5eac3e6b9501caabd0e8a0871ec31e56bfc44589f056d3f5cb55b5a13bba36f6c15136c2352f883e30e4dcc0997ffd36b27f9173b9
2020-03-11Merge #17833: doc: Added running functional tests in valgrindMarcoFalke
155a11f897c7dfdc891587cc7ddd7c153cbc2a8f doc: Added running functional tests in valgrind (Elichai Turkel) Pull request description: Technically the notes only show an "example" of how to run valgrind with the suppression file, but now that https://github.com/bitcoin/bitcoin/pull/17633 is merged then maybe this can encourage more people to run also the functional tests in valgrind Top commit has no ACKs. Tree-SHA512: b8417249b720d0ed5e10b732648f2e07e8889bfc7aa7e94192d1c049b4b7837971678d30c535f273c227848f1290cf11e14369fd6c1924b734f2e47e2af41401
2020-03-01Change example addresses to bech32Yusuf Sahin HAMZA
2020-02-13rpc: update validateaddress RPCExamples to bech32Sebastian Falbesoner
also contains the following changes: - rpc: factor out example bech32 address for RPCExamples - doc: update developer notes wrt RPCExamples addresses (mention the EXAMPLE_ADDRESS constant as an example for an invalid bech32 address suitable for RPCExamples help documentation)
2020-01-28doc: Add crc32c subtree to developer notesWladimir J. van der Laan
2020-01-16Merge #17819: doc: developer notes guideline on RPCExamples addressesMarcoFalke
42ec4994892e67e3430f867af069aafcc2e08593 doc: developer notes guideline on RPCExamples addresses (Jon Atack) Pull request description: to make explicit the use of invalid addresses for user safety and to encourage the use of bech32 addresses by default. See https://github.com/bitcoin/bitcoin/pull/17578#discussion_r361752570 and https://github.com/bitcoin/bitcoin/pull/17578#discussion_r362564492. Fix a typo to appease the linter. ACKs for top commit: promag: ACK 42ec4994892e67e3430f867af069aafcc2e08593, no strong opinion as whether this belongs to developer notes or not but why not. fjahr: ACK 42ec499 michaelfolkson: ACK 42ec4994892e67e3430f867af069aafcc2e08593 Tree-SHA512: 64f90e227d256aa194c4fd48435440bdc233a51213dd4a6ac5b05d04263f729c6b4bb5f3afd3b87719b20cb1b159d5a9673d58a11b72823a4a6a16e8a26ae10e
2020-01-14Merge #17873: doc: Add to Doxygen documentation guidelinesfanquake
c902c4c0c6a26de8cb69a469503bf4a0bd73903c doc: Add to Doxygen documentation guidelines (Jon Layton) Pull request description: Completes the up-for-grabs PR #16948. Changes can be tested here: [doc/developer-notes.md](https://github.com/jonatack/bitcoin/blob/doxygen-developer-notes-improvements/doc/developer-notes.md) Co-authored-by: Jon Layton <me@jonl.io> ACKs for top commit: fanquake: ACK c902c4c0c6a26de8cb69a469503bf4a0bd73903c - quick read, checked the new links work. laanwj: ACK c902c4c0c6a26de8cb69a469503bf4a0bd73903c Tree-SHA512: 3b4cebba23061ad5243b2288c2006bf8527e74c689223825f96a44014875d15b2ab6ff54b8aa342ca657a14cf6ce3ab7d6e25bea5befd91162bc2645a74ddb7e
2020-01-05doc: Add to Doxygen documentation guidelinesJon Layton
and update the table of contents. Co-authored-by: Jon Layton <me@jonl.io>
2019-12-30doc: Added running functional tests in valgrindElichai Turkel
2019-12-28doc: developer notes guideline on RPCExamples addressesJon Atack
to make explicit the use of invalid addresses for user safety and to encourage the use of bech32 addresses by default. Fix a typo to appease the linter.
2019-12-15fix directory path for secp256k1 subtree in developer-noteshackerrdave
2019-12-13doc: update developer notes wrt unix epoch timeJon Atack
2019-11-23Merge #17539: doc: Update and improve Developer Notesfanquake
794fe91395c79f46a6d920bc08de5a0551b359a3 doc: Update and improve Developer Notes (Hennadii Stepanov) Pull request description: This PR: - removes outdated things, e.g., global pointer `pwalletMain` etc - adds "Sanitizers" to the TOC - makes filenames, `peer.dat` and `debug.log`, monospaced - specifies that _compile-time_ constant names are all uppercase - rewords using `explicit` with constructors ACKs for top commit: jamesob: lazy ACK https://github.com/bitcoin/bitcoin/pull/17539/commits/794fe91395c79f46a6d920bc08de5a0551b359a3 practicalswift: ACK 794fe91395c79f46a6d920bc08de5a0551b359a3 -- nice improvements! Tree-SHA512: 2c5f035b1627f5fac8dc2453199d9e46bd101f86771de567cd95698de3c61cc459444ec1a68710e1d280195e1e40b42d9f40906297d12f12bf37749eca58297d
2019-11-20doc: Update and improve Developer NotesHennadii Stepanov
2019-11-19doc: Add some better examples for scripted diffWladimir J. van der Laan
The current example isn't too great, for example it uses `find` instead of `git ls-files`. Add a subsection with suggestions and examples.
2019-11-05Merge #17044: init: Remove auto-import of `bootstrap.dat` and associated codeWladimir J. van der Laan
104f7de5934f13b837fcf21f6d6b2559799eabe2 remove old bootstrap relevant code (tryphe) Pull request description: This picks up #15954 I fixed the code and added at a functional test utilizing the scripts in `contrib/linearize` as suggested by @MarcoFalke . ACKs for top commit: laanwj: ACK 104f7de5934f13b837fcf21f6d6b2559799eabe2 Tree-SHA512: acac9f285f9785fcbc3afc78118461e45bec2962f90ab90e9f82f3ad28adc90a44f0443b712458ccf486e46d891eb8a67f53e7bee5fa6d89e4387814fe03f117
2019-11-05remove old bootstrap relevant codetryphe
- only load blockfiles when we have paths - add release notes for modified bootstrap functionality - amend documentation on ThreadImport
2019-11-04doc: Fix some misspellingsrandymcmillan
2019-10-30doc: Add developer note on c_str()Wladimir J. van der Laan
Add a note when to use and when not to use `c_str()`.
2019-10-14doc: Add switch on enum exampleHennadii Stepanov
2019-09-19[doc] update brew instruction for doxygenSjors Provoost
2019-08-29Merge #16461: doc: Tidy up shadowing sectionfanquake
9452802480bd154e23771230bbdfebde1dbaa941 doc: Tidy up shadowing section (João Barbosa) Pull request description: Removes the example because it violates the code format. ACKs for top commit: MarcoFalke: unsigned ACK 9452802480bd154e23771230bbdfebde1dbaa941 ryanofsky: ACK 9452802480bd154e23771230bbdfebde1dbaa941 fanquake: ACK 9452802480bd154e23771230bbdfebde1dbaa941 - Thanks for following up. Tree-SHA512: 1fc31355d368225713298da7803e39e99014fbfcd229f2d3b56c082de95ab2965e51c80b172a5abce4646c53f845fa62a6d94d5df714e7835cac07a8ec7d5da7