Skip to content

Commit a8327fd

Browse files
committed
Merge #19072: doc: Expand section on Getting Started
facef3d doc: Explain that anyone can work on good first issues, move text to CONTRIBUTING.md (MarcoFalke) fae2fb2 doc: Expand section on Getting Started (MarcoFalke) 100000d doc: Add headings to CONTRIBUTING.md (MarcoFalke) fab893e doc: Fix unrelated typos reported by codespell (MarcoFalke) Pull request description: Some random doc changes: * Add sections to docs, so that they can be linked to * Explain that anyone (even maintainers) are allowed to work on good first issues * Expand section on Getting Started slightly ACKs for top commit: hebasto: ACK facef3d fanquake: ACK facef3d Tree-SHA512: 8998e273a76dbf4ca77e79374c14efe4dfcc5c6df6b7d801e1e1e436711dbe6f76b436f9cbc6cacb45a56827babdd6396f3bd376a9426ee7be3bb9b8a3b8e383
2 parents a65b55f + facef3d commit a8327fd

File tree

7 files changed

+59
-16
lines changed

7 files changed

+59
-16
lines changed

.github/ISSUE_TEMPLATE/good_first_issue.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,14 @@ assignees: ''
77

88
---
99

10+
<!-- A good first issue is an uncontroversial issue, that has a relatively unique and obvious solution -->
11+
12+
<!-- Motivate the issue and explain the solution briefly -->
1013

1114
#### Useful skills:
1215

1316
<!-- (For example, “C++11 std::thread”, “Qt5 GUI and async GUI design” or “basic understanding of Bitcoin mining and the Bitcoin Core RPC interface”.) -->
1417

1518
#### Want to work on this issue?
1619

17-
The purpose of the `good first issue` label is to highlight which issues are suitable for a new contributor without a deep understanding of the codebase.
18-
19-
You do not need to request permission to start working on this. You are encouraged to comment on the issue if you are planning to work on it. This will help other contributors monitor which issues are actively being addressed and is also an effective way to request assistance if and when you need it.
20-
2120
For guidance on contributing, please read [CONTRIBUTING.md](https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md) before opening your pull request.

CONTRIBUTING.md

Lines changed: 51 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,49 @@ purposes. As such there are repository "maintainers" who are responsible for
1414
merging pull requests as well as a "lead maintainer" who is responsible for the
1515
release cycle, overall merging, moderation and appointment of maintainers.
1616

17+
Getting Started
18+
---------------
19+
20+
New contributors are very welcome and needed.
21+
22+
Reviewing and testing is the most effective way you can contribute as a new
23+
contributor, and it also will teach you much more about the code and process
24+
than opening PRs. Please refer to the section [peer review](#peer-review) later
25+
in this document.
26+
27+
Before you start contributing, familiarize yourself with the Bitcoin Core build
28+
system and tests. Refer to the documentation in the repository on how to build
29+
Bitcoin Core and how to run the unit and functional tests.
30+
31+
There are many open issues of varying difficulty waiting to be fixed.
1732
If you're looking for somewhere to start contributing, check out the
1833
[good first issue](https://github.com/bitcoin/bitcoin/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)
19-
list or participate in a weekly [Bitcoin Core PR Review Club](https://bitcoincore.reviews/) meeting.
34+
list or changes that are
35+
[up for grabs](https://github.com/bitcoin/bitcoin/issues?utf8=%E2%9C%93&q=label%3A%22Up+for+grabs%22).
36+
Some of them might no longer be applicable. So if you are interested, but
37+
unsure, you might want to leave a comment on the issue first.
38+
39+
You may also participate in the weekly
40+
[Bitcoin Core PR Review Club](https://bitcoincore.reviews/) meeting.
41+
42+
### Good First Issue Label
43+
44+
The purpose of the `good first issue` label is to highlight which issues are
45+
suitable for a new contributor without a deep understanding of the codebase.
46+
47+
However, good first issues can be solved by anyone. If they remain unsolved
48+
for a longer time, a frequent contributor might address them.
49+
50+
You do not need to request permission to start working on an issue. However,
51+
you are encouraged to leave a comment if you are planning to work on it. This
52+
will help other contributors monitor which issues are actively being addressed
53+
and is also an effective way to request assistance if and when you need it.
2054

2155
Communication Channels
2256
----------------------
2357

2458
Most communication about Bitcoin Core development happens on IRC, in the
25-
#bitcoin-core-dev channel on Freenode. The easiest way to participate on IRC is
59+
`#bitcoin-core-dev` channel on Freenode. The easiest way to participate on IRC is
2660
with the web client, [webchat.freenode.net](https://webchat.freenode.net/). Chat
2761
history logs can be found
2862
on [http://www.erisian.com.au/bitcoin-core-dev/](http://www.erisian.com.au/bitcoin-core-dev/)
@@ -33,7 +67,7 @@ requests.
3367

3468
The developer
3569
[mailing list](https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev)
36-
should be used to discuss complicated or controversial changes before working on
70+
should be used to discuss complicated or controversial consensus or P2P protocol changes before working on
3771
a patch set.
3872

3973

@@ -53,6 +87,8 @@ To contribute a patch, the workflow is as follows:
5387
The project coding conventions in the [developer notes](doc/developer-notes.md)
5488
must be followed.
5589

90+
### Committing Patches
91+
5692
In general, [commits should be atomic](https://en.wikipedia.org/wiki/Atomic_commit#Atomic_commit_convention)
5793
and diffs should be easy to read. For this reason, do not mix any formatting
5894
fixes or code moves with actual code changes.
@@ -76,6 +112,8 @@ about Git.
76112
- Push changes to your fork
77113
- Create pull request
78114

115+
### Creating the Pull Request
116+
79117
The title of the pull request should be prefixed by the component or area that
80118
the pull request affects. Valid areas as:
81119

@@ -100,18 +138,24 @@ Examples:
100138
qt: Add feed bump button
101139
log: Fix typo in log message
102140

141+
The body of the pull request should contain enough description about what the
142+
patch does together with any justification/reasoning. You should include
143+
references to any discussions (for example other tickets or mailing list
144+
discussions).
145+
146+
### Translation changes
147+
103148
Note that translations should not be submitted as pull requests. Please see
104149
[Translation Process](https://github.com/bitcoin/bitcoin/blob/master/doc/translation_process.md)
105150
for more information on helping with translations.
106151

152+
### Work in Progress Changes and Requests for Comments
153+
107154
If a pull request is not to be considered for merging (yet), please
108155
prefix the title with [WIP] or use [Tasks Lists](https://help.github.com/articles/basic-writing-and-formatting-syntax/#task-lists)
109156
in the body of the pull request to indicate tasks are pending.
110157

111-
The body of the pull request should contain enough description about what the
112-
patch does together with any justification/reasoning. You should include
113-
references to any discussions (for example other tickets or mailing list
114-
discussions).
158+
### Address Feedback
115159

116160
At this stage, one should expect comments and review from other contributors. You
117161
can add more commits to your pull request by committing them locally and pushing

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -811,7 +811,7 @@ if test x$use_hardening != xno; then
811811
fi
812812

813813
dnl These flags are specific to ld64, and may cause issues with other linkers.
814-
dnl For example: GNU ld will intepret -dead_strip as -de and then try and use
814+
dnl For example: GNU ld will interpret -dead_strip as -de and then try and use
815815
dnl "ad_strip" as the symbol for the entry point.
816816
if test x$TARGET_OS = xdarwin; then
817817
AX_CHECK_LINK_FLAG([[-Wl,-dead_strip]], [LDFLAGS="$LDFLAGS -Wl,-dead_strip"],, [[$LDFLAG_WERROR]])

src/psbt.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ static constexpr uint8_t PSBT_OUT_BIP32_DERIVATION = 0x02;
4141
static constexpr uint8_t PSBT_SEPARATOR = 0x00;
4242

4343
// BIP 174 does not specify a maximum file size, but we set a limit anyway
44-
// to prevent reading a stream indefinately and running out of memory.
44+
// to prevent reading a stream indefinitely and running out of memory.
4545
const std::streamsize MAX_FILE_SIZE_PSBT = 100000000; // 100 MiB
4646

4747
/** A structure for PSBTs which contain per-input information */

src/qt/walletview.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ void WalletView::gotoLoadPSBT()
258258

259259
TransactionError result = BroadcastTransaction(*clientModel->node().context(), tx, err_string, DEFAULT_MAX_RAW_TX_FEE_RATE.GetFeePerK(), /* relay */ true, /* wait_callback */ false);
260260
if (result == TransactionError::OK) {
261-
Q_EMIT message(tr("Success"), tr("Broadcasted transaction sucessfully."), CClientUIInterface::MSG_INFORMATION | CClientUIInterface::MODAL);
261+
Q_EMIT message(tr("Success"), tr("Broadcasted transaction successfully."), CClientUIInterface::MSG_INFORMATION | CClientUIInterface::MODAL);
262262
} else {
263263
Q_EMIT message(tr("Error"), QString::fromStdString(err_string), CClientUIInterface::MSG_ERROR);
264264
}

src/rpc/mining.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ static bool getScriptFromDescriptor(const std::string& descriptor, CScript& scri
179179
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, strprintf("Cannot derive script without private keys"));
180180
}
181181

182-
// Combo desriptors can have 2 or 4 scripts, so we can't just check scripts.size() == 1
182+
// Combo descriptors can have 2 or 4 scripts, so we can't just check scripts.size() == 1
183183
CHECK_NONFATAL(scripts.size() > 0 && scripts.size() <= 4);
184184

185185
if (scripts.size() == 1) {

test/functional/rpc_getaddressinfo_label_deprecation.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
55
"""
66
Test deprecation of the RPC getaddressinfo `label` field. It has been
7-
superceded by the `labels` field.
7+
superseded by the `labels` field.
88
99
"""
1010
from test_framework.test_framework import BitcoinTestFramework

0 commit comments

Comments
 (0)