Discover and read the best of Twitter Threads about #100DaysOfDeFI

Most recents (14)

Day 75 of #100DaysOfDeFI 🚀 today 3/4 of the challenge is done! 🎉  Also today I finish exploring Solidity vulnerabilities with learning about Denial of service (DoS) attacks 🦹🏼‍♀️
#womenwhocode #100DaysOfCode

How it works 🧵
1/ There are many ways to attack a smart contract and at some point create a DoS⚡
2/ Denial of Service attack paralyzes a smart contract and makes it temporarily unusable 🛑
Read 9 tweets
Day 74 of #100DaysOfDeFI 🚀 Today I learned about Delegate Call vulnerability in #Solidity 🦹🏼‍♀️  When using delegatecall opcode one should be careful because wrong usage will lead to unexpected results ⚠️
#womenwhocode #100DaysOfCode

How it works 🧵 Image
1/ What delegatecall is? When contract A uses delegatecall to call contract B it means that the contract B code will be executed inside context of the contract A: storage, msg.sender, msg.value, msg.data, etc will be the A’s context.
2/ Storage layout must be the same for contract A and contract B → it means both contracts should declare the same state variables in the same order 👾
Read 8 tweets
Day 73 of #100DaysOfDeFI 🚀 Learned about Self Destruct vulnerability in #Solidity 🦹🏼‍♀️ Selfdestruct deletes the contract from the blockchain and and sends all Ether to a designated address 💸  In some scenarios it can lead to unexpected problems ❌
#100DaysOfCode

How it works 🧵
1/ Let’s see how it works with an example of a simple game 🎲  Players send to the contract 1 token 🪙 the one who deposits the fifth token wins 🏆
Game code 👇
2/ Attacker smart contract 🦹🏼‍♀️
Read 5 tweets
Day 72 of #100DaysOfDeFI 🚀  Today I looked at arithmetic Over/Under Flows in #Solidity 👾 This vulnerability been secured by the current Solidity version 🦸‍♂️ Nevertheless, it is important to understand what it is and how to avoid it 👩🏻‍💻
#womenwhocode #100DaysOfCode

Summary 🧵 Image
1/ An overflow in Solidity occurs when a number is incremented beyond its maximum value. For example, if we have a uint8 with a value of 255 and increment it by 1, it will “reset” and set a value to 0. Remember, the maximum value for uint8 is 255❗
2/ Similar thing happens when we decrease a value beyond its minimal level. Taking the same example, if a uint8 is set to 0 and we decrease it by 1, it will set to 255, since 0 is the minimal value of uint8❗
Read 7 tweets
Day 71 of #100DaysOfDeFI 🚀 looked at Re-Entrancy vulnerability🦹🏻 It is one of the most destructive attacks in the #Solidity smart contracts 💸 The untrusted contract that exploits the vulnerability is able to drain all user's funds 🚰
#100DaysOfCode

How it works 🧵
1/ To make it happen, there should be 2 contracts: a vulnerable contract and an attacker’s contract 👺
2/ The attacker should deposit some funds into the vulnerable contract 💰
Read 11 tweets
Day 68 of #100DaysOfDeFI 🚀 Today I worked on the Factory smart contract that is a part of the decentralized exchange architecture 💱  Factory creates and keeps track of all Pair contracts 👩🏻‍💻
#womenwhocode #100DaysOfCode

Summary 🧵 Image
1/ The Factory will include:
🔷 createPair - create a Liquidity Pool;
🔷 adjustAmount - adjust a number of tokens using a formula;
🔷 getReserves - a getter function;
🔷 addLiquidity - add liquidity to the LP;
🔷 removeLiquidity - withdraw liquidity;
🔷 trade1for2 - swap tokens.
2/ First, initialize contract and define the state variables 👩🏻‍💻 Image
Read 8 tweets
Day 67 of #100DaysOfDeFI 🚀 Today I continued creating a basic DEX 👩🏻‍💻  and focused on developing a Pair smart contract 👾  Pair represents the Liquidity Pool 🪙 it is in charge of swapping 💱 managing the liquidity pool and burning 🔥
#womenwhocode #100DaysOfCode

Summary 🧵
1/ In this example of the Pair smart contract I’ll implement the following methods:
🔶  getReservers - get quantities of each token;
🔶  updateReserves - update the tokens’ quantities;
🔶  swap - exchange two tokens;
🔶  withdrawTokens - send the tokens back to the LP.
2/ First, initialize the Pair contract. We’ll need to import some contracts from OpenZeppelin and a Tokens contract from the day 66 of the challenge. Initialize state variables and constructor, too👩🏻‍💻
Read 7 tweets
Day 66 of #100DaysOfDeFI 🚀  Today and the following days I'll dive into DEXs implementation in #Solidity ⭐️ I’ll review the Uniswap smart contracts and create a decentralized exchange protocol 👩🏻‍💻 
#womenwhocode #100DaysOfCode

Summary 🧵 Image
1/ Uniswap smart contract architecture consists of Core and Periphery:
🔹 Core is used for storing and swapping the tokens, adding funds, getting rewards, etc;
🔹 Periphery interacts with the Core.
2/ Core stores the following smart contracts:
🔹 Pair - swaps, mints and burns tokens;
🔹 Factory - creates pairs of tokens;
🔹 ERC20 - keeps track of ownership of pool.

Periphery has only 1 smart contract:
🔹 Router - interacts with the Core.
Read 6 tweets
Day 63 of #100DaysOfDeFI 🚀 Today I learned how to deploy an NFT collection on a testnet 🤖  and uploaded a collection of watermelon houses generated with AI on OpenSea 🐳  special thanks to @javilop for creating these cute houses! 🍉
#womenwhocode #100DaysOfCode

Summary 🧵
1/ First, upload a collection of images on Pinata, I described it in detail on day 56 of the challenge 🔙
2/ Now create json files for each image and add CID to “image” 👇
Read 9 tweets
Day 62 of #100DaysOfDeFI 🚀 Today I continued deploying smart contracts on Ethereum testnet Rinkeby and uploaded a duck 🦆 NFT on OpenSea 👩🏻‍💻
#womenwhocode #100DaysOfCode

Summary 🧵
1/ First, prepare the jpeg file and metadata for the NFT. We’ll use Pinata platform for hosting files 🦙 A jpeg is an image we want to deploy as an NFT and a json file is the metadata. So, create an account in pinata.cloud and first upload the image.
2/ There will be a CID generated that we have to add to the json file. In name section add “gateway.pinata.cloud/ipfs/” and the image CID. Upload the json file too 👩🏻‍💻
Read 7 tweets
Day 61 of #100DaysOfDeFI 🚀 Today I learned how to deploy tokens on Ethereum testnet 👾  for this I will use Rinkeby testnet and Remix IDE for developing smart contract 👩🏻‍💻
#womenwhocode #100DaysOfCode

Summary 🧵 Image
1/ Use code from the day 57 of the challenge to create ERC20 tokens 👇 Image
2/ Then, create 2 additional accounts on Rinkeby testnet on MetaMask 🦊 For that, just choose the Rinkeby testnet and click “Create account” 👾 Image
Read 9 tweets
Day 9 of #100DaysOfDeFI 🚀 today exploring Zapper.fi. Zapper is a decentralized finance tool ⚒️ It allows users to monitor their assets💰 debts, liquidity pools, yield-farming 👨‍🌾 NFTs 🖼️ etc. in one place.
#100DaysOfWeb3 #WomenInCrypto

Summary 🧵 Image
1. Creating an account is simple - you just need to connect your wallet to @zapper_fi Image
2. You can gain rewards 🪙 by completing quests. There are daily, weekly and one-time quests 🧙‍♂️ Image
Read 4 tweets
Day 8 of #100DaysOfDeFI 🚀Today I looked more closely at exchange tools for #DeFI such as @coinbase, @Uniswap and @binance. On these platforms you can buy, sell and exchange or transfer #cryptocurrency 🪙
#100DaysOfWeb3 #WomenInCrypto

Summary 🧵 Image
1. @coinbase
To open an account on Coinbase you’ll need pass an identity verification and add a payment method. After completing the steps you’ll be able to operate on it. Image
2. @binance
To open an account on Binance you have to perform similar actions as if setting up Coinbase. These platforms are the 2 biggest cryptocurrency exchanges as of today 🏦 Image
Read 5 tweets
Day 7 of #100DaysOfDeFI 🚀Learning about wallets for web3 👛 In #DeFI wallets are essential tools that help in storing the assets securely 🔐
#100DaysOfWeb3 #WomenInCrypto

Wallet types 🧵 Image
1. Software wallet
#MetaMask is on of them. Users can access to the majority of #DeFi applications by connecting to MetaMask wallet. Installing MetaMask is intuitive and is available on metamask.io. I already have it!
2. Hardware wallet
Hardware wallets, like #Ledger, protect users' #cryptocurrency private keys. I still don’t have one, so I just read this article 📜

cryptopotato.com/ledger-nano-s-…
Read 4 tweets

Related hashtags

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!