Page cover

Reflections (Mon-Fri)

Monday

πŸ‘‹ What I learnt β€” πŸ’Œ

Techniques to look out for to validate the technology called Bitcoin

  • The technological underpinnings

  • The economics

  • The philosophy

  • The community

On privacy, the more private I am, the more I keep others on the bitcoin network private. On adversarial thinking, this helps protect the bitcoin network, because it has everyone thinking of points of failures and how to mitigate them πŸ‘‹ Aha moment β€” πŸ’Œ

Techniques to look out for to validate the Bitcoin network

πŸ‘‹ To learn β€” πŸ’Œ

Varying perspectives on the Bitcoin philosophy

Tuesday

πŸ‘‹ What I learnt β€” πŸ’Œ

Soft forks are not bitcoin core specific, they are bitcoin protocol specific. Bitcoin teaches you about life, you assume that everyone is bad until verified not to be, in essence, don't trust, verify.

In mitigating sybil attacks, power in numbers is an effective counter attack, we need more contributors on bitcoin, more reviewers, painstakingly reviewing every incoming change, and not just accepting code because someone legitimate wrote it. Social pressure has to also be mounted on maintainers to keep them on their toes. Contributors have to see that it is worthwhile to give their time and skill to the improvement of bitcoin, in order to keep their integrity and see to a maintainable codebase.

On complexity, it is quite unsafe to introduce architectural complexity, complexity introduced is better when it is scoped and sandboxed, for example, taproot is technically complex but it simplifies the architecture.

On adopting Bitcoin in Africa, we should inculcate solutions thinking, and not be constrained by the issues plaguing Africa.

πŸ‘‹ Aha moment β€” πŸ’Œ

Architectural and technical complexity

πŸ‘‹ To learn β€” πŸ’Œ

Installing Bitcoin core and LND, and building a wallet using bitcoinjs JavaScript library

Wednesday

πŸ‘‹ What I learnt β€” πŸ’Œ

How to successfully compile Bitcoin core locally using the following guides

Bitcoin core Mac OS build guide

πŸ‘‹ Aha moment β€” πŸ’Œ

Building a bitcoin wallet with bitcoinjs-lib Javascript library

πŸ‘‹ To learn β€” πŸ’Œ

Expanding the functionality of the wallet built with bitcoinjs-lib

Thursday

πŸ‘‹ What I learnt β€” πŸ’Œ

How to create P2PKH, P2SH, P2WPKH, P2WSH addresses with bitcoinjs-lib

Receive payments in the created addresses and confirm receipt on testnet explorer

Sample P2WSH transaction
Sample P2SH Transaction
Sample P2WPKH Transaction
Sample P2PKH Transaction

πŸ‘‹ Aha moment β€” πŸ’Œ

Watch only mode

πŸ‘‹ To learn β€” πŸ’Œ

How to backup and restore a wallet

Coin selection when performing payments

Friday

πŸ‘‹ What I learnt β€” πŸ’Œ

Today I learnt how to setup Bitcoin core and LND. I was able to also learn how to debug Bitcoin core and LND using their respective logs.

Setting up Bitcoin core and LND configurations with the bitcoin.conf and lnd.conf config files respectively.

Configure Bitcoin to run on regtest mode and also familiarize with the use of bitcoin-cli

I was able to also run LND using the lnd command and create a wallet using the LND cli. I created peers and opened a channel between them. Creating an invoice and also paying that invoice.

πŸ‘‹ Aha moment β€” πŸ’Œ

Debugging LND and Bitcoin core

πŸ‘‹ To learn β€” πŸ’Œ

Running Bitcoin core in signet mode

Last updated