How to be a bitcoin core contributor? The most complete bitcoin developer's guide is here, BTC
. In the past year, I entered the strange rabbit hole that contributed to bitcoin core. In the process, I was very lucky to get advice and support from many people, and I also learned some skills. In this article, I would like to share some of the effective tools I have found.
becoming a contributor to bitcoin core is just one way to help advance this development. Other options include (and go far beyond) participating in out of column discussions, delving into attack vectors or expansion techniques, contributing to lightning network clients, or developing tools such as the secpk256k1 code base or better test infrastructure. But this article does not cover these topics.This article is about bitcoin core. It's about my experience. I hope it can help you find your way to contribute.
Before the first %First, read the white paper. Seriously, if you've read it in a foreign country, don't look at this article. Go straight to the white paper.It is necessary to understand the basic concepts of bitcoin operation. There are many channels for Xiaochang. I will start by reading one of the books (mastering bitcoin, programming bitcoin or grokking bitcoin). If it's an online material, I'll visit Jameson lopp's resource list or the course at chaincode labs. The former is broader, but the latter is specifically designed for development.
if your current goal is to contribute to bitcoin core, don't try to learn the details of each concept. There are a lot of subjects that don't differ much. Now the standard is to get a high level of understanding and contact the differences of the system one sidedly. It is necessary to thoroughly digest the basic principles of this distributed consensus system.The
bitcoin Optech weekly is the \ What to choose from
once you decide to contribute to bitcoin core, the process doesn't stop. This project now has enough complexity and development to keep anyone busy for several lifetimes. Choosing how to distribute your care can help determine what you \ Familiar with code base Copy the code base for compiling and testing. Read through items are now in developer documentation: 1. The contributing to bitcoin core guide is the basic knowledge for getting started, including pull request and how to do things in the review process. 2. Developer notes is a good guide to intensive reading. Reread the notes before opening a PR to make sure you meet current standards.3. The skill of productivity notes is especially effective at different times of developing workflow. Now, I build the first four steps.
read the introductory article by Jimmy song and John Newberry.
added weekly PR review. Reviewing PR is crucial for the project now. What's more, this is the most effective way to improve the code base and conform to the merge process. PR review is a way to get familiar with a specific change set with the help of others. The value you get from PR reviews is a direct result of your willingness to invest. Weekly participation helps to raise awareness of models such as technical framework and historical environment, and self-development needs longer time. Whether you choose to participate in sports, just dive, or spend time exploring code, you'll learn a lot. Preparation allows you to use that time to post or to establish your belief that you understand the code.
Find your first pr
when you start with a decent code base, you can feel ready to pick out PR, but you're not sure how to choose a contribution that's valuable to the item now. So far, each of the tools selected in this article has been very helpful in helping you find a meaningful content. But if you're still looking, here are some other options: Keep an eye on good first issue and up for grabs. Search for a codebase with \ Choose one side of the code base (that is, one in the contribution document) and carefully examine the PR that is being uncovered. If you follow up the PR content, you will be careful about what to do next. At the same time, think critically about how to test these transitions. It will be the best choice to open PR for follow-up treatment and supplement test coverage rate. You can also visit the PR review club history to familiarize yourself with one side. The heart of open source contribution means that the project management system is centralized in other countries. Therefore, some of the change sets that are currently valid for items are the best exercise of care and skill for PR authors. Therefore, behavior is also called contributor, and finding effective contributions on your learning curve is one side of what you do. My first PR was found by up for grabs. I'm surprised to find that so many people can do it. I never thought of it before I looked at GitHub.From the \ Using the Internet for further learning %When I was the first to learn C + +, I got some great books, but to be honest, I was still trying to read them. It's the most effective way for me to get rid of learning. I concentrate on the most relevant aspect of the language, so I can read bitcoin core code base. Therefore, I can write code. When I come across a new concept of C + +, I will read the document and try to find the function in a sample program. I will keep the TMUX system open to facilitate the call of C + + play. These programs can also be used to document concepts that I have modified. Another great tool is compiler explorer. I find that color coding is very helpful for many methods of realizing the same function. I can see that these differences are formal and optimized, and still fundamentally change what we do. In order to study the detailed concept of C + +, I always like to watch cppcon talks, especially the series of \ Reference for developers of P2P news and RPC Bitcoin stack exchange has specific discussions for development, involving various questions and answers. This site is hard to find at Google, so it's better to visit it directly Fabian Jahr wrote a comprehensive document on debugging techniques [presentation] [key points] I hope James o'beirne's Architecture Overview [presentation]? [slide] If you are trying to learn a technical concept and are not sure what to try, please contact me! I'm not sure all the answers are fresh, but I'm very motivated to find solutions for you.
More ways to learn about bitcoin
there are a number of great ways to add to your comparative advantage over the tecoin ecosystem. Here are some options for inflammation
The meeting will be held every Thursday at 19:00 UTC at bitpoint core dev
#The bitcoin core PR reviews channel may not wait to discuss processes and tools, but focusing on this channel will help
Take another look at the bitcoin course at chaincode labs, where there are lots of great materials - speeches, papers, even code provocations
Participate in quality meetings
Watch the video of the previous meeting. On my way to work, I watched the video of bitcoin edge dev + +   and learned a lot
If you can, see social seminar
Dabbling in bitcoin wikis, especially the development and privacy pages
Chaincode recently made a podcast channel
It's not easy to get familiar with bitcoin, especially if you have other things to do, such as a full-time job or a regular job
- 用户名： 密码：