i started to think maybe c++ also a big part of the issue when it comes to the corruption of the bitcoin culture and software.
c++ is a horrible language, and keeps people away from the codebase, and all you got left with is the c++ devs.
bitcoin is not even that complex, c++ is more complex than bitcoin. c++ is a mutated monster:
https://www.youtube.com/watch?v=7fGB-hjc2Gc
i think making bitcoin codebase and client development more accessible and easier to do, would benefit the bitcoin ecosystem greatly.
we need more devs, working on more clients, and not on the same codebase and forks of it.
some might say "what about accidental chain splits?".
idc, if there is an accidental chain split you fix it, and it disappears. easy. also why would you care about a chain split on new bitcoin client barely anyone uses. if it becomes popular you can fix edge cases as they appear or gets noticed anyway.
bitcoin is not that complex. if i can understand it, and write it, anyone can.
and that's my goal. making a real bitcoin client everyone uses daily, not something runs on the background on a server, or some that requires you to buy a hardware(start9, umbrel). not only for the devs, but also for the users, so even your grandma can run an useful node easily. if you can use a web browser with extensions, then you should be able to run a useful bitcoin client/node too.
current bitcoin experience:
- got a bitcoin client.
- wait for it to fully sync.
- install electrum
- make sure it connects to the bitcoin client correctly
- wait for it to index the chain
- install a wallet software
- connect it to your electrum server
- wanna access it outside of your local network and your isp doesnt allow exposing ports or you are on mobile network?
- find a tunnel service like localtonet
- do scripting and proxy electrum rpc with tls, so middlemen cant sniff it.
- expose the port using the tunnel
- add to your mobile wallets and stuff.
- cool, but now you cant explore your own chain and see what is happening on it.
- install mempoolspace
- make sure it connects to your electrum and bitcoin client correctly. wait for it to index the chain.
- if you wanna expose it, repeat the steps above.
- cool, so now you got a bitaxe, and wanna mine bitcoin using your own node.
- install DATUM.
- make sure it connects to your bitcoin client correctly.
- connect your bitaxe to your DATUM gateway.
- want lightning? install a lightning server.
- make sure it connects to your bitcoin client and stuff correctly.
- install a web interface for it.
- done
cool now you can do basic bitcoin things with your bitcoin client...
how it should be:
- install bitcoin client
- run it, and it starts syncing the chain in the background. but also letting you use it as light client and downloads blocks on demand during.
- has a built in explorer, lets you visually see the block download, and verification state.
- has lightning built-in
- has DATUM built-in
- and allows you to add more via wasm plugins with modern permission system.
- supports satoshi rpc and electrum rpc endpoints built-in out of the box.
- built-in wallet web app with supports for hardware signers.
- you basically run it and use it.
- webapp interface you can use from anywhere.
- but also has a webview app.
- complimentary mobile apps using tor to connect to your node's endpoints, so you dont need tunnels.
- but you dont have to know about any of these details, install the app, scan the qr on your pc, done, they are connected.
- etc.
we need more devs, working on more clients, and not on the same codebase and forks of it.
some might say "what about accidental chain splits?".
idc, if there is an accidental chain split you fix it, and it disappears. easy. also why would you care about a chain split on new bitcoin client barely anyone uses. if it becomes popular you can fix edge cases as they appear or gets noticed anyway.
bitcoin is not that complex. if i can understand it, and write it, anyone can.
and that's my goal. making a real bitcoin client everyone uses daily, not something runs on the background on a server, or some that requires you to buy a hardware(start9, umbrel). not only for the devs, but also for the users, so even your grandma can run an useful node easily. if you can use a web browser with extensions, then you should be able to run a useful bitcoin client/node too.
current bitcoin experience:
- got a bitcoin client.
- wait for it to fully sync.
- install electrum
- make sure it connects to the bitcoin client correctly
- wait for it to index the chain
- install a wallet software
- connect it to your electrum server
- wanna access it outside of your local network and your isp doesnt allow exposing ports or you are on mobile network?
- find a tunnel service like localtonet
- do scripting and proxy electrum rpc with tls, so middlemen cant sniff it.
- expose the port using the tunnel
- add to your mobile wallets and stuff.
- cool, but now you cant explore your own chain and see what is happening on it.
- install mempoolspace
- make sure it connects to your electrum and bitcoin client correctly. wait for it to index the chain.
- if you wanna expose it, repeat the steps above.
- cool, so now you got a bitaxe, and wanna mine bitcoin using your own node.
- install DATUM.
- make sure it connects to your bitcoin client correctly.
- connect your bitaxe to your DATUM gateway.
- want lightning? install a lightning server.
- make sure it connects to your bitcoin client and stuff correctly.
- install a web interface for it.
- done
cool now you can do basic bitcoin things with your bitcoin client...
how it should be:
- install bitcoin client
- run it, and it starts syncing the chain in the background. but also letting you use it as light client and downloads blocks on demand during.
- has a built in explorer, lets you visually see the block download, and verification state.
- has lightning built-in
- has DATUM built-in
- and allows you to add more via wasm plugins with modern permission system.
- supports satoshi rpc and electrum rpc endpoints built-in out of the box.
- built-in wallet web app with supports for hardware signers.
- you basically run it and use it.
- webapp interface you can use from anywhere.
- but also has a webview app.
- complimentary mobile apps using tor to connect to your node's endpoints, so you dont need tunnels.
- but you dont have to know about any of these details, install the app, scan the qr on your pc, done, they are connected.
- etc.