Thrilled to have completed the Rust Programming Basics on Cyfrin Updraft!
A 3-hour course to learn Rust:
- Syntax, variables, ownership
- Rust variables and functions
And more!
Completely for free. Check it out 👇
Moving deeper into DeFi.
Started studying Uniswap v4 architecture on @CyfrinUpdraft.
Understanding protocols > just interacting with them.#Solidity# #DeFi# #Uniswap#
Finished Foundry Fundamentals on @CyfrinUpdraft ✅
From writing contracts → to testing → to deployment scripts.
Learning how to think in terms of workflow, not just syntax.
Solid foundations before moving deeper into security.
Back from a short break — straight back to building.
Finished more lessons on @CyfrinUpdraft
Foundry fundamentals + testing mindset.
Discipline > motivation.
Keep shipping.
Quiz done — 88%.
Missed one question on custom errors vs revert strings.
Good reminder:
clarity, gas efficiency, and intent all matter.
Fix the gap. Move on.
@CyfrinUpdraft
CEI finally clicked for me today.
Checks → Effects → Interactions is basically the core discipline for avoiding reentrancy.
From now on, I’ll be strict about writing state updates before any external calls.
@CyfrinUpdraft
Another checkpoint cleared on @CyfrinUpdraft ✅
Course quiz: 100%
Small win, but fundamentals matter.
Learning by building, one step at a time.
Back to code.
I did it!
I've completed the Solidity fundamentals course 🎉
5 hours of resources to learn:
- Solidity smart contract development
- Blockchain oracles
- Smart contract testing and security
Completely for free. Check it out 👇
Thank you, @rosarioborgesi , for letting me know about @CyfrinUpdraft. It's like discovering a new continent, all of which are topics I want to study. Let's go 2026, let me become a Defi expert!
In Uniswap v3, prices are represented as square roots using a Q64.96 fixed-point format.
Although Q64.96 can represent a wider numerical range, the protocol constrains sqrtPrice via the tick range (−887272, +887272) to approximately (2−64,264)(2^{-64}, 2^{64})(2−64,264).
As a result, the actual price range is bounded to approximately (2−128,2128)(2^{-128}, 2^{128})(2−128,2128).
In Uniswap v3, sqrtPriceX96 is stored as a uint160 and interpreted as a Q64.96 fixed-point number, meaning the raw integer represents the real value multiplied by 2^96.
Therefore, a raw value of 2^96 corresponds to a real value of 1.0.
Just opened a small PR to @Uniswap v4-core 👋
Some files were declaring `pragma solidity ^0.8.0` while using
`using ... for ... global`, which was introduced in Solidity 0.8.13.
The code compiles today due to Foundry using 0.8.26,
but the pragma didn’t reflect the actual minimum requirement.
PR:
Happy to hear any feedback 🙏