Anna Kondratenko 👩🏻‍💻 Profile picture
May 9, 2022 9 tweets 4 min read Read on X
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
3/ Add the 2 created accounts into the contract so it will mint tokens for them 🪙 Image
4/ Time to deploy the contract 🤖 Make sure, you’re on an account 1 on MetaMask, then select “Injected Web 3”, set a token name and a symbol and click “transact” Image
5/ Confirm the transaction on MetaMask pop up window and check if the transactions went through successfully ✅ You can see it on etherscan for Rinkeby 👇 Image
6/ Add token to MetaMask 🦊 When you copy the contract address, MetaMask will automatically recognize its name and symbol. Do it for all 3 accounts. Image
7/ Now you can transfer token between the accounts! 🦾 Copy the account 2 address and with account 1 selected click “Send” 👾 I am sending 10 ANC20 tokens to my account 2 👩🏻‍💻 Image
8/ Finally, check the account 2 balance: if there are 10 tokens more, the transaction has been successful! 🎉 You can go on testing with account 3 and others accounts 👩🏻‍💻 Image

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Anna Kondratenko 👩🏻‍💻

Anna Kondratenko 👩🏻‍💻 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @anacoding

May 27, 2022
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
May 26, 2022
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
May 25, 2022
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
May 24, 2022
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
May 23, 2022
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
May 18, 2022
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

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/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

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

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(