I am currently learning how to use geth, so far I was able to create a private POW and POA blockchain using one of its consensus types (Clique).
I am wondering how feasible it would be to clone the entire repository and add a new consensus algorithm (BFT, DPOS, POS etc). Is geth modular enough to do this?
I have gone through the github respository many times https://github.com/ethereum/go-ethereum but I still cannot understand the whole concept of what each folder contributes to. If someone can link me some guide of understanding the code of geth it would be great! Thank you