This document describes how to quickly familiarize with third-party smart contracts. This document is offered in buffet form, creating a couple of suggestions that can be mixed and matched to serve different reasons for learning more:
The first and best step is usually to use a testnet account or DeFi simulator (defi.instadapp.io) and try to use the protocol directly.
While this can be a time-consuming step, the Whitepaper can be helpful in both understanding the overall goals and assumptions going into a protocol design, it will also provide plenty of references for concepts that are prerequisite. For example, if you are looking to study Balancer, it is important to understand Uniswap V1 first as it is a simpler instantiation of the same protocol.
Most popular protocols have a repository called "awesome-X" where X is the protocol name. This usually has a comprehensive set of resources including articles, videos and code to learning more about a protocol. These may also exist in the project documentation on the website or be in the project Discord.
Example for Uniswap V3 https://github.com/GammaStrategies/awesome-uniswap-v3#guides.
Use a Visual Inspection Tool like Surya to see all the major components and how they interact. We recommend using the control flow graph, the inheritance graph and the describe report as a starting point.
Go to a front-end application that features transactions using the current protocol, pick one transaction going to Etherscan. There are a number of things worth studying:
You can also use a transaction debugger like Tenderly or Auditless to review a given transaction and understand what code files are used.
While we do not recommend doing this as a first step, at some point it is useful to see how the smart contracts are structured and study the most important functions and flows.