Skip to content

Latest commit

 

History

History
494 lines (487 loc) · 13.7 KB

bips.md

File metadata and controls

494 lines (487 loc) · 13.7 KB
8

Thanks for reading!

Want to learn more?

check out the complete list of BIPs: github.com/bitcoin/bips

start following the dev mailing list. You'll be among the first to hear about new BIPs and updates to ones in progress


~~~~~~~~~~~~~~~~~~~~
〜〜〜〜〜

Still want more? Head over to https://satsie.dev/bips
for additional resources

〜〜〜〜〜
~~~~~~~~~~~~~~~~~~~~

All about
BIPs!



A short zine on BIPs:

What they are, how they are made,
and how they can (sometimes!) come to life

6

But that's just the beginning...

How do BIPs get accepted and deployed into ?

This is up to the community to decide. It's on the BIP author + its supporters to champion the idea. They need to spark interest and rally support.

~~~~~~~~~~~~~~~~~~~
〜〜〜〜〜〜

'The BIP author is responsible for building consensus in the community and documenting dissenting opinions' -- from BIP-2

〜〜〜〜〜〜
~~~~~~~~~~~~~~~~~~~

The beautiful thing about is it's decentralized. Anyone can make a BIP! But that also means no one has the authority to tell others how to allocate their time + resources. Nobody has to review your BIP, or even engage with it.

3

It's important that everyone who works with a BIP agrees on how to to communicate about it. What kinds of terms will be used? How will the data be structured? These rules of communication are called the protocol. It's the one thing that's the same across all implementations of a BIP.

How do you make a BIP?

~~~~~~~~~~~~~~~~~~~
〜〜〜〜〜〜

Before you begin: do some homework to see if your idea, or something like it has been proposed before.

〜〜〜〜〜〜
~~~~~~~~~~~~~~~~~~~

Step 1: Share your idea with the -dev mailing list. This gives the community a chance that the idea hasn't been discussed. It also allows people to express concerns early in the process and confirm the idea is a net improvement.

2

BIP stands for:
Improvement Proposal

BIPs are a way for people to share technical documentation + ideas for improving .

~~~~~~~~~~~~~~~~~~~~~
〜〜〜〜

All BIPs can be found at: Github.com/bitcoin/bips

〜〜〜〜
~~~~~~~~~~~~~~~~~~~~~

Each BIP has a number (e.g. BIP-324), which makes it easy for people to find and reference ideas. It can be hard to look for documentation on something that was never filed as a BIP!

Can anything become a BIP?

No. BIPs are usually best suited for the kinds of ideas that many different software projects will want to use. If the idea only pertains to one code base or project, it probably should not be a BIP.

7

Sometimes you have to be patient. Some new popular BIPs sat around for months before anyone noticed them.

Why don't some BIPs move forward? Why don't they make it into ?

Oftentimes, while the community may not necessarily oppose a BIP, it doesn't progress because not enough people are excited enough to put their own energy towards it.

Other factors include competing proposals, or general fatigue around certain topics.

Some BIPs end up getting withdrawn or rejected.

Always remember, just because something is a BIP, it doesn't mean it's been, or will be adopted :)

4

Step 2: Does it sound like your idea has a shot at being accepted? Great! Now you can make a draft BIP and share it with the mailing list. Make sure your work is clear and complete. Use the formatting guide from BIP-2, and do *not* assign a number to your BIP!


〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰

Tip: It's important your BIP is possible to implement. Some authors like to write the code first, before introducing the draft BIP to the mailing list. This has a few benefits, it

1. Proves the idea can be implemented

2. Results in a, 'reference implementation,' an example of how the BIP could be executed

3. Provides a nice set of developer notes that can be used to write the BIP

5

Step 3: After the community has reviewed your draft, and you've made updates you feel are appropriate, request to add it to the BIPs repository on GitHub by opening something called a pull request (PR).

Step 4: the BIP editor (person in charge of the BIPs repo) reviews + assigns a number to the BIP, as well as a label: Standards Track, Informational or Process. Then they accept the BIP by merging PR into the repo.

Yay!!!

~~~~~~~~~~~~〜〜〜〜〜〜〜〜
〜〜〜〜〜

Reasons why a BIP may be rejected:
* proposal is similar to an existing one
* incorrect formatting

〜〜〜〜〜
〜〜〜〜〜

* too broad, lack of focus
* not technically sound
* failure to address motivations or backwards compatibility
* not in alignment with philosophy

〜〜〜〜〜
~~~~~~~~~~~~〜〜〜〜〜〜〜〜