Cyfrin Updraft 🟩

2.6K posts

Cyfrin Updraft 🟩 banner
Cyfrin Updraft 🟩

Cyfrin Updraft 🟩

@CyfrinUpdraft

Teaching the next generation of web3 developers. 150+ hours of Smart Contract Development and Security Courses, completely for Free. Powered by @cyfrin

Start learning for free: Katılım Eylül 2023
5 Takip Edilen25.5K Takipçiler
Sabitlenmiş Tweet
Cyfrin Updraft 🟩
Cyfrin Updraft 🟩@CyfrinUpdraft·
The Solana Development Course has dropped on Updraft. 12 programs. Native Rust + Anchor. Security CTFs. Completely free.
Cyfrin Updraft 🟩 tweet media
English
29
49
440
19.8K
Cyfrin Updraft 🟩
Cyfrin Updraft 🟩@CyfrinUpdraft·
This is the difference between "I tested 50 cases and it worked" and "I proved it works for every possible state of the contract." Learn formal verification with Certora and more in the Smart Contract Security course on Updraft, completely free. updraft.cyfrin.io/courses/securi…
English
0
0
1
105
Cyfrin Updraft 🟩
Cyfrin Updraft 🟩@CyfrinUpdraft·
One subtle catch: `balanceBefore` is a uint256. If it's at max value, adding 1 causes overflow. The fix: use `mathint` instead of `uint256`. This gives you arbitrary precision math inside Certora rules so overflow can't silently break your proof. ⚠️
English
1
0
0
98
Cyfrin Updraft 🟩
Cyfrin Updraft 🟩@CyfrinUpdraft·
Formal verification isn't just "better testing." It's mathematical proof that your code does what you claim. Here's how to prove an NFT mint function only ever mints exactly one NFT. 🧵
English
2
1
6
255
Cyfrin Updraft 🟩
Cyfrin Updraft 🟩@CyfrinUpdraft·
Also make sure you're using "Injected Provider - MetaMask" as your environment, not the default Remix VM. The Remix VM is local only. If you deploy there, nothing hits the testnet. Your contract exists nowhere but your browser tab.
English
1
0
2
266
Cyfrin Updraft 🟩
Cyfrin Updraft 🟩@CyfrinUpdraft·
Most people deploy their first ERC-20 and never actually verify it worked. Here's a quick checklist so you don't lose track of your contract the moment you need it. 🧵
English
2
3
43
1.7K
Cyfrin Updraft 🟩
Cyfrin Updraft 🟩@CyfrinUpdraft·
Multisig wallets don't help if signers blindly approve. Every signer needs to verify transaction data on their hardware device, not just the web interface. Learn how these attacks work and how to prevent them in the Updraft Security course: updraft.cyfrin.io/courses/securi…
English
0
0
6
435
Cyfrin Updraft 🟩
Cyfrin Updraft 🟩@CyfrinUpdraft·
The UI showed a normal transfer. The actual transaction was rewriting the proxy's brain. This is why hardware wallet verification exists. The Ledger screen shows what you're actually signing, not what a potentially compromised UI displays. ⚠️
English
1
0
4
472
Cyfrin Updraft 🟩
Cyfrin Updraft 🟩@CyfrinUpdraft·
The Bybit hack wasn't a smart contract bug. It was a signer not checking their hardware wallet screen. $1.4 billion gone because of one skipped verification step. 🧵
English
6
15
107
4.4K
Cyfrin Updraft 🟩
Cyfrin Updraft 🟩@CyfrinUpdraft·
This is how protocols make arbitrary calls, how proxies delegate execution, and how attackers craft malicious payloads. If you don't understand encoding at this level, you'll miss entire categories of vulnerabilities during an audit. ⚠️
English
1
0
5
494
Cyfrin Updraft 🟩
Cyfrin Updraft 🟩@CyfrinUpdraft·
Most Solidity devs call functions through interfaces and never think about what's actually happening underneath. But every function call is just encoded bytes stuffed into a transaction's data field. Understanding this changes how you think about smart contracts. 🧵
English
5
3
71
2.8K