Bitcoin Forum
May 07, 2024, 07:38:31 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Bitcoin block validator from scracth in C++ is now working, whats next?  (Read 90 times)
vimrull (OP)
Newbie
*
Offline Offline

Activity: 7
Merit: 24


View Profile WWW
July 29, 2021, 03:31:54 PM
Merited by ABCbits (10), NotATether (6)
 #1

Hello,

I have been experimenting bitcoin blocks and parsing and validating blocks using my small c++ library in my spare time. I am now able to parse all blocks including most recent blocks and be able to validate basic pay to public key script using a small VM with a few opcodes I have created to validate script. A test case shows how it works in following code:
https://github.com/vimrull/vimrull/blob/main/tests/vm/testscript.cpp#L16

Now I am thinking about implementing some other opcodes to validate most of the bitcoin blockchain blocks as well and them implement all of those so I can validate the entire blockchain from genesis to most current block. It will still not be complete as I have not implemented validations like double spending attempt and basic syntactical validation. At this moment even though the code I wrote is very ugly as I was trying to learn modern C++ as well, I am confident I can learn the rest of the things that may come along (I have some rudimentary experience working as a security engineer for a well known production system).

Now, being a newbie (I am sure I do not know about what I do not know) to bitcoin I am not sure how much further should I try to learn before I may be able to contribute to the bitcoin main  (if that is at all possible with my skill set). Any suggestion what else should I try/experiment before looking into contributing to bitcoin main code?

Also where can I find a list of small/easy tasks that requires to be done and how the development is coordinated - i.e how it is accepted or rejected?

I looked at https://github.com/bitcoin/bips/blob/master/bip-0325.mediawiki and seems like I can work on it (seems like there is similarity with sigwit) and it may be a good one as it is targeted for test network and  low risk of messing things up than the main network. 

I am not 100% sure if dev & tech this is right group. Please suggest/move appropriate group if it does not belong here.
1715110711
Hero Member
*
Offline Offline

Posts: 1715110711

View Profile Personal Message (Offline)

Ignore
1715110711
Reply with quote  #2

1715110711
Report to moderator
1715110711
Hero Member
*
Offline Offline

Posts: 1715110711

View Profile Personal Message (Offline)

Ignore
1715110711
Reply with quote  #2

1715110711
Report to moderator
"Bitcoin: the cutting edge of begging technology." -- Giraffe.BTC
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715110711
Hero Member
*
Offline Offline

Posts: 1715110711

View Profile Personal Message (Offline)

Ignore
1715110711
Reply with quote  #2

1715110711
Report to moderator
1715110711
Hero Member
*
Offline Offline

Posts: 1715110711

View Profile Personal Message (Offline)

Ignore
1715110711
Reply with quote  #2

1715110711
Report to moderator
1715110711
Hero Member
*
Offline Offline

Posts: 1715110711

View Profile Personal Message (Offline)

Ignore
1715110711
Reply with quote  #2

1715110711
Report to moderator
NotATether
Legendary
*
Offline Offline

Activity: 1596
Merit: 6730


bitcoincleanup.com / bitmixlist.org


View Profile WWW
July 29, 2021, 11:55:26 PM
 #2

It definitely belongs here.

For one thing, there is a high demand for new unit tests, and improvements on existing ones. Those are built using Python so if you know that it should be relatively easy to get a pull request for a well-tested unit test to get merged.

You should probably improve your C++ skills before you contribute to the main client though. Bitcoin core is very C++ heavy.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!