This book will teach how to develop an advanced decentralized application! Specifically, we'll be building a clone of Uniswap V3, which is a decentralized exchange.
- It implements a very simple mathematical concept,
x * y = k
, which still makes it very powerful. - It's an advanced application that has a thick layer of engineering on top of the simple formula.
- It's permissionless and battle-tested. Learning from an application that's been running in production for several years and handling billions of dollars will make you a better developer.
We'll build a full clone of Uniswap V3. It won't be an exact copy and it won't be production-ready because we'll do something in our own way and we'll definitely introduce multiple bugs. So, don't deploy this to the mainnet!
While our focus will primarily be on smart contracts, we'll also build a front-end application as a side hustle. 🙂 I'm not a front-end developer and I cannot make a front-end application better than you, but I can show you how a decentralized exchange can be integrated into a front-end application.
The full code of what we'll build is stored in a separate repository:
https://github.com/Jeiwan/uniswapv3-code
You can read this book at:
TODO
To run the book locally:
- Install Hugo.
- Clone the repo:
$ git clone https://github.com/Jeiwan/uniswapv3-book
$ cd uniswapv3-book
- Run:
$ hugo server -D
- Visit http://localhost:1313/ (or whatever URL the previous command outputs!)
- Fix the padding before
- Milestone 2, Tick Bitmap Index: what happens when there are no ticks? Will it keep looping until it reaches max/min tick?
- MOVE TO MILESTONE 2: Tick math implementation. Explanation of the math in TickMath contract.