• Latest
What It’s Like to Review Bitcoin’s Code

What It’s Like to Review Bitcoin’s Code

July 19, 2019
ygg sea surpasses 10,000 scholarships in just six months of launch

YGG SEA Surpasses 10,000 Scholarships in Just Six Months of Launch

May 6, 2022
mintable launches industry changing gas free minting service on ethereum

Mintable Launches Industry Changing Gas Free Minting Service on Ethereum

May 1, 2022
5 projects enabling smart contract development on bitcoin

5 Projects Enabling Smart Contract Development on Bitcoin

April 29, 2022
bitcoin atm installed in mexico's senate building

Bitcoin ATM installed in Mexico’s Senate Building

April 27, 2022
cross chain services play a crucial role in facilitating continued adoption of defi applications

Cross-Chain Services Play a Crucial Role in Facilitating Continued Adoption of DeFi Applications

April 26, 2022
justin sun launches usdd, integrating the blockchain world and the real world with the decentralized stablecoin

Justin Sun Launches USDD, Integrating the Blockchain World and the Real World with the Decentralized Stablecoin

April 25, 2022
nfts: the next musical revolution

NFTs: The Next Musical Revolution

April 24, 2022
things you should know before investing in nfts

Things You Should Know Before Investing in NFTs

April 24, 2022
what are wrapped tokens?

What Are Wrapped Tokens?

April 23, 2022
what is the future of ethereum (eth)?

What is the future of Ethereum (ETH)?

April 22, 2022
green gaming

Everything You Need to Know About Play-to-Earn on Algorand in 2022

April 21, 2022
$ape going bananas as rumors of upcoming land sale of bayc metaverse gather momentum

$APE Going Bananas As Rumors of Upcoming Land Sale of BAYC Metaverse Gather Momentum

April 21, 2022
  • Home
  • Coin Market Cap
  • Bitcoin
  • Ethereum
  • Ripple
  • Litecoin
  • Alt Coin
  • Business
  • Trading
  • Mining
CoinNewsDaily
  • Home
  • Coin Market Cap
  • Bitcoin
  • Ethereum
  • Ripple
  • Litecoin
  • Alt Coin
  • Business
  • Trading
  • Mining
No Result
View All Result
  • Home
  • Coin Market Cap
  • Bitcoin
  • Ethereum
  • Ripple
  • Litecoin
  • Alt Coin
  • Business
  • Trading
  • Mining
No Result
View All Result
CoinNewsDaily
No Result
View All Result
Home Tech

What It’s Like to Review Bitcoin’s Code

coinnewsdaily by coinnewsdaily
July 19, 2019
in Tech
0
What It’s Like to Review Bitcoin’s Code
190
SHARES
1.5k
VIEWS
Share on FacebookShare on Twitter

Related articles

ygg sea surpasses 10,000 scholarships in just six months of launch

YGG SEA Surpasses 10,000 Scholarships in Just Six Months of Launch

May 6, 2022
5 projects enabling smart contract development on bitcoin

5 Projects Enabling Smart Contract Development on Bitcoin

April 29, 2022

On June 19, Chaincode developer John Newbery gathered a group of developers to examine a proposed change to bitcoin’s code.

Taking place via Internet Relay Chat (IRC), the topic was whether the change, which would help prevent a group of rogue miners from inflating bitcoin’s money supply, is a positive one with limited security risks or adverse impacts. Newbery’s goal, then, is to pass on what he knows about reviewing such code.

Was this ‘timewarp attack’ stopper a solid change?

“The timewarp exploits this by pushing the difficulty adjustment block way into the future, and then the next block back into the present,” Newbery wrote, explaining the attack vector.

But the fact that Newbery is even holding these sessions at all can be seen as a sign of the maturity of bitcoin’s developer community, as this is one example of how project’s top coders have been hard at work making the project more inclusive. The process for reviewing code perhaps hasn’t been discussed so openly and in-depth before.

Newbery started the Bitcoin Core Review Club to give coders tips on how to figure out how to review a change and determine if it’s beneficial for the cryptocurrency. Meetings transcripts are now posted on the website every week.

That this is possible is because bitcoin’s code is open source, residing on GitHub for anyone with an internet connection to look at – or even change. This process has driven the project from code people once called a “monolithic blob” to software that’s easier for easier for developers to read with less critical bugs. People are constantly trying to improve it, with the lofty end goal of making it a worthy code base for the future of money.

So, it’s also possible to be one of the people who contributes to bitcoin’s code. Unlike proprietary code, its code anyone can see and use – what’s known as “open source.”

One reason it’s called “programmable money” is that unlike other digital money, anyone in the world with the right knowledge can try to add new code features to the money. One of the ways to learn the codebase is to review and test the code programmers submit, to make sure it actually works, and doesn’t introduce a bug or — an unfortunate reality — accidentally split the bitcoin network in half.

But looking through the pages of code and hundreds of proposed changes, it’s hard to know where to start.

“This weekly IRC club is for people who want to help review Bitcoin Core pull requests but find the process intimidating,” the website for the club explains, continuing:

“Reviewing and testing pull requests is the best way to start contributing to Bitcoin Core, but it’s difficult to know where to start. There are hundreds of open pull requests, many require a lot of contextual knowledge, and contributors and reviewers often use unfamiliar terminology.”

As such, while the code for this digital currency is out in the wild for anyone to look at or change, it’s not necessarily easy to do so. It takes practice to know what to review.

Here’s what the process is like.

Anyone can do it

To begin, users can go to GitHub, a website that hosts all sorts of open-source code projects. There’s one specifically for Bitcoin Core, the underlying bitcoin software implementation that most users run.

You’ll notice that there’s a lot to GitHub, but reviewing the code is basically looking at “pull requests,” a series of changes that developers across the ecosystem have submitted for review.

In other words, there are 300 changes that haven’t been reviewed enough yet to be officially added to the codebase, from making the documentation describing the code easier to read to improving the performance of bitcoin.

At this point, developers are trying to decide whether these changes should be approved. The problem is that there are limited developers who have enough experience reviewing code changes to determine whether they should be officially added to the codebase. Because of this, one Bitcoin Core contributor once described the list of pull requests as a “graveyard of cool ideas.”

That’s why Newbery is trying to help along this process.

So, how does one actually go about reviewing a change? As Newbery describes on the club website, there are a few key steps to get started, like looking through the “contributing to Bitcoin Core guide” and tinkering with C++, the programming language Bitcoin Core is written in.

The next is simply picking a change to review. With over 300 pull requests alive and kicking, where does one start? The best picks for someone who doesn’t know the codebase yet are code changes that are specifically labeled “good first issues.”

When the preliminaries are over with, the developer needs to “clone” the repository, or use git to make a copy of the codebase to their computer so they can test that the change works as planned.

It only takes a simple command to copy the whole codebase to your computer.

From there, you can review the pull request. Said developers should then run all of the “tests,” to make sure the code change doesn’t accidentally trip up another piece of code, then move toward reviewing the rest of the code.

Inside a reviewer’s mind

What do reviewers need to think about?

First, there are high-level concerns. Determining whether a change should be made, especially a critical one, is basically based on “rough consensus,” meaning most active contributors would agree a change should be pursued.

In another club meeting, Newbery said:

“My thoughts about opening pull requests: no-one owes you a review. Anyone who reviews your code is doing you a favour. If you open a pull request, you’re competing with other pull requests for review time.”

“If in doubt about how useful other people think your pull request will be, feel free to ask in #bitcoin-core-dev, or by directly asking other contributors,” Newbery added, referring to another IRC group where developers can ask questions related to Bitcoin Core development.

That said, developers don’t always agree on whether a change is worth adding or not. One week the group of developers focused on a contentious code change. Some argued the bad outweighed the good, while others still argue it could be useful.

But even if the idea is a good one in general, there are also lower-level concerns. Are there bugs? Does the code change come with tests that ensure the code change works as planned? These are the questions a lot of reviewing time is spent answering.

In the May 29 meeting (of which you can find the full transcript here), for example, developers looked through a performance enhancement for the wallet portion of the bitcoin node.

A contributor going by the pseudonym ‘Ariard’ led the meeting by going through the review process they’ve developed over time. “I tried first to identify which kind of PR it was: Doc, code style, buf fix, new feature, or test addition. Because [in my opinion] knowing this fact is going to guide how you read commits first time, how much time you will need for review and which kind of tests needed,” the developer said.

Another reviewer pointed out that they noticed an improvement just by checking how long the code took to run – before and after. “My 10000 key import went from 8 minutes to 3 seconds xD,” said another user going by the name ‘jb55.’

The transcripts of the meetings are further littered with various other tips about how to streamline this process and make it easier to review, with more meetings to be scheduled in the future. The next couple of sections will be led by bitcoin technical writer and contributor David Harding.

Adam Back image via Consensus archives 

Credit: Source link

Share76Tweet48
Previous Post

China Ruling Bitcoin is Property Again Is ‘Major Milestone,’ Says Investor

Next Post

Bundesbank Head Says Don’t Suppress ‘Innovative Concepts’ Like Libra

coinnewsdaily

coinnewsdaily

CoinNewsDaily.com is an online Crypto Coin News Website that aims to provide latest trendy news from market and around the world.

Related Posts

ygg sea surpasses 10,000 scholarships in just six months of launch
Alt Coin

YGG SEA Surpasses 10,000 Scholarships in Just Six Months of Launch

May 6, 2022
5 projects enabling smart contract development on bitcoin
Alt Coin

5 Projects Enabling Smart Contract Development on Bitcoin

April 29, 2022
bitcoin atm installed in mexico's senate building
Bitcoin

Bitcoin ATM installed in Mexico’s Senate Building

April 27, 2022
cross chain services play a crucial role in facilitating continued adoption of defi applications
Alt Coin

Cross-Chain Services Play a Crucial Role in Facilitating Continued Adoption of DeFi Applications

April 26, 2022
green gaming
Business

Everything You Need to Know About Play-to-Earn on Algorand in 2022

April 21, 2022
axie infinity: what are the minimum android phone requirements to play on mobile
Alt Coin

Axie Infinity: What Are the Minimum Android Phone Requirements to Play on Mobile

April 21, 2022
Load More
Next Post
Bundesbank Head Says Don’t Suppress ‘Innovative Concepts’ Like Libra

Bundesbank Head Says Don’t Suppress ‘Innovative Concepts’ Like Libra

Categories

  • Alt Coin
  • Bitcoin
  • Business
  • Ethereum
  • ICO
  • Litecoin
  • Mining
  • NFT
  • Ripple
  • Tech
  • Trading

What New here?

  • YGG SEA Surpasses 10,000 Scholarships in Just Six Months of Launch
  • Mintable Launches Industry Changing Gas Free Minting Service on Ethereum
  • 5 Projects Enabling Smart Contract Development on Bitcoin

Subscribe to Get More!

Loading
  • About Us
  • Contact Us
  • Privacy & Policy

© 2018-2021 CoinNewsDaily.com by CoinNewsDaily Inc. Crafted with Love by iFtiDev

No Result
View All Result
  • Home
  • Coin Market Cap
  • Bitcoin
  • Ethereum
  • Ripple
  • Litecoin
  • Alt Coin
  • Business
  • Trading
  • Mining

© 2018-2021 CoinNewsDaily.com by CoinNewsDaily Inc. Crafted with Love by iFtiDev

  • bitcoinBitcoin(BTC)$21,297.000.32%
  • ethereumEthereum(ETH)$1,227.131.67%
  • tetherTether(USDT)$1.00-0.12%
  • binancecoinBNB(BNB)$237.760.78%
  • rippleXRP(XRP)$0.3653571.05%
  • cardanoCardano(ADA)$0.502.63%
  • SolanaSolana(SOL)$40.680.65%
  • dogecoinDogecoin(DOGE)$0.0729617.91%
  • polkadotPolkadot(DOT)$8.040.24%
  • Shiba InuShiba Inu(SHIB)$0.000011-0.69%
  • daiDai(DAI)$1.000.02%
  • tronTRON(TRX)$0.0654541.42%
  • leo-tokenLEO Token(LEO)$5.90-0.28%
  • matic-networkPolygon(MATIC)$0.59-2.20%
  • litecoinLitecoin(LTC)$58.31-0.83%
  • FTXFTX(FTT)$27.700.74%
  • chainlinkChainlink(LINK)$7.010.76%
  • OKBOKB(OKB)$12.69-4.24%
  • CronosCronos(CRO)$0.1273590.95%
  • stellarStellar(XLM)$0.123086-1.91%
  • cosmosCosmos Hub(ATOM)$8.46-0.98%
  • moneroMonero(XMR)$130.234.43%
  • algorandAlgorand(ALGO)$0.342096-1.18%
  • ethereum-classicEthereum Classic(ETC)$16.421.18%
  • bitcoin-cashBitcoin Cash(BCH)$115.400.98%
  • vechainVeChain(VET)$0.025133-2.88%
  • Internet ComputerInternet Computer(ICP)$5.98-2.04%
  • theta-tokenTheta Network(THETA)$1.40-3.78%
  • filecoinFilecoin(FIL)$5.99-0.54%
  • tezosTezos(XTZ)$1.50-0.54%
  • ElrondElrond(EGLD)$58.20-5.74%
  • bitcoin-cash-svBitcoin SV(BSV)$62.60-1.99%
  • eosEOS(EOS)$1.021.82%
  • AaveAave(AAVE)$68.42-0.24%
  • makerMaker(MKR)$1,039.181.29%
  • paxos-standardPax Dollar(USDP)$1.000.07%
  • zcashZcash(ZEC)$66.55-0.25%
  • iotaIOTA(MIOTA)$0.293558-2.52%
  • huobi-tokenHuobi(HT)$5.26-4.20%
  • neoNEO(NEO)$9.853.08%
  • zilliqaZilliqa(ZIL)$0.047811-2.42%
  • havvenSynthetix Network(SNX)$2.76-3.06%
  • wavesWaves(WAVES)$6.16-3.36%
  • basic-attention-tokenBasic Attention(BAT)$0.408383-3.18%
  • dashDash(DASH)$50.96-0.77%
  • PancakeSwapPancakeSwap(CAKE)$3.392.50%
  • KusamaKusama(KSM)$54.62-2.77%
  • nemNEM(XEM)$0.042376-0.18%
  • CompoundCompound(COMP)$51.951.09%
  • Elrond ERDElrond ERD(ERD)$0.0259290.00%
  • ethlendAave [OLD](LEND)$4.103.48%
  • qtumQtum(QTUM)$3.04-1.10%
  • bitcoin-goldBitcoin Gold(BTG)$17.621.25%
  • omisegoOMG Network(OMG)$1.97-1.91%
  • golemGolem(GLM)$0.247368-1.00%
  • SushiSushi(SUSHI)$1.19-3.57%
  • yearn-financeyearn.finance(YFI)$6,769.520.80%
  • ontologyOntology(ONT)$0.240435-1.29%
  • umaUMA(UMA)$2.790.13%
  • digibyteDigiByte(DGB)$0.010729-3.14%
  • UniswapUniswap(UNI)$2.4438.80%
Posting....