ΠΏΠ»Π°Π½
Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ Ρ Π±Π°Π·Ρ Solidity, ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ². ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΎΡΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΡΠΈΠΏΡΠΎ-ΡΠΎΠΊΠ΅Π½Π°ΠΌΠΈ ΠΈ Π²ΡΠ΅ΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ Ρ Π½ΠΈΠΌΠΈ
ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρο»Ώ
Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ
profiles.cyfrin.io/updraft/onboarding/wallet - 96 ΡΠ°ΡΠΎΠ² Π±Π°Π·Ρ Solidity
cryptozombies.io - Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ ΠΈΠ³ΡΠ°, Π² ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΌΠ΅ ΠΈΠ·ΡΡΠ°Π΅ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π½Π° Solidity.
Solidity by Example - ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ Solidity.
speedrunethereum.com β ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ DApp Ρ Ethers.js ΠΈ Solidity.
ethernaut.openzeppelin.com - ΠΈΠ³ΡΠ°, ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ OpenZeppelin, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½ΡΠΆΠ½ΠΎ ΡΠ΅ΡΠ°ΡΡ Π³ΠΎΠ»ΠΎΠ²ΠΎΠ»ΠΎΠΌΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ².
capturetheether.com - ΡΡΠ΄ Π·Π°Π΄Π°Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Β«Π·Π°Ρ Π²Π°ΡΡΠ²Π°ΡΡ ΡΡΠΈΡΒ»
eth.build - ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ Π² ΡΡΠΈΠ»Π΅ Β«ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΡΒ», ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΈΡ ΡΠ°Π±ΠΎΡΡ
ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ², ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½ΠΎΠΌ, ΠΈΠ±ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π½Π°ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π² web3 - Π²ΡΠ·ΠΎΠ² Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Π°
ΠΠ»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π±Π»ΠΎΠΊΡΠ΅Π½ΠΎΠΌ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° RPC
RPC - Remote Procedure Call
ΠΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, RPC Endpoint - ΠΌΠΎΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΈ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½ΠΎΠΌ.
ΠΡΡΡΠΈΠ΅ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ RPC
infura.io
alchemy.com/dapps/alchemy
quicknode.com
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ²ΠΎΠΉ RPC ΠΊΠ»ΡΡ
Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ -
7c9a2f14b83d4a6eb2f1c8d09a7e52f1ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠ·ΡΠΊΠ°ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ ΠΈ Π±ΡΠ΄Π΅ΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½ΠΎΠΌ
Python ΠΈ JavaScript/TypeScript
ΠΎΠ±Π° ΡΠ·ΡΠΊΠ° ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ ΡΠ΅Π±Ρ Π½Π° ΡΡΠ½ΠΊΠ΅ web3. ΠΠΎΠΉ Π²ΡΠ±ΠΎΡ Π·Π° JS/TS ΠΈΠ±ΠΎ Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ Π±ΠΠ»ΡΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ, Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ Python ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ²ΠΎΠΈΡ Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΡΠ·ΡΠΊΠ° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ - Π½ΠΎΠ»Ρ Π² web3 ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π² ΡΠ΅Π»ΠΎΠΌ, ΡΠΌΠ΅Π»ΠΎ Π²ΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ Python, Π΄Π°Π»Π΅Π΅ ΡΠ΅ΡΠ΅Π· 1-2 ΠΌΠ΅ΡΡΡΠ° - JavaScript, Π° Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π· 1 ΠΌΠ΅ΡΡΡ - TypeScript
ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Π΄Π»Ρ ΡΡΠ°ΡΡΠ°
Python
ΠΠ°Π΄Π°ΡΠΈ - hackerrank.com/domains/python
ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ Π² Python Π΄Π»Ρ web3 ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
JavaScript
ΠΠ°Π΄Π°ΡΠΈ - jschallenger.com
ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ Π² JavaScript Π΄Π»Ρ web3 ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
TypeScript
ΠΠ°Π΄Π°ΡΠΈ - learntypescript.online
ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ Π² TypeScript Π΄Π»Ρ web3 ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ ΡΠΈΠΏΡ (interface vs type)
generics (Promise<T>, Array<T>)
ΡΡΡΠΎΠ³Π°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΉ
utility types
ΡΠ°Π±ΠΎΡΠ° Ρ unknown ΠΈ never
Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ (tsconfig.json, target, moduleResolution)
Π°Π²ΡΠΎΠ³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠΈΠΏΠΎΠ² Π΄Π»Ρ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² (TypeChain)
ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠ·ΡΠΊΠΎΠ², ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½ΠΎΠΌ
Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
Python
web3py.readthedocs.io/en/stable
pip install web3
JavaScript/TypeScript
docs.ethers.org/v5
npm i ethers
viem.sh
npm i viem
ΠΡΠ°ΠΊΡΠΈΠΊΠ° web3 ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΈΡΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡΡ
Python
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠΎΡΠ΅Π»ΡΠΊΠ° ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π±Π°Π»Π°Π½ΡΠ°
ΠΡΠΏΡΠ°Π²ΠΊΠ° $ETH ΠΈ ΡΠΎΠΊΠ΅Π½ΠΎΠ² Π² ΡΠ΅ΡΡΠ½Π΅ΡΠ΅
Π§ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ERC-20 ΠΈ NFT
Swap ΡΠ΅ΡΠ΅Π· Uniswap Router (approve + swap)
ΠΡΠΎΡΡΠΎΠΉ Π°ΡΠ±ΠΈΡΡΠ°ΠΆ-ΡΠΊΠ°Π½Π΅Ρ ΡΠ΅Π½ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ DEX
JavaScript
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ RPC ΠΈ Π²ΡΠ²ΠΎΠ΄ Π±Π°Π»Π°Π½ΡΠ°
ΠΡΠΏΡΠ°Π²ΠΊΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· ethers.js
Π§ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ERC-20 Π±Π°Π»Π°Π½ΡΠΎΠ²
ΠΠΎΠ΄ΠΏΠΈΡΠΊΠ° Π½Π° ΡΠΎΠ±ΡΡΠΈΡ ΡΠΌΠ°ΡΡ-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° (Transfer)
ΠΠΎΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ (Π±ΠΎΡ)
TypeScript
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠ΅Π»ΡΠΊΠ° ΡΠ΅ΡΠ΅Π· WalletConnect
ΠΡΠΏΡΠ°Π²ΠΊΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈΠ· dApp
Π§ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΡΠ΅Π»Ρ ERC-20
Swap ΡΠΎΠΊΠ΅Π½ΠΎΠ² ΡΠ΅ΡΠ΅Π· Uniswap SDK
ΠΠ°Π½Π΅Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΏΠΎΡΡΡΠ΅Π»Ρ Ρ Π³ΡΠ°ΡΠΈΠΊΠ°ΠΌΠΈ
ΠΠ°Π·ΠΎΠ²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
metamask.io - ΠΊΡΠΈΠΏΡΠΎ-ΠΊΠΎΡΠ΅Π»Π΅ΠΊ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½ΠΎΠΌ.
Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π² Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Π°Ρ
ΡΠ°ΠΊ ΠΊΠ° Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Π΅ ΠΎΡΠΊΡΡΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ
Ethereum
Mainnet - https://etherscan.io (ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅ΡΡ)
Sepolia Testnet - https://sepolia.etherscan.io (ΡΠ΅ΡΡΠΎΠ²Π°Ρ ΡΠ΅ΡΡ)
100 ΡΠ΅Π°ΠΊΡΠΈΠΉ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ π― π β€οΈ