Commit Graph

256 Commits

Author SHA1 Message Date
Jeremy Rand 9bdda50151
Enable TLS in links in documentation 2021-09-16 22:00:20 +00:00
S3RK 0bc666b053 doc: add info for debugging with relative paths 2021-08-21 20:42:42 +02:00
Jon Atack 77f37f58ad
doc: update enum naming in developer notes
- 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-07-13 21:22:24 +02:00
fanquake bfd910cae4
Merge bitcoin/bitcoin#18568: doc: Clarify developer notes about constant naming
05f9770c1f 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 05f9770c1f
  practicalswift:
    ACK 05f9770c1f
  jarolrod:
    ACK 05f9770c1f 🥃

Tree-SHA512: 766d0e25d9db818d45df4ad6386987014f2053584cbced4b755ceef8bda6b7e2cfeb34eb8516423bd03b140faaf577614d5e3be2799f7eed0eb439187ab85323
2021-06-30 09:23:15 +08:00
Sebastian Falbesoner 6780a095d8 doc: remove obsolete `okSafeMode` RPC guideline from developer notes
Since the flag has been removed from the RPC command table in commit
ec6902d0ea (PR #11179), this guideline
is not relevant anymore and can be removed.
2021-06-10 02:02:29 +02:00
MarcoFalke fa5eabe721
refactor: Remove negative lock annotations from globals 2021-04-05 08:42:15 +02:00
fanquake 1a6323bdbe
doc: update developer notes for removal of MakeUnique 2021-03-11 13:45:50 +08:00
Amiti Uttarwar 25c57d6409 [doc] Add a note about where lock annotations should go. 2021-02-17 15:58:23 -08:00
John Newbery aa929abf8d [docs] Update developer notes to discourage very long lines 2021-01-22 09:55:13 +00:00
Sawyer Billings e8640849c7
doc: Use https URLs where possible 2021-01-04 12:23:16 +08:00
Jon Atack ee701a9204
doc: update developer notes for signet 2021-01-02 17:31:30 +01:00
Hennadii Stepanov 95487b0553
doc: Drop mentions of Travis CI as it is no longer used 2020-12-18 01:15:53 +02:00
MarcoFalke fac5efe730
util: Add Assume() identity function 2020-11-24 09:47:29 +01:00
Hennadii Stepanov 0bd1184adf
Remove unused LockAssertion struct 2020-09-19 18:02:42 +03:00
Hennadii Stepanov ea74e10acf
doc: Add best practice for annotating/asserting locks 2020-08-29 20:46:47 +03:00
Wladimir J. van der Laan fd9db45c3e
Merge #19258: doc: improve subtree check instructions
a4a3fc4cd2 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 a4a3fc4cd2
  fanquake:
    ACK a4a3fc4cd2 - this looks ok.

Tree-SHA512: 959bd923726c172d17f9f97f8a56988bf2df5a94d3131e5152a66150b941394cee9e82fdc6b86e09c0ba91d123a496599f07ca454212168d8d301738394c12c8
2020-07-09 17:52:54 +02:00
Pieter Wuille fab57e2b9b doc: Mention Span in developer-notes.md 2020-06-26 13:53:49 -07:00
Sjors Provoost a4a3fc4cd2
doc: improve subtree check instructions 2020-06-12 13:31:42 +02:00
John Newbery 808ef36b89 [doc] Update thread information in developer docs 2020-04-15 12:02:39 -04:00
Yahia Chiheb 478c11dde3 Correct scripted-diff example link 2020-04-09 19:41:49 +01:00
Russell Yanofsky 05f9770c1f doc: Clarify developer notes about constant naming
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-04-08 15:08:35 -04:00
Russell Yanofsky 3dc27a1524 doc: Add internal interface conventions to developer notes 2020-03-19 15:26:04 -05:00
MarcoFalke 0eebe45cf7
Merge #18208: rpc: Change RPCExamples to bech32
3e32499909 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 3e32499909
  jonatack:
    ACK 3e32499

Tree-SHA512: c7a6410ef8b6e169016c2c5eac3e6b9501caabd0e8a0871ec31e56bfc44589f056d3f5cb55b5a13bba36f6c15136c2352f883e30e4dcc0997ffd36b27f9173b9
2020-03-11 12:42:47 -04:00
MarcoFalke 90b3e59caf
Merge #17833: doc: Added running functional tests in valgrind
155a11f897 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-11 10:21:05 -04:00
Yusuf Sahin HAMZA 3e32499909
Change example addresses to bech32 2020-03-01 18:13:35 +03:00
Sebastian Falbesoner 7f1475c711 rpc: update validateaddress RPCExamples to bech32
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-02-13 12:57:37 +01:00
Wladimir J. van der Laan 7cf13a5134 doc: Add crc32c subtree to developer notes 2020-01-28 17:01:48 +01:00
MarcoFalke 218274de7d
Merge #17819: doc: developer notes guideline on RPCExamples addresses
42ec499489 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 42ec499489, no strong opinion as whether this belongs to developer notes or not but why not.
  fjahr:
    ACK 42ec499
  michaelfolkson:
    ACK 42ec499489

Tree-SHA512: 64f90e227d256aa194c4fd48435440bdc233a51213dd4a6ac5b05d04263f729c6b4bb5f3afd3b87719b20cb1b159d5a9673d58a11b72823a4a6a16e8a26ae10e
2020-01-16 15:23:40 -05:00
fanquake ceb789cf3a
Merge #17873: doc: Add to Doxygen documentation guidelines
c902c4c0c6 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 c902c4c0c6 - quick read, checked the new links work.
  laanwj:
    ACK c902c4c0c6

Tree-SHA512: 3b4cebba23061ad5243b2288c2006bf8527e74c689223825f96a44014875d15b2ab6ff54b8aa342ca657a14cf6ce3ab7d6e25bea5befd91162bc2645a74ddb7e
2020-01-14 10:02:26 +08:00
Jon Layton c902c4c0c6
doc: Add to Doxygen documentation guidelines
and update the table of contents.

Co-authored-by: Jon Layton <me@jonl.io>
2020-01-05 08:05:35 +01:00
Elichai Turkel 155a11f897
doc: Added running functional tests in valgrind 2019-12-30 12:38:08 +02:00
Jon Atack 42ec499489
doc: developer notes guideline on RPCExamples addresses
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-28 21:45:36 +01:00
hackerrdave a5089f62bd fix directory path for secp256k1 subtree in developer-notes 2019-12-15 19:58:51 -05:00
Jon Atack d94d34f05f
doc: update developer notes wrt unix epoch time 2019-12-13 02:05:05 +01:00
fanquake 33c103e2fe
Merge #17539: doc: Update and improve Developer Notes
794fe91395 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 794fe91395
  practicalswift:
    ACK 794fe91395 -- nice improvements!

Tree-SHA512: 2c5f035b1627f5fac8dc2453199d9e46bd101f86771de567cd95698de3c61cc459444ec1a68710e1d280195e1e40b42d9f40906297d12f12bf37749eca58297d
2019-11-23 11:30:15 -05:00
Hennadii Stepanov 794fe91395
doc: Update and improve Developer Notes 2019-11-20 20:30:39 +02:00
Wladimir J. van der Laan adbe155047 doc: Add some better examples for scripted diff
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-19 15:13:57 +01:00
Wladimir J. van der Laan d35b12107e
Merge #17044: init: Remove auto-import of `bootstrap.dat` and associated code
104f7de593 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 104f7de593

Tree-SHA512: acac9f285f9785fcbc3afc78118461e45bec2962f90ab90e9f82f3ad28adc90a44f0443b712458ccf486e46d891eb8a67f53e7bee5fa6d89e4387814fe03f117
2019-11-05 19:25:10 +01:00
tryphe 104f7de593 remove old bootstrap relevant code
- only load blockfiles when we have paths
- add release notes for modified bootstrap functionality
- amend documentation on ThreadImport
2019-11-05 16:47:26 +01:00
randymcmillan ac831339cb
doc: Fix some misspellings 2019-11-04 04:22:53 -05:00
Wladimir J. van der Laan 1cf9b35c0d doc: Add developer note on c_str()
Add a note when to use and when not to use `c_str()`.
2019-10-30 10:53:27 +01:00
Hennadii Stepanov c8961c7d9f
doc: Add switch on enum example 2019-10-14 15:46:42 +03:00
Sjors Provoost 14c6a2de1a
[doc] update brew instruction for doxygen 2019-09-19 10:22:20 +02:00
fanquake 085fe76299
Merge #16461: doc: Tidy up shadowing section
9452802480 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 9452802480
  ryanofsky:
    ACK 9452802480
  fanquake:
    ACK 9452802480 - Thanks for following up.

Tree-SHA512: 1fc31355d368225713298da7803e39e99014fbfcd229f2d3b56c082de95ab2965e51c80b172a5abce4646c53f845fa62a6d94d5df714e7835cac07a8ec7d5da7
2019-08-29 08:16:31 +08:00
João Barbosa 9452802480 doc: Tidy up shadowing section 2019-08-28 18:52:53 +01:00
Kristian Kramer b2ea20d330 doc: Fix grammar and punctuation in developer notes
This pull request is regarding minor grammar and punctuation errors in the developer notes. There were no modifications to the existing code, only alterations to fix the grammar and punctuation in the text.

Update developer-notes.md

Update developer-notes.md

Revert "Update developer-notes.md"

This reverts commit dfeb0bacb054ed24766f8af7bae0c0166b0cb4cb.
2019-08-03 09:30:37 -06:00
Andrew Chow d9becff4e1 scripted-diff: rename CBasicKeyStore to FillableSigningProvider
-BEGIN VERIFY SCRIPT-
git grep -l "CBasicKeyStore" | xargs sed -i -e 's/CBasicKeyStore/FillableSigningProvider/g'
-END VERIFY SCRIPT-
2019-07-09 16:20:18 -04:00
Jon Atack 5a88ea7c67
doc: remove orphaned header in developer notes
The "Git and GitHub tips" section was moved from doc/developer-notes.md to doc/productivity.md in 5b76c31, but the header link to that long-gone section in the developer notes remains and needs to go.

So long, Git and GitHub tips, we barely knew ya.
2019-06-20 18:15:17 -04:00
Ben Woosley b748bf6f50
Fix spelling errors identified by codespell 1.15.0
After this commit, the only remaining output is:

  $ test/lint/lint-spelling.sh
  src/test/base32_tests.cpp:14: fo  ==> of, for
  src/test/base64_tests.cpp:14: fo  ==> of, for
  ^ Warning: codespell identified likely spelling errors. Any false positives? Add them to the list of ignored words in test/lint/lint-spelling.ignore-words.txt

Note:
* I ignore several valid alternative spellings
* homogenous is present in tinyformat, hence should be addressed upstream
* process' is correct only if there are plural processes
2019-06-11 17:18:16 +02:00
MarcoFalke faede747b3
doc: Explain how to pass in non-fundamental types into functions 2019-05-01 16:03:20 -04:00
Hennadii Stepanov 201393f932
Align code example with clang-format 2019-04-25 00:10:06 +03:00
John Newbery 947f73ceba [docs] remove reference to signrawtransaction in the developer docs. 2019-03-22 15:18:20 -04:00
marcuswin 10c7642a57
docs: Update Transifex links 2019-03-02 17:42:33 +08:00
MarcoFalke f78cd3dd51
Merge #15348: doc: Add separate productivity notes document
5b76c314d6 doc: Add separate productivity notes document (Carl Dong)

Pull request description:

  Many developers have their own tools and tricks to be more productive
  during their cycles, so let's document the best ones so that everyone
  can benefit from them.

Tree-SHA512: b4989e7a815e972a9a646f448fb6c08bd896b4bce77fd7fb22a71a7602971d4cbe34f88183f503f5b851d002784d9e91b87df5348c661eeb9cefa69c52e0de2b
2019-02-18 10:32:52 -05:00
MarcoFalke 5029e94f85
Merge #14519: tests: add utility to easily profile node performance with perf
13782b8ba8 docs: add perf section to developer docs (James O'Beirne)
58180b5fd4 tests: add utility to easily profile node performance with perf (James O'Beirne)

Pull request description:

  Adds a context manager to easily (and selectively) profile node performance during functional test execution using `perf`.

  While writing some tests, I encountered some odd bitcoind slowness. I wrote up a utility (`TestNode.profile_with_perf`) that generates performance diagnostics for a node by running `perf` during the execution of a particular region of test code.

  `perf` usage is detailed in the excellent (and sadly unmerged) https://github.com/bitcoin/bitcoin/pull/12649; all due props to @eklitzke.

  ### Example

  ```python
  with node.profile_with_perf("large-msgs"):
      for i in range(200):
          node.p2p.send_message(some_large_msg)
      node.p2p.sync_with_ping()
  ```

  This generates a perf data file in the test node's datadir (`/tmp/testtxmpod0y/node0/node-0-TestName-large-msgs.perf.data`).

  Running `perf report` generates nice output about where the node spent most of its time while running that part of the test:

  ```bash
  $ perf report -i /tmp/testtxmpod0y/node0/node-0-TestName-large-msgs.perf.data --stdio \
    | c++filt \
    | less

  # To display the perf.data header info, please use --header/--header-only options.
  #
  #
  # Total Lost Samples: 0
  #
  # Samples: 135  of event 'cycles:pp'
  # Event count (approx.): 1458205679493582
  #
  # Children      Self  Command          Shared Object        Symbol
  # ........  ........  ...............  ...................  ........................................................................................................................................................................................................................................................................
  #
      70.14%     0.00%  bitcoin-net      bitcoind             [.] CNode::ReceiveMsgBytes(char const*, unsigned int, bool&)
                  |
                  ---CNode::ReceiveMsgBytes(char const*, unsigned int, bool&)

      70.14%     0.00%  bitcoin-net      bitcoind             [.] CNetMessage::readData(char const*, unsigned int)
                  |
                  ---CNetMessage::readData(char const*, unsigned int)
                     CNode::ReceiveMsgBytes(char const*, unsigned int, bool&)

      35.52%     0.00%  bitcoin-net      bitcoind             [.] std::vector<char, zero_after_free_allocator<char> >::_M_fill_insert(__gnu_cxx::__normal_iterator<char*, std::vector<char, zero_after_free_allocator<char> > >, unsigned long, char const&)
                  |
                  ---std::vector<char, zero_after_free_allocator<char> >::_M_fill_insert(__gnu_cxx::__normal_iterator<char*, std::vector<char, zero_after_free_allocator<char> > >, unsigned long, char const&)
                     CNetMessage::readData(char const*, unsigned int)
                     CNode::ReceiveMsgBytes(char const*, unsigned int, bool&)

  ...
  ```

Tree-SHA512: 9ac4ceaa88818d5eca00994e8e3c8ad42ae019550d6583972a0a4f7b0c4f61032e3d0c476b4ae58756bc5eb8f8015a19a7fc26c095bd588f31d49a37ed0c6b3e
2019-02-05 17:40:16 -05:00
Carl Dong 5b76c314d6 doc: Add separate productivity notes document
Many developers have their own tools and tricks to be more productive
during their cycles, so let's document the best ones so that everyone
can benefit from them.
2019-02-05 15:18:36 -05:00
John Newbery 65bc38d1c1 [doc] add notes on release notes 2019-01-24 11:14:43 -05:00
James O'Beirne 13782b8ba8 docs: add perf section to developer docs 2019-01-22 08:56:01 -05:00
MarcoFalke fd83c57d6b
Merge #14832: docs: Add more Doxygen information to Developer Notes
a62e667296 docs: Add more Doxygen information to Developer Notes (Jon Layton)

Pull request description:

  Update information about Doxygen in `doc/developer-notes.md`.

  Alternatively, this could have its own file (like `doc/web-documentation.md`), since there are installation steps included.

  For example, I had to run:
  ```
  brew install doxygen graphviz
  ```
  on MacOS, otherwise failures occurred.

  This information could also be linked to the `doc/release-process.md`.

Tree-SHA512: 5d77ee83e1b96fde036482b502f676a90a56f3f667753545a7cfba5c2e3b825644bb4cf0f8a84b7f9ba92fa5f2e1cd6ef1e27a94277f43d012355df741f7dd2f
2019-01-04 11:49:29 +01:00
MarcoFalke 4987cdd16d
Merge #14882: [doc] developer-notes.md: point out that UniValue deviates from upstream
a67d71311d [doc] developer-notes.md: point out that UniValue deviates from upstream (Sjors Provoost)

Pull request description:

  While debugging an issue I was somewhat surprised to [learn](https://github.com/bitcoin/bitcoin/pull/14164#issuecomment-419752678) that we've moved `src/univalue` from https://github.com/jgarzik/univalue to https://github.com/bitcoin-core/univalue, that these repos are both maintained and they're different.

  The first mention of using the bitcoin-core repo is from late 2015 in #7157. I didn't check when the last common ancestor commit is.

  I couldn't find documentation as to why (these things just happen in open source of course), but at minimum we should make this more clear.

  There's also the following line in `config.ac` that I'm not sure what to do with:
  ```
  AC_INIT([univalue], [1.0.3],
          [http://github.com/jgarzik/univalue/])
  ```

Tree-SHA512: e58105677b5ebe0005772282da4a805fee7dfccacfb1b2686a874517bf46072d1481181f8a8865d25526f6ed9e5fcd55d8d49906bf27cd0f5aefe4f258aa4d63
2018-12-06 11:33:39 -05:00
Sjors Provoost a67d71311d
[doc] developer-notes.md: point out that UniValue deviates from upstream 2018-12-06 11:55:26 +01:00
vim88 688f665a5e Scripts and tools & Docs: Used #!/usr/bin/env bash instead of obsolete #!/bin/bash, added linting for .sh files shebang and updated the Developer Notes. 2018-12-02 16:14:21 +02:00
Jon Layton a62e667296 docs: Add more Doxygen information to Developer Notes 2018-11-29 11:58:30 -06:00
Carl Dong 07e286d940 Improve scripted-diff developer docs
Instead of verifying all scripted-diffs, provide an example that only verifies all scripted-diffs in commits since `origin/master.
2018-11-15 15:45:48 -08:00
Carl Dong 9605bbd315
Make clear function argument case in dev notes 2018-10-31 17:21:41 -07:00
Dimitris Apostolou 4a9f064ea1
Fix typos 2018-10-04 21:58:24 +03:00
MarcoFalke 920c090f63
Merge #14287: tests: Use MakeUnique to construct objects owned by unique_ptrs
b6718e373e tests: Use MakeUnique to construct objects owned by unique_ptrs (practicalswift)

Pull request description:

  A subset of #14211 ("Use MakeUnique to construct objects owned by unique_ptrs") as suggested by @MarcoFalke in https://github.com/bitcoin/bitcoin/pull/14211#issuecomment-423324019.

  Use `MakeUnique` to construct objects owned by `unique_ptr`s.

  Rationale:
  * `MakeUnique` ensures exception safety in complex expressions.
  * `MakeUnique` gives a more concise statement of the construction.

Tree-SHA512: 1228ae6ce7beb178d79142c4e936b728178ccaa8aa35c6d8feeb33d1a667abfdd010c59996a9d833594611e913877ce5794e75953d11d9b1fdbac04aa491d9cf
2018-09-19 13:26:47 -04:00
practicalswift b6718e373e tests: Use MakeUnique to construct objects owned by unique_ptrs 2018-09-21 11:03:21 +02:00
Hennadii Stepanov 14b29a77ac
Fix reference to lint-locale-dependence.sh 2018-09-13 18:01:56 +03:00
Wladimir J. van der Laan 8c3c402a5a
Merge #13717: docs: Link to python style guidelines from developer notes
a9e898a4ad docs: Link to python style guidelines from developer notes (Mason Simon)

Pull request description:

  Initially I moved the python style guidelines from the functional test README, but some of the python rules are test-specific, and most of the developer notes doc is C++ centric, so just dropping a link seemed better.

Tree-SHA512: 9d4d5cc45526319a118595d90fcfad2c9aced22007aa096d8af04ba1b963312822804f4c15b0b227d66af49565034437691b7760e7ff6d1e3f8b10b898906362
2018-08-07 13:56:31 +02:00
William Robinson 3be70ba400
trivial: Fixed typos and cleaned up language 2018-08-02 21:27:16 +08:00
Mason Simon a9e898a4ad docs: Link to python style guidelines from developer notes 2018-07-19 12:17:00 -07:00
MarcoFalke b22115d9a3
Merge #13312: docs: Add a note about the source code filename naming convention
e56771365b Do not use uppercase characters in source code filenames (practicalswift)
419a1983ca docs: Add a note about the source code filename naming convention (practicalswift)

Pull request description:

  Add a note about the source code filename naming convention.

Tree-SHA512: 8d329bd9e19bcd26e74b0862fb0bc2369b46095dbd3e69d34859908632763abd7c3d00ccc44ee059772ad4bae4460c2bcc1c0e22fd9d8876d57e5fcd346cea4b
2018-06-12 08:02:20 -04:00
Wladimir J. van der Laan 7c32b414b6
Merge #13230: Simplify include analysis by enforcing the developer guide's include syntax
16e3cd380a Clarify include recommendation (practicalswift)
6d10f43738 Enforce the use of bracket syntax includes ("#include <foo.h>") (practicalswift)
906bee8e5f Use bracket syntax includes ("#include <foo.h>") (practicalswift)

Pull request description:

  When analysing includes in the project it is often assumed that the preferred bracket include syntax (`#include <foo.h>`) mentioned in `developer-docs.md` is used consistently. @sipa:s excellent circular dependencies script [`circular-dependencies.py`](50c69b7801/contrib/devtools/circular-dependencies.py) (#13228) is an example of a script making this reasonable assumption.

  This PR enables automatic Travis checking of the include syntax making sure that the bracket syntax includes (`#include <foo.h>`) is used consistently.

Tree-SHA512: a414921aabe8e487ebed42f3f1cbd02fecd1add385065c1f2244cd602c31889e61fea5a801507ec501ef9bd309b05d3c999f915cec1c2b44f085bb0d2835c182
2018-06-11 20:24:58 +02:00
practicalswift 16e3cd380a Clarify include recommendation 2018-06-06 11:09:05 +02:00
practicalswift 698cfd0811 docs: Mention lint-locale-dependence.sh in developer-notes.md 2018-06-06 08:08:44 +02:00
MarcoFalke fa3c910bfe
test: Move linters to test/lint, add readme 2018-05-24 12:02:15 -04:00
practicalswift 419a1983ca docs: Add a note about the source code filename naming convention 2018-05-23 15:52:55 +02:00
Russell Yanofsky cd0e1e91dd Fix inconsistent namespace formatting guidelines
Suggested formatting for namespaces in the developer guide is currently
inconsistent. This commit updates the developer guide and clang-format
configuration to consistently put "namespace" and opening/closing braces
on the same line. Example:

```c++
namespace boost {
namespace signals2 {
class connection;
} // namespace signals2
} // namespace boost
```

Currently the "Source code organization" section has an example like the one
above, but the "Coding style" section example and description put a newline
between the opening "namespace foo" and brace (but oddly no newline between
closing namespace and brace).

Avoiding newlines before namespace opening braces makes nested declarations
less verbose and also avoids asymmetry with closing braces. It's also a
common style used in other codebases:

* https://google.github.io/styleguide/cppguide.html#Namespaces
* https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Classes
* https://llvm.org/docs/CodingStandards.html#namespace-indentation
2018-04-13 15:37:20 -04:00
MarcoFalke fad0fc3c9a
Refine travis check for duplicate includes
This partially reverts commit c36b720d00.
2018-04-10 15:12:42 -04:00
Wladimir J. van der Laan d6f10b248a
Merge #12895: tests: Add note about test suite name uniqueness requirement to developer notes
d1b622b tests: Add check for test suite name uniqueness in lint-tests.sh (practicalswift)
dc8067b tests: Add note about uniqueness requirement for test suite names (practicalswift)
3ebfb2d tests: Avoid test suite name collision in wallet crypto_tests (MarcoFalke)

Pull request description:

  * Add documentation: Add note about test suite name uniqueness requirement in developer notes
  * Add regression test: Update `lint-tests.sh` to make it check also for test suite name uniqueness

  Context: #12894 (`tests: Avoid test suite name collision in wallet crypto_tests`)

Tree-SHA512: 3c8502db069ef3d753f534976a86a997b12bac539e808a7285193bf81c9dd8c1b06821c3dd1bdf870ab87722b02c8aa9574c62ace70c2a1b8091785cb8c9aace
2018-04-08 10:47:35 +02:00
MarcoFalke 048ac8326b
Merge #12906: Avoid `interface` keyword to fix windows gitian build
17780d6f35 scripted-diff: Avoid `interface` keyword to fix windows gitian build (Russell Yanofsky)

Pull request description:

  Rename `interface` to `interfaces`

  Build failure reported by ken2812221 in https://github.com/bitcoin/bitcoin/pull/10244#issuecomment-379434756

Tree-SHA512: e02c97c728540f344202c13b036f9f63af23bd25e25ed7a5cfe9e2c2f201a12ff232cc94a93fbe37ef6fb6bf9e036fe62210ba798ecd30de191d09338754a8d0
2018-04-07 15:19:47 -04:00
Russell Yanofsky 17780d6f35 scripted-diff: Avoid `interface` keyword to fix windows gitian build
Rename `interface` to `interfaces`

Build failure reported by Chun Kuan Lee <ken2812221@gmail.com>
https://github.com/bitcoin/bitcoin/pull/10244#issuecomment-379434756

-BEGIN VERIFY SCRIPT-

git mv src/interface src/interfaces
ren() { git grep -l "$1" | xargs sed -i "s,$1,$2,g"; }
ren interface/            interfaces/
ren interface::           interfaces::
ren BITCOIN_INTERFACE_    BITCOIN_INTERFACES_
ren "namespace interface" "namespace interfaces"

-END VERIFY SCRIPT-
2018-04-07 03:42:02 -04:00
practicalswift dc8067b3e6 tests: Add note about uniqueness requirement for test suite names 2018-04-06 16:29:14 +02:00
practicalswift b119e78733 docs: Fix conflicting statements about initialization in developer notes 2018-04-05 23:25:07 +02:00
Russell Yanofsky 9960137697 Add developer notes about blocking GUI code 2018-04-04 16:52:41 -04:00
MarcoFalke 0c5f67b8e5
Merge #12757: Clarify include guard naming convention
3bcc0059b8 Add lint-include-guards.sh which checks include guard consistency (practicalswift)
8fd6af89a0 Fix missing or inconsistent include guards (practicalswift)
8af65d96f4 Document include guard convention (practicalswift)

Pull request description:

  * **Documentation**: Document include guard convention
  * **Fix**: Fix missing or inconsistent include guards
  * **Regression test**: Add `lint-include-guards.sh` which checks include guard consistency

Tree-SHA512: 8171878f60fd08ccbea943a11e835195750592abb9d7ab74eaa4265ae7fac523b1da9d31ca13d6ab73dd596e49986bfb7593c696e5f39567c93e610165bc2acc
2018-04-01 18:30:21 -04:00
MarcoFalke 9beded5860
Merge #12719: tests: Add note about test suite naming convention in developer-notes.md
db983beba6 tests: Add lint-tests.sh which checks the test suite naming convention (practicalswift)
5fd864fe8a tests: Rename test suits not following the test suite naming convention (practicalswift)
7b4a296a71 tests: Add note about test suite naming convention (practicalswift)

Pull request description:

  Changes:
  * Add note about test suite naming convention
  * Fix exceptions
  * Add regression test

  Rationale:
  * Consistent naming of test suites makes programmatic test running of specific tests/subsets of tests easier
  * Explicit is better than implicit

  Before this commit:

  ```
  $ contrib/devtools/lint-tests.sh
  The test suite in file src/test/foo_tests.cpp should be named
  "foo_tests". Please make sure the following test suites follow
  that convention:

  src/test/blockchain_tests.cpp:BOOST_FIXTURE_TEST_SUITE(blockchain_difficulty_tests, BasicTestingSetup)
  src/test/prevector_tests.cpp:BOOST_FIXTURE_TEST_SUITE(PrevectorTests, TestingSetup)
  src/wallet/test/coinselector_tests.cpp:BOOST_FIXTURE_TEST_SUITE(coin_selection_tests, WalletTestingSetup)
  src/wallet/test/crypto_tests.cpp:BOOST_FIXTURE_TEST_SUITE(wallet_crypto, BasicTestingSetup)
  $
  ```

  After this commit:

  ```
  $ contrib/devtools/lint-tests.sh
  $
  ```

Tree-SHA512: 7258ab9a6b9b8fc1939efadc619e2f2f02cfce8034c7f2e5dc5ecc769aa12e17f6fb8e363817feaf15c026c5b958b2574525b8d2d3f6be69658679bf8ceea9e9
2018-04-01 18:28:22 -04:00
Wladimir J. van der Laan de6bdfd78f
Merge #12692: Add configure options for various -fsanitize flags
6feb46c Add --with-sanitizers option to configure (Evan Klitzke)

Pull request description:

  This adds configure options for `-fsanitize=address`, `-fsanitize=thread`, and `-fsanitize=undefined` which are all disabled by default. These flags are useful for developers who wish to do additional safety checking. Note that some of these are mutually incompatible, and these may have a large performance overhead.

  There's some kind of strange logic required to properly check for the availability of these flags in a way that works on both GCC and Clang, hopefully the comments make it clear what's going on.

Tree-SHA512: 2d6fe402799110e59ee452dddf37f7ca2d26a7fecec50be25c8a134e4a20beb31f1e8f438dffd443641562418075896d1eeb450623425b272d80e05e3027a587
2018-03-29 22:57:58 +02:00
Wladimir J. van der Laan d3908e2cee
Merge #12759: [Docs] Improve formatting of developer notes
0bd2ec5 Improve formatting of developer notes (Evan Klitzke)

Pull request description:

  The developer notes file has gotten pretty large and unwieldly. This reorganizes some content, most notably by adding a TOC to the page. Compare how the page looks in [my branch](https://github.com/eklitzke/bitcoin/blob/developer-notes/doc/developer-notes.md) vs [master](https://github.com/eklitzke/bitcoin/blob/master/doc/developer-notes.md).

  I know there's long-term interest in moving a lot of this content to the bitcoin-core/docs repo on GitHub, but this makes things better now.

  The TOC format here is a semi-standard extension to Markdown files that you may have seen on GitHub pages in other projects. The `<!-- markdown-toc -->` comments used by these tools to know where the TOC starts/ends. The following tools all understand this format:

   * [Sphinx](http://www.sphinx-doc.org/en/master/)
   * [Pandoc](https://pandoc.org/)
   * [markdown-toc.el](https://github.com/ardumont/markdown-toc) (what I used)
   * various plugins for [vim](https://github.com/mzlogin/vim-markdown-toc) and other editors

  I used this TOC extension at a previous job, and my observation is that it's fine if people just edit the TOC manually. It's just text and it's not a huge deal if it gets a little out of sync. It can also be regenerated at any time by anyone with any of these tools.

Tree-SHA512: 298d1605ea5e8bfc0f75e70570c23ebd6891e4ffcdedd24fefadc23edd6e4b96509d8d102209868468a1b3ddbe2c3b8462698cdda8b9421348b5bc6f7b8d0cb8
2018-03-29 15:45:31 +02:00
Evan Klitzke ccedbafd73
Increase LevelDB max_open_files unless on 32-bit Unix.
This change significantly increases IBD performance by increasing the
amount of the UTXO index that can remain in memory. To ensure this
doesn't cause problems in the future, a static_assert on the LevelDB
version has been added, which must be updated by anyone upgrading
LevelDB.
2018-03-28 22:34:37 -07:00
Evan Klitzke 6feb46c372
Add --with-sanitizers option to configure
This enables the use of different compiler sanitizers, coresponding to
the -fsanitize option in GCC and Clang.
2018-03-28 12:33:04 -07:00
Evan Klitzke 0bd2ec5484
Improve formatting of developer notes
Summary of changes:

 * Add a TOC to the page
 * Make tips and tricks section use h3 headings
 * Reformat and clarify some sections
2018-03-28 12:11:25 -07:00
Wladimir J. van der Laan e49ba2e23b
Merge #12762: Make CKeyStore an interface
f381299 Move CKeyStore::cs_KeyStore to CBasicKeyStore (João Barbosa)
25eb9f5 Inline CKeyStore::AddKey(const CKey &) in CBasicKeyStore (João Barbosa)

Pull request description:

  Made these simplifications while reviewing #12714. This aims to make `CKeyStore` a *pure* interface:
   - no variable members - the mutex is moved to `CBasicKeyStore` which is where it is used;
   - no method implementations - `AddKey(const CKey &)` is moved to `CBasicKeyStore` which is where it is needed.

Tree-SHA512: 84e44f4390c59600e5cefa599b5464e1771c31dd4abc678ef50db8e06ffac778d692860a352918444f8bcd66430634637b6277a818a658721ffc4f381c1c6a90
2018-03-27 20:42:49 +02:00
practicalswift 0fee2b4180 doc: Add note about our preference for scoped enumerations ("enum class") 2018-03-27 17:18:32 +02:00
João Barbosa f381299d64 Move CKeyStore::cs_KeyStore to CBasicKeyStore 2018-03-24 12:15:53 +00:00
practicalswift 8af65d96f4 Document include guard convention 2018-03-22 16:23:04 +01:00
practicalswift 7b4a296a71 tests: Add note about test suite naming convention 2018-03-19 08:54:07 +01:00
Russell Yanofsky 4c317d89e9 Document RPC method aliasing
Suggested by Sjors Provoost <sjors@sprovoost.nl> in
https://github.com/bitcoin/bitcoin/pull/11536#issuecomment-372820660
2018-03-15 16:37:57 -04:00
Wladimir J. van der Laan f13d756cdd
Merge #12373: Build: Add build support for profiling.
cfaac2a60 Add build support for 'gprof' profiling. (murrayn)

Pull request description:

  Support for profiling build: `./configure --enable-profiling`

Tree-SHA512: ea983cfce385f1893bb4ab7f94ac141b7d620951dc430da3bbc92ae1357fb05521eac689216e66dc87040171a8a57e76dd7ad98036e12a2896cfe5ab544347f0
2018-03-06 20:21:44 +01:00
Wladimir J. van der Laan 9d49dcf9fa
Merge #12260: [Trivial] link mentioned scripted-diff-commit (developer-doc)
7eb665fc8 [Trivial] link mentioned scripted-diff-commit (Felix Wolfsteller)

Pull request description:

  Make it easier for people who do not operate on a cloned repository to access the example mentioned.

Tree-SHA512: 1c06e551c68cad03e6bd541bf0e0076cdf0b48ef9b8b4e4a61435367c3435e2e4ccb934112e8dc29d3d70217d8834924704aaf839e25d1133312df86848ca1a1
2018-03-05 17:41:49 +01:00
Wladimir J. van der Laan 21e2670de3
Merge #12434: [doc] dev-notes: Members should be initialized
fa9461473 [doc] dev-notes: Members should be initialized (MarcoFalke)

Pull request description:

  Also, remove mention of threads that were removed long ago.

  Motivation:
  Make it easier to spot bugs such as #11654 and  #12426

Tree-SHA512: 8ca1cb54e830e9368803bd98a8b08c39bf2d46f079094ed7e070b32ae15a6e611ce98d7a614f897803309f4728575e6bc9357fab1157c53d2536417eb8271653
2018-03-05 17:38:59 +01:00
murrayn cfaac2a60f Add build support for 'gprof' profiling. 2018-02-26 20:54:16 -08:00
MarcoFalke fa94614738
[doc] dev-notes: Members should be initialized
Also, remove mention of threads that were removed long ago
2018-02-16 14:21:52 -05:00
Andrea Comand a777244e48 Build: Add a makefile target for Doxygen documentation
You can now build the doxygen documentation with `make docs` and clean it with `make clean-docs`.

Fixes: #11949
2018-01-25 19:43:19 +01:00
Felix Wolfsteller 7eb665fc86 [Trivial] link mentioned scripted-diff-commit 2018-01-24 17:07:25 +01:00
flack 58c909d8d1
Typo fix 2017-12-16 13:29:26 +01:00
Russell Yanofsky 434f5a2506 Recommend #include<> syntax in developer notes 2017-11-16 08:23:03 +13:00
Wladimir J. van der Laan 927a1d7d08
Merge #10286: Call wallet notify callbacks in scheduler thread (without cs_main)
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-15 16:25:40 +01:00
James O'Beirne 5ff01c2363 [docs] Add instructions for lcov coverage report generation 2017-11-14 15:29:45 -08:00
Wladimir J. van der Laan 927e5280bd
Merge #11035: [contrib] Add Valgrind suppressions file
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-13 15:00:45 +01:00
practicalswift 4a426d8900 Add note about Valgrind suppressions file in developer-notes.md 2017-11-12 17:11:47 +01:00
Matt Corallo c4784b5065 Add a dev notes document describing the new wallet RPC blocking 2017-10-13 19:30:15 -04:00
John Newbery 90ab62c451 [docs] document scripted-diff 2017-09-24 08:16:48 -04:00
Matt Corallo aece8a4637 (finally) remove getinfo in favor of more module-specific infos 2017-09-06 16:10:04 -07:00
João Barbosa 62ecce75e4 [doc] Add RPC response notes 2017-08-25 15:54:33 +01:00
practicalswift f1708ef89a Add recommendation: By default, declare single-argument constructors `explicit` 2017-08-22 22:55:19 +02:00
Wladimir J. van der Laan 7ed57d3d7c
Merge #11050: Avoid treating null RPC arguments different from missing arguments
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-22 09:26:38 +02:00
practicalswift bea8e9e66e Document the preference of nullptr over NULL or (void*)0 2017-08-18 09:51:00 +02:00
practicalswift d1e6f91f85 Prefer compile-time checking over run-time checking 2017-08-17 00:42:32 +02:00
MarcoFalke d7be7b39fa
Merge #10705: Trivial: spelling fixes
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-16 00:30:12 +02:00
klemens f42fc1d508 doc: spelling fixes 2017-08-16 00:24:39 +02:00
Russell Yanofsky fd5d71ec4b Update developer notes after params.size() cleanup 2017-08-14 23:32:38 -04:00
Wladimir J. van der Laan dac37823d4 doc: Correct AmountFromValue/ValueFromAmount names 2017-08-07 17:01:21 +02:00
Marko Bencun 4a7a4ff1f1 developer-notes: add reference to snake_case and PascalCase
CamelCase is ambiguous as it refers to both lowerCamelCase and
UpperCamelCase, whereas PascalCase is only UpperCamelCase.
2017-07-25 12:37:53 +02:00
Wladimir J. van der Laan f3f1e2e7d3
Merge #9544: [trivial] Add end of namespace comments. Improve consistency.
5a9b508 [trivial] Add end of namespace comments (practicalswift)

Tree-SHA512: 92b0fcae4d1d3f4da9e97569ae84ef2d6e09625a5815cd0e5f0eb6dd2ecba9852fa85c184c5ae9de5117050330ce995e9867b451fa8cd5512169025990541a2b
2017-06-26 13:40:26 +02:00
Dimitris Tsapakidis 0a5a6b90bc Fixed multiple typos
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-22 19:18:10 +03:00
Pieter Wuille a090d1c1c9 Header include guideline 2017-06-11 15:54:58 -07:00
practicalswift 5a9b508279 [trivial] Add end of namespace comments 2017-05-31 22:21:25 +02:00
Pieter Wuille 47d8441466 Update style guide 2017-05-26 15:58:03 -07:00
Pavel Janík f203ecc621 Shadowing is not enabled by default, update doc accordingly. 2017-05-10 19:48:24 +02:00
Wladimir J. van der Laan c26655ed3f doc: Add RPC interface guidelines 2017-05-02 07:51:49 +02:00
John Newbery c28ee91db0 Rename rpc-tests directory to functional 2017-03-20 10:40:31 -04:00
John Newbery 00902c48cd Rename qa directory to test 2017-03-20 10:40:31 -04:00
Koki Takahashi 36164faa33 Fix typo and spelling inconsistency in CONTRIBUTING.md
Fix spellings of GitHub

Remove unnecessary changes

Fix GitHub spelling on doc/translation_process.md
2017-02-09 11:56:44 +09:00
MarcoFalke fa5137c11d [doc] Remove unused clang format dev script
Also, update the clang format file to reflect the current coding
style mentioned in the developer notes.
2017-01-28 16:57:08 +01:00
Pieter Wuille 74994c6577 Improve style w.r.t. if 2017-01-10 11:58:27 -08:00
Gregory Maxwell 08ed8c1d07 Developer docs about existing subtrees.
Add some notes about the workflow for changes to code that exists in subtrees.
2016-12-02 14:34:20 +00:00
Pavel Janík 359bac7cff Add notes about variable names and shadowing 2016-11-09 14:11:24 +01:00
fanquake ab53207b9c
[trivial][doc] Mention ++i as preferred to i++ in dev notes 2016-08-26 19:40:24 +08:00
Wladimir J. van der Laan 67db011e12
Merge #8177: developer notes: updates for C++11
654a211 developer notes: updates for C++11 (Kaz Wesley)
2016-06-10 11:29:36 +02:00
Kaz Wesley 654a211622 developer notes: updates for C++11
- boost::scoped_ptr is obsolete
- std::vector::data replaces begin_ptr / end_ptr
2016-06-09 09:59:06 -07:00
Wladimir J. van der Laan f7b1bfc9a3
Merge #8178: Add git and github tips and tricks to developer notes
3144449 Add git and github tips and tricks to developer notes (Pieter Wuille)
2016-06-09 16:42:27 +02:00
Pieter Wuille 31444491f2 Add git and github tips and tricks to developer notes 2016-06-09 15:44:44 +02:00
Wladimir J. van der Laan e012f3cea0 util: Add ParseUInt32 and ParseUInt64
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-06-08 10:28:51 +02:00
MarcoFalke fadd048592 [doc] Link to clang-format in the developer notes 2016-05-10 17:59:07 +02:00
MarcoFalke fada0c422c [doc] Fix doxygen comments for members 2016-04-03 11:58:01 +02:00
MarcoFalke fad3035e8d [doc] Minor markdown fixes 2015-11-30 16:33:15 +01:00
Wladimir J. van der Laan b8c06ef409 doc: Add non-style-related development guidelines
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-11-13 12:02:39 +01:00
Wladimir J. van der Laan dca7bd3152 doc: Add developer notes about gitignore
- Add developer notes about `.gitignore.`
- Remove qt creator specific files from gitignore, to be consistent.
2015-10-23 14:24:08 +02:00