How to get started in building DefI apps or protocols such as Uniswap , Yield Farming Applications , Rari Capital , lending / staking stuff , MakerDAO , Curve , Aave , Compound. How to build such top level defi protocols. What are the best resources to learn them in-depth and to build one from scratch. Any suggestion is welcomed. Thanks in advance!