Trivia: Proxies are often used for upgradeable smart contracts. They use delegatecall to call functions of a contract that has the logic they want, but store data in themselves.
Continuing the theme from my last trivia, why is this a bad proxy contract?
So there were two issues here:
1. setImplementation is public, meaning anyone can update this proxy!
2. The proxy uses a storage slot to hold the implementation address. If the implementation has storage, you’ll get hilariously rekt by storage collisions.
📀A proxy contract stores data in the proxy contract based on the implementation.
This means, if your implementation stores data, it might overwrite where we saved the implementation address!
A much better approach is to store the implementation address directly in a location saved directly in the contract bytecode, like what you see here:
You might think this is an easy step to skip, but if you don't have an unbreakable, bulletproof reason to become a blockchain engineer when it gets hard, you might back off. 💪
So create your list of unwaivering, unfaltering justification to begin your journey
3/
You can borrow some reasons from my past article, or use some of these:
🌎 Create an impact on the world that will last forever
💨 Create a faster, digitally immersive, world
💸 Relandscape the future of finance
(continue)
#Blockchain allows us to do amazing things, the easiest value add to understand is smart contracts.
In my CS class back in 2013 my professor taught us about #Bitcoin and I literally went “that sounds stupid”.
2/ Why does it have value? I also never thought gold made any sense either. Now my point of view has changed on Bitcoin and I think it has its place as a store of value.
However, I thought blockchain didn’t do much aside from a digital gold.
3/ I didn’t understand why people were so hyped.
Fast forward to a couple years working at a hedge fund. I get to see aaalllllll the shit of the current financial world. I got to do something called “trade matching” as part of my jobs.