Go Ethereum Analyze
ๆฌไปๅบไธป่ฆ้ขๅ้่ฆ้ ่ฏปไปฅๅคชๅๆบ็ ็่ฏป่ ๏ผๆๆถๅชๅ ณๆณจ็ ็ฉถๆบ่ฝๅ็บฆๅฎๅ จๅฟ ้็ๅ็บฆๆง่กๆบๅถใ็ฝ็ปๅๅ ฑ่ฏ้จๅไนๆฌข่ฟๆๅ่กฅๅ ใ
ๆฌไปๅบๅคๅถๅฎๆน็ go-ethereum
๏ผๅช่ฟ่ก่งฃ่ฏป๏ผไธๅๅฎ้
ๆบ็ ไฟฎๆน๏ผไพๅคงๅฎถๅญฆไน ไบคๆต๏ผ่ฏทๅฟ็จไบ็ไบง็ฏๅขใๆฌข่ฟไบคๆตๅญฆไน ๏ผ
- ไธป่ฆๆบ็ ๅๆๆพๅจไบไธชไบบๅๅฎข๏ผhttps://www.blog-blockchain.xyz/categories/geth/
- EVM่ฎพ่ฎก่งฃๆ๏ผhttps://www.blog-blockchain.xyz/categories/evm/
- ็จๅบๅๆๅ ฅ้จ๏ผๆ็ปญๆดๆฐ๏ผ๏ผhttps://www.blog-blockchain.xyz/categories/program-language/
- solidityๅ ฅ้จ๏ผhttps://www.blog-blockchain.xyz/categories/smart-contract-basics/
ไธป่ฆ็ฎๆ ๏ผ
- ๆทฑๅบฆ็่งฃไปฅๅคชๅๅบๅฑ่ฟ่กๆบๅถ
- ๆทฑๅบฆ็่งฃไปฅๅคชๅๅญ่็ ๏ผ่ฝๅคๅฏนๅญ่็ ่ฟ่กๅฎๅ จๅๆใ
- ๆไพไฟฎๆนๆบ็ ็ๅ่๏ผ่ฝๅคไฟฎๆนๆบ็ ไปฅๅฎๆๆต่ฏใๆๆกฉ๏ผ็่ณๆฐๅปบ่ชๅทฑ็้พใ
- ๆไพไบคๆๅจๆๆฐๆฎๅๆๆนๆณ๏ผๆ็ปๅฎ็ฐๅบๅ้พๅนณๅฐๅจ่ๆ็ฅๅๆปๅปๆฃๆต็ๆจกๅใ
ๆณจๆ๏ผ
- ๅช่งฃ้้จๅ็ป่๏ผๆบ็ ๆณจ้ไธญไธไฝ่ฟไบ่ฏฆ็ป็ไป็ป๏ผๅชๆๅๆ้็ๅบ็กๅๅญฆไน ็ๆนๅใ
- ๅฏนๅบ็็่ฎบๅบ็กๅๆบ็ ๆขณ็ๅญๆพๅจ
analyzeSourceCode
ๆไปถๅคนๅ ๏ผ้ๅฏนๅฏนๅบ็ๅ ๅฎน๏ผๆขณ็่็ปๅๅฎ็ฐๆต็จใ - ไฟ็ไบ่ฑๆๆณจ้๏ผๅฏนไบๅฎนๆ็่งฃ็่ฑๆๆณจ้ๅนถๆช็ฟป่ฏๆไธญๆใ
ๅทฒๅฎๆ็ๆบ็ ่งฃๆๅ่กจ
-
contracts
ๅ -
core/forkchoice.go
-
core/types
ๅ -
core/bloombits
ๅ (ๅน้ ๅจ้จๅ็ฑไบ็ผบๅฐๅนถๅๆจกๅ็ฅ่ฏ๏ผๆ็ผ) -
core/genesis.go
-
core/tx_pool.go
-
core/tx_list.go
-
core/tx_cacher.go
-
core/tx_journal.go
-
core/tx_noncer.go
-
core/forkid
ๅ -
core/blocks.go
-
trie
ๅMPT
ๅๆ
ๅทฒๅฎๆ็็่ฎบๅบ็กๅ่กจ
- ๅบๅ้พๅบ็กๅ ฅ้จ
- ๅ็บฆๅฎๅ จๅๆไน็จๅบๅๆๅบ็ก
- ๅญฆไน ่ทฏ็บฟๅ่ตๆบๆฑๆป
- ๅๆญฅ็่งฃ EVM ็ stackใmemoryใstorageใcalldata
- ไปฅๅคชๅ้ป็ฎไนฆไธญ EVM ่ฎพ่ฎกๆ่ทฏ่งฃ่ฏป
- ๅ็บฆๅฎก่ฎกๅทฅๅ ท่ฏดๆๅไฝฟ็จ
- ไปฅๅคชๅๆ ธๅฟๆฐๆฎ็ปๆๆ็ซ
- ๅฎๅไปฅๅคชๅๆถๆๅพ
- ๆทฑๅ ฅๅ็บฆๅญ่็ ๅๆ
Todo list:
- ๅ็บฆๅฎๅ จๅๆไนๆฝ่ฑก
-
core/vm
ๅ -
core/txpool.go
้ ่ฏป็ฌ่ฎฐ -
core/blockchain.go
-
core/state
ๅ -
core/state_transition.go
ไธบไบๆนไพฟไฟฎๆนๆบ็ ๅ่ฟ่ก่ฐ่ฏ๏ผๅปบ่ฎฎๅจ Linux ็ณป็ป่ฟ่ก๏ผ้ ่ฏปๆบ็ ๆถ็จไธปๆบ็ณป็ปๅฏ่ฝ็ธๅฏนๆนไพฟใ
ๅฎ่ฃ ่ๆๆบ๏ผๅปบ่ฎฎ Ubuntu20.04๏ผๅ ทไฝๅฎ่ฃ ๆ็จๅฏ่งๅ ถไปๆ็จใๅธๆ่ฏป่ ๆไธๅฎ็ Linux ๅบ็ก๏ผ็ๆๅธธ็จๅฝไปค๏ผ็่งฃ Linux ้ ็ฝฎๆไปถ็ๆๆณ๏ผไผ้ ่ฏปๅฝไปค่กๆ็คบไฟกๆฏใๅฎ่ฃ ๅฅฝ่ๆๆบๅๅฏ่ฎพ็ฝฎไปฃ็๏ผๅญฆไน ๅบๅ้พๅฟ ้กป่ฆๅญฆไผ่ฎพ็ฝฎไปฃ็๏ผ๏ผ่ช่กๅฏปๆพๆ็จใ
ๅๅค็ฏๅข๏ผๅฎ่ฃ nodejsใnpmใgolandใtyporaใไธญๆ่พๅ ฅๆณ๏ผๅฏไปฅ็จ็พๅบฆ่พๅ ฅๆณ๏ผใvscodeใgolandใgit๏ผๆฐๆ่ช่กๅฏปๆพๆ็จ๏ผๅพๅฎนๆๆพๅฐใ
ๅปบ่ฎฎไฝฟ็จ godoc๏ผ็ถๅ่พๅ
ฅๅฝไปค godoc --http localhost:6060
๏ผๅฏไปฅๆนไพฟๅฐ็ๅฐ่ชๅจ็ๆ็ๆๆกฃใ
้ ็ฝฎgo็ผ่ฏๅจ๏ผubuntu aptๅ ็ฎก็ๅทฅๅ ท็go็ผ่ฏๅจ็ๆฌๅคชไฝ๏ผ้่ฆๆๅจๅ็บงใ
-
ไธ่ฝฝไบ่ฟๅถๅ ๏ผๅฏๅจ่ฟ้ไธ่ฝฝ๏ผ็ถๅ่งฃๅใๅคๅถๅฐ
/usr/local
๏ผ่ฟๆฏๆไปฌไธ่ฌๆพ่ฝฏไปถ็ๅฐๆน๏ผ็ถๅ่ฎพ็ฝฎ็ฏๅขๅ้๏ผๅปบ่ฎฎๅญฆไน Linux ็็ฏๅขๅ้ๅฆไฝ่ฎพ็ฝฎ๏ผๆไปไนไฝ็จใ่ฟไธช็ฎๅฝๅฐฑๆฏ GOROOT ็ฎๅฝ๏ผGOPATH ็ฎๅฝๅฏไปฅ้่ฟgo env
ๆพๅฐใ -
ไธ่ฝฝ go-ethereum๏ผๅปบ่ฎฎไฝฟ็จ apt ไธ่ฝฝ๏ผๅ ไธบไธ็จ้ขๅค็้ ็ฝฎ๏ผๅนถไธ้ๅธฆไบไธไบๅฅฝ็จ็ๅทฅๅ ทใ
ๆทปๅ ๆบ๏ผ
sudo add-apt-repository -y ppa:ethereum/ethereum
ๆดๆฐ่ฝฏไปถ่กจ๏ผ
sudo apt-get update
ๅฎ่ฃ ็จณๅฎ็๏ผ
sudo apt-get install ethereum
้่ง้ฎ้ขๅ่ ๅฎๆนๆ็จ ๅๅๅฎขใๆณจๆๅฆๆๆช่ฎพ็ฝฎไปฃ็๏ผไธ่ฝฝ้ๅบฆไผๅพๆ ข๏ผ่ๅฟ็ญๅพ ใๅ ณไบๅฆไฝ่ฎพ็ฝฎไปฃ็๏ผ่ฏท่ช่กๆฅๆพๆ็จใ
-
ๅ ้ไปๅบ๏ผๅผๅงๅทฅไฝใ้ ็ฝฎๅฅฝ่ชๅทฑ็ Git๏ผไธไผไฝฟ็จ่ฏท่ช่กๅฏปๆพๆ็จใ็ถๅ VSCodeใgoland ้ ็ฝฎๅฅฝ็ธๅ ณ็ฏๅข๏ผ่ช่กๅฏปๆพๆ็จ๏ผ
-
ๅฎ่ฃ ็ฟป่ฏๆไปถ๏ผ่พ ๅฉ้ ่ฏป่ฑๆๆณจ้๏ผๆจ่ JetBrain ็ณป็ Transaction ๅ VSCode ็ Comment Translateใ
่ฏทๆณจๆ๏ผไปๅบๅบไบ่พๆฐ็ geth ๆบ็ ๏ผๆฌๆ็จๅๆบ็ ้ฝๅช็จไบๅญฆไน ๏ผๅนถไธๅช่ด่ดฃ่งฃ่ฏปไปฅๅๅฆไฝไฟฎๆน๏ผไธไผๅๅฎ่ดจๆง็ๆนๅ
ๅจๅผๅง่งฃ่ฏปไปฅๅคชๅๅ๏ผๅ ไบ่งฃไปฅๅคชๅไธญๅธธ่งๆฏ่ฏญๅๅ่ฏใไปฅไพฟๆดๅฅฝ็ๅญฆไน ๅ็ปญๅ ๅฎนใๅคง้จๅๅ ๅฎนๆฅ่ช ๅๅฎข๏ผๆฌไบบ่กฅๅ ๅๅฎๅใ
- ๅค้จ่ดฆๆท๏ผEOAs๏ผExternal Owned Accounts๏ผ๏ผๅ ณ่ไธชไบบๆๆก็็ง้ฅใๅฏไปฅ็จไบๅ้ไบคๆ๏ผ่ฝฌ็งปไปฅๅคชๅธๆๅ้ๆถๆฏ๏ผ๏ผๅฝขๅไธๅผ ๅธฆๆฐๅญID็ๅจ่ๅกใ
- ๅ็บฆ่ดฆๆท๏ผContracts Accounts๏ผๅฏไปฅๅจไปฅๅคชๅไธๅญๅจๅ็บฆไปฃ็ ไธๅ็บฆๆฐๆฎ็่ดฆๆท๏ผๅค้จไธ่ฝ็ดๆฅๆไฝๆญค่ดฆๆทใๅช่ฝ็ฑๅค้จ่ดฆๆท็ดๆฅๆ้ดๆฅ่ฐ็จใ
- ่ดฆๆท็ถๆ๏ผ account state๏ผ่กจ็คบไธไธช่ดฆๆทๅจไปฅๅคชๅไธญ็็ถๆใ่ดฆๆท็ถๆๅจ่ดฆๆทๆฐๆฎๅๅๆถๅๅใ่ดฆๆท็ถๆๅ ๅซๅ้กนไฟกๆฏ๏ผnonceใไฝ้ขใ่ดฆๆทๅญๅจๅ ๅฎนๆ นๅๅธๅผใ่ดฆๆทไปฃ็ ๅๅธๅผใ็ถๆๆฐๆฎไธ็ดๆฅๅญๅจๅจๅบๅไธใ
- ่ดฆๆท Nonce: ่ดฆๆท้ๆบๆฐ๏ผๆฏ่ดฆๆท็ไบคๆ่ฎกๆฐใไปฅ้ฒๆญข้ๆพๆปๅปใ
- ๆบ่ฝๅ็บฆ๏ผSmart Contract๏ผๆฏไปฅๅคชๅๆไธบๅบๅ้พ2.0็็ซ่ถณ็นใไปฅๅคชๅๆฏๆ้่ฟๅพ็ตๅฎๅค็้ซ็บง็ผ็จ่ฏญ่จ็ผๅๆบ่ฝๅ็บฆไปฃ็ ใ้จ็ฝฒๅจ้พไธๅ๏ผๅฏไปฅๆฅๅๆฅ่ชๅค้จ็ไบคๆ่ฏทๆฑๅไบไปถ๏ผไปฅ่งฆๅๆง่ก็นๅฎ็ๅ็บฆไปฃ็ ้ป่พ๏ผ่ฟไธๆญฅ็ๆๆฐ็ไบคๆๅไบไปถใ็่ณ่ฐ็จๅ ถไป็ๆบ่ฝๅ็บฆใ
- ไธ็็ถๆ๏ผstate๏ผ็ฎก็่ดฆๆทๅฐๅๅฐ่ดฆๆท็ถๆ็ๆ ๅฐๅ ณ็ณปใๆๆ่ดฆๆท็็ถๆๆๆๆดไธชๅบๅ้พ็ถๆใ
- ไบคๆ๏ผTransaction๏ผๆฏๅค้จไธไปฅๅคชๅไบคไบ็ๅฏไธ้ๅพ๏ผๅฟ ้กป็ฑๅค้จ่ดฆๆท็ญพๅ๏ผ็ฟๅทฅๆง่กไบคๆ๏ผๆ็ปๆๅ ๅฐๅบๅไธญใ
- ไบคๆๆถๆฎ๏ผReceipt๏ผๆฏๆนไพฟๅฏนไบคๆ่ฟ่ก้ถ็ฅ่ฏ่ฏๆใ็ดขๅผๅๆ็ดข๏ผๅฐไบคๆๆง่ก่ฟ็จไธญ็ไธไบ็นๅฎไฟกๆฏ็ผ็ ไธบไบคๆๆถๆฎใ
- ๅบๅ๏ผblock๏ผๆฏ็ฑไธ็ปไบคๆๅไธไบ่พ ๅฉไฟกๆฏ๏ผ็ฎ็งฐๅบๅๅคด๏ผใๅ ถไปๅบๅๅคดๅๅธๆๆ็ๆฐๆฎๅใๅ ถไปๅบๅๅคดๅๅธ่กจ็คบ็ถๅบๅๆ่ ๅๅบๅใ
- ๅๅ๏ผUncle Block๏ผไธ่ฝๆไธบไธป้พไธ้จๅ็ๅญคๅฟๅบๅ๏ผๅฆๆๆๅนธ่ขซๅๆฅ็ๅบๅๆถ็่ฟๅบๅ้พๅฐฑๅๆไบๅๅใๆถ็ไบๅญคๅ็ๅบๅๆ้ขๅค็ๅฅๅฑใๅญคๅไธๆฆๆไธบๅๅ๏ผ่ฏฅๅบๅ็ปไธๅฏ่ทๅพๅฅๅฑใ้่ฟๅๅๅฅๅฑๆบๅถ๏ผๆฅ้ไฝไปฅๅคชๅ่ฝฏๅๅๅๅนณ่กก็ฝ้ๆ ข็็ฟๅทฅๅฉ็ใ
- ้ๆบๆฐ๏ผnonce๏ผ่ฎฐๅฝๅจๅบๅๅคดไธญ๏ผๅชๅๅทฅไฝ็่ฏๆใ
- Gas๏ผ็ๆๆฏไบคๆๆๅ ๅฐๅบๅๆถ๏ผๅจ EVM ่ฟ่กๆๆถ่็่ตๆบ้็ไธ็งๅฝข่ฑกๅๆฆๅฟต๏ผๆฏๅป้่ฆ็ๆๆ่ฝ่ฟ่ก EVMใๅจไปฅๅคชๅไธญ๏ผๅฐ CPU ่ตๆบใๅญๅจ่ตๆบๆๅ ็ฝฎ็่งๅ๏ผ็ปไธไฝฟ็จ Gas ไฝไธบ่ตๆบๅไฝ่กจ่พพใๆฏๆง่กไธๆฌก่ๆๆบๆไปค๏ผๅๆถ่ไธๅฎ็ Gasใ
- GasPrice: ็ๆไปทๆ ผ๏ผไปปไฝไบคๆ้ฝ้่ฆๅ ๅซไธไธชๆฟๆๆฏไป็็ๆๅไปท๏ผๆ็ปๆ นๆฎไบคๆๆถ่็็ๆ้๏ผ่ฎก็ฎๆ็ปญ่ดน (usedGas*gasPrice) ๆฏไป็ป็ฟๅทฅใ
- ไปทๆ ผ้ขๆต๏ผGPO(Gas Price Oracle)๏ผGas ไปทๆ ผ้ขๆต๏ผๆ นๆฎๅๅฒไบคๆ็ GasPrice ้ขๆตๆชๆฅ GasPrice ่ตฐๅฟใ
- ZKP: Zero Knowledge Proof๏ผ้ถ็ฅ่ฏ่ฏๆใ
- EVM๏ผEthereum Virtual Machine๏ผไปฅๅคชๅ่ๆๆบๆฏๆง่กไบคๆ็ไธไธช่ฝป้็บงๆฒ็่ๆๆบใ
- Message๏ผๆถๆฏ๏ผๆฏไธไธชไธ่ฝๅบๅๅ็๏ผๅนถไธๅชๅญๅจไบไปฅๅคชๅ่ฟ่ก็ฏๅขไธญ็่ๆๅฏน่ฑก๏ผไธๆกๆถๆฏไธป่ฆๅ ๆฌ๏ผๆถๆฏ็ๅ้ๆนใๆฅๆถๆนใgasLimit ็ญ็ญ๏ผ
- ๅบๅๅ๏ผๅฐๆฐๆฎไฝฟ็จRLP็ผ็ ไธบไธ็ปๅญ่ๆฐๆฎ๏ผไพฟไบๆฐๆฎไบคๆขไธๅญๅจใ
- RLP: ้ๅฝ้ฟๅบฆๅ็ผ็ผ็ ๏ผไธ็ง่ฝๅคๅ็ผฉๆฐๆฎ็ๆฐๆฎ็ผ็ ๅ่ฎฎ๏ผๅจไปฅๅคชๅไธญๅธธ็จไบๅบๅๅๆฐๆฎใ
- MPT๏ผ้ปๅ ๅฐๅ็ผฉๅ็ผๆ ๏ผ Merkle Patricia Tree๏ผๆฏไธ็ง็ป่ฟๆน่ฏ็ใ่ๅไบ้ปๅ ๅฐๆ ๅๅ็ผๆ ไธค็งๆ ็ปๆไผ็น็ๆฐๆฎ็ปๆ๏ผๆฏไปฅๅคชๅไธญ็จๆฅ็ป็ป็ฎก็่ดฆๆทๆฐๆฎใ็ๆไบคๆ้ๅๅๅธ็้่ฆๆฐๆฎ็ปๆใ
- Patricia Trie: ไธ็งๅ็ผฉๅ็ผๆ ๏ผๆฏไธ็งๆด่็็ฉบ้ด็ๆ ๏ผๅฏนไบ trie ็ๆฏไธช่็น๏ผๅฆๆ่ฏฅ่็นๆฏๅ ถ็ถ่็นๅฏไธ็ๅฟๅญ็่ฏ๏ผๅฐฑๅ็ถ่็น็ปๅ๏ผ
- Merkle Tree: ้ปๅ ๅฐๆ ๏ผไน็งฐไธบ Hash Tree๏ผ้ปๅ ๅฐๆ ๅถๅญ่็น็valueๆฏๆฐๆฎ้กน็ๅ ๅฎน๏ผๆ่ ๆฏๆฐๆฎ้กน็ๅๅธๅผ๏ผ้ๅถๅญ่็น็valueๆ นๆฎๅ ถๅญฉๅญ่็น็ไฟกๆฏ๏ผ็ถๅๆ็ งHash็ฎๆณ่ฎก็ฎ่ๅพๅบ็ใ
- Whisper๏ผๅฏ่ฏญ๏ผๆฏไธ็งไพๆไบ P2P ็้ไฟกๅ่ฎฎ๏ผ้่ฟ Whisper ๅ่ฎฎ๏ผ่็นๅฏไปฅๅฐไฟกๆฏๅ้็ปๆไธช็นๅฎ่็น๏ผๅฎ็ฐๅ่็น็ง่ๅๆไธป้ขๅจๅคไธช่็นไธ้ไฟกใไธป่ฆ็จไบๅคง่งๆจก็็นๅฏน็นๆฐๆฎๅ็ฐใไฟกๅทๅๅใๆๅฐไผ ่พ้ไฟกใๅฎๅ จ้็งไฟๆค็ DApp ่่ฎพ่ฎก็ใ
- LES๏ผ Light Ethereum Subprotocol๏ผไปฅๅคชๅๅฎขๆท็ซฏ็่ฝป้็บง็ๅญๅ่ฎฎ๏ผๅช้่ฆไธ่ฝฝๅบๅๅคด๏ผๅ ถไป่ฏฆ็ปไฟกๆฏๅฏไปฅๆ้่ทๅ๏ผLES Wiki
- Swarm๏ผ ่ๅทข๏ผๆฏไธไธชๅๅธๅผๅญๅจๅนณๅฐๅๅ ๅฎนๅๅๆๅก๏ผๆฏไปฅๅคชๅ web 3 ๆๆฏๆ ็ๆฌๅฐๅบ็กๅฑๆๅก;
- LLL๏ผSperpentใMutanๅSolidity๏ผ็จไบ็ผๅๆบ่ฝๅ็บฆไปฃ็ ็็็ผ็จ่ฏญ่จ๏ผ่ฝ่ขซ็ผ่ฏๆ EVM ไปฃ็ ใ
- ERC20: ๅฏไปฅ็่งฃๆ Ethereum ็ไธไธช Token ๅ่ฎฎ่ง่๏ผๆๆๅบไบ Ethereum ๅผๅ็ Token ๅ็บฆ้ฝ้ตๅฎ่ฟไธช่ง่ใ้ตๅฎ ERC20 ๅ่ฎฎ่ง่็ Token ๅฏไปฅ่ขซๅ็ง Ethereum ้ฑๅ ๆฏๆใ
- ERC721: ๆฏๅจERC20ๆ ๅไธๅปบ็ซ็Tokenๅ่ฎฎ่ง่๏ผๆฏ้ๅฏนไธๅฏไบๆข Token(non-fungible tokens ็ฎ็งฐ NFT)ๅ็ๆบ่ฝๅ็บฆๆ ๅใ
Command | Description |
---|---|
geth |
ๅฝไปค่กไธป็จๅบ๏ผไฝฟ็จๅ่ๅๅฎข1 ๅๅฎข2ๅๅฎๆนๆๆกฃใ |
clef |
็ญพๅๅทฅๅ
ท๏ผๅฏไปฅๅจๅ็ซฏไธบgeth ็ญพๅ. |
devp2p |
P2P ๅผๅๅทฅๅ ท๏ผไธ็จ่ฟ่กๅ จ่็นๅฐฑๅฏไปฅๅๅ ถไป่็น้ไฟกใ |
abigen |
ไปฃ็ ็ๆๅจ๏ผๆๅ็บฆๅฐ่ฃ ๆๆ็จ Golang ็ๅ . |
bootnode |
ๅฎขๆท็ซฏ็็ฒพ็ฎ็๏ผๅชๅฎ็ฐไบ็ฝ็ป่็นๅ่ฎฎ, ๅฏไปฅๅจ็งๆ็ฝ็ปไธญ่พ ๅฉๅฏปๆพ่็นใ |
evm |
ไปฅๅคชๅ่ๆๆบ EVM ็ๅผๅ็จๅบ ่ฝๅคๅจๅฏ้ ็ฝฎ็็ฏๅขไธญ่ฟ่กๅบๅฑ็ๅญ่็ ็ๆฎต๏ผๆนไพฟ็ป่ด็่ฐ่ฏไปฅๅคชๅๆไฝ็ ๏ผๆทฑๅ ฅๆง่ก่ฟ็จใ |
rlpdump |
ไปฅไปฅๅคชๅๅ่ฎฎ็็ผ็ RLP (Recursive Length Prefix) ๆ ผๅผ่พๅบใ |
puppeth |
ๅๅปบๆฐ็ไปฅๅคชๅ็ฝ็ปๆถ็ๅผๅฏผใ |
โโโ accounts //่ดฆๆท็ฎก็
โย ย โโโ abi //ๅฎ็ฐ abi
โย ย โย ย โโโ bind //็ๆ ๅ็บฆ็ go ่ฏญ่จๅฐ่ฃ
โย ย โย ย โโโ backends
โย ย โโโ external
โย ย โโโ keystore //็ง้ฅ็ฎก็๏ผ้็จ secp256k ๅ ๅฏ
โย ย โย ย โโโ testdata
โย ย โย ย โโโ dupes
โย ย โย ย โโโ keystore
โย ย โย ย โย ย โโโ foo
โย ย โย ย โโโ v1
โย ย โย ย โโโ cb61d5a9c4896fb9658090b597ef0e7be6f7b67e
โย ย โโโ scwallet
โย ย โโโ usbwallet //็กฌไปถ้ฑๅ
๏ผ้่ฟ USB ๆๅ
ฅ
โย ย โโโ trezor //็กฌไปถ้ฑๅ
็ๅ่ฎฎ
โโโ build //็จไบ็ผ่ฏๅๆๅปบ็่ๆฌ
โย ย โโโ bin
โย ย โโโ deb
โย ย โโโ ethereum
โโโ cmd //ๅฝไปค่กๅทฅๅ
ท
โย ย โโโ abidump
โย ย โโโ abigen
โย ย โโโ bootnode
โย ย โโโ checkpoint-admin
โย ย โโโ clef
โย ย โย ย โโโ docs
โย ย โย ย โย ย โโโ qubes
โย ย โย ย โโโ testdata
โย ย โย ย โโโ tests
โย ย โโโ devp2p
โย ย โย ย โโโ internal
โย ย โย ย โโโ ethtest
โย ย โย ย โย ย โโโ testdata
โย ย โย ย โโโ v4test
โย ย โย ย โโโ v5test
โย ย โโโ ethkey
โย ย โโโ evm
โย ย โย ย โโโ internal
โย ย โย ย โย ย โโโ compiler
โย ย โย ย โย ย โโโ t8ntool
โย ย โย ย โโโ testdata
โย ย โย ย โโโ 1
โย ย โย ย โโโ 10
โย ย โย ย โโโ 11
โย ย โย ย โโโ 12
โย ย โย ย โโโ 13
โย ย โย ย โโโ 14
โย ย โย ย โโโ 15
โย ย โย ย โโโ 16
โย ย โย ย โโโ 17
โย ย โย ย โโโ 18
โย ย โย ย โโโ 19
โย ย โย ย โโโ 2
โย ย โย ย โโโ 3
โย ย โย ย โโโ 4
โย ย โย ย โโโ 5
โย ย โย ย โโโ 7
โย ย โย ย โโโ 8
โย ย โย ย โโโ 9
โย ย โโโ faucet //่ฝป้็บง็ๆฐด้พๅคด๏ผ็จไบๅๆต่ฏๅธ๏ผ
โย ย โโโ geth
โย ย โย ย โโโ testdata
โย ย โย ย โโโ vcheck
โย ย โย ย โโโ minisig-sigs
โย ย โย ย โโโ signify-sigs
โย ย โย ย โโโ sigs
โย ย โโโ p2psim //ๆจกๆ HTTP API ็่ฐ็จ
โย ย โโโ puppeth //ๆๅปบ็ง้พ็ธๅ
ณ
โย ย โย ย โโโ testdata
โย ย โโโ rlpdump //ๆ ผๅผๅ rlp ็ผ็ ๏ผๆดๅ ๆผไบฎ็่พๅบ
โย ย โโโ utils //ไธไบ่ฝฌๅใ่พ
ๅฉๅทฅๅ
ท
โโโ common //ๅทฅๅ
ท็ฑป
โย ย โโโ bitutil //ๅฟซ้็ๆไฝๆไฝ
โย ย โโโ compiler//ๅฐ่ฃ
Solidity ๅ Vyper ็ๅญ่็
โย ย โโโ fdlimit
โย ย โโโ hexutil //ๅๅ
ญ่ฟๅถ็ผ็
โย ย โโโ math //ๆดๆฐ็็ธๅ
ณๆฐๅญฆๅทฅๅ
ท
โย ย โโโ mclock //็จไบ่ฎกๆถ็ๅบๅฎ็น
โย ย โโโ prque //ไผๅ
้ๅๆฐๆฎ็ปๆ
โโโ consensus //ๅ
ฑ่ฏ็ฎๆณ้จๅ
โย ย โโโ clique //POA
โย ย โโโ ethash //POW
โย ย โโโ misc
โโโ console //ๆงๅถๅฐ
โย ย โโโ prompt
โย ย โโโ testdata
โโโ contracts //ๅ็บฆ้จๅ
โย ย โโโ checkpointoracle
โย ย โโโ contract
โโโ core //ๆ ธๅฟๆฐๆฎ็ปๆ๏ผๅ
ๆฌ็ถๆๆบใ้พๅผ็ปๆใ่ๆๆบ็ญ
โย ย โโโ asm //่งฃๆๆฑ็ผๆไปค
โย ย โโโ bloombits //ๅธ้่ฟๆปคๅจๆน้ๅค็
โย ย โโโ forkid //EIP-2124 (https://eips.ethereum.org/EIPS/eip-2124) ็ๅฎ็ฐ
โย ย โโโ rawdb //ๅบๅฑๆฐๆฎๅบ่ฎฟ้ฎ
โย ย โย ย โโโ testdata
โย ย โโโ state //ไปฅๅคชๅ็ถๆๆ ็็ผๅญ
โย ย โย ย โโโ pruner
โย ย โย ย โโโ snapshot //ๅจๆ็ถๆๅญๅจ
โย ย โโโ types //ๅ
ฑ่ฏๆบๅถไธญ็ๆฐๆฎ็ฑปๅ
โย ย โโโ vm //EVM ็ๅฎ็ฐ
โย ย โโโ runtime //่ด่ดฃๅญ่็ ็ๆง่ก
โย ย โโโ testdata
โย ย โโโ precompiles
โโโ crypto //ๅๅธ็ฎๆณๅๅฏ็ ๅญฆ
โย ย โโโ blake2b
โย ย โโโ bls12381
โย ย โโโ bn256
โย ย โย ย โโโ cloudflare
โย ย โย ย โโโ google
โย ย โโโ ecies
โย ย โโโ secp256k1
โย ย โย ย โโโ libsecp256k1
โย ย โย ย โโโ build-aux
โย ย โย ย โย ย โโโ m4
โย ย โย ย โโโ contrib
โย ย โย ย โโโ include
โย ย โย ย โโโ obj
โย ย โย ย โโโ sage
โย ย โย ย โโโ src
โย ย โย ย โโโ asm
โย ย โย ย โโโ java
โย ย โย ย โย ย โโโ org
โย ย โย ย โย ย โโโ bitcoin
โย ย โย ย โโโ modules
โย ย โย ย โโโ ecdh
โย ย โย ย โโโ recovery
โย ย โโโ signify
โโโ docs //้จๅ่ฏดๆๆๆกฃ
โย ย โโโ audits
โย ย โโโ postmortems
โโโ eth //ไปฅๅคชๅๅ่ฎฎ
โย ย โโโ catalyst //RPC ็ธๅ
ณ
โย ย โโโ downloader //ๅ
จ่็นๅๆญฅ
โย ย โโโ ethconfig //ไปฅๅคชๅ้
็ฝฎๆไปถๅ่ฝป่็น้
็ฝฎๆไปถ
โย ย โโโ fetcher //่ทๅๅๆญฅๆถ็ๅบๅๅคดใไบคๆ็ญ
โย ย โโโ filters //ๅบๅใๆฅๅฟใไบไปถใไบคๆ็่ฟๆปค
โย ย โโโ gasprice
โย ย โโโ protocols
โย ย โย ย โโโ eth
โย ย โย ย โโโ snap
โย ย โโโ tracers //่ท่ธชไบคๆ
โย ย โโโ internal
โย ย โย ย โโโ tracetest
โย ย โย ย โโโ testdata
โย ย โย ย โโโ call_tracer
โย ย โย ย โโโ call_tracer_legacy
โย ย โโโ js //js ๅ็ไบคๆ่ท่ธชๅจ
โย ย โย ย โโโ internal
โย ย โย ย โโโ tracers
โย ย โโโ native //go ๅ็ไบคๆ่ท่ธชๅจ
โโโ ethclient //RPC ่ฐ็จ็ๅฎขๆท็ซฏ
โย ย โโโ gethclient
โโโ ethdb //ๆฐๆฎๅบ
โย ย โโโ dbtest
โย ย โโโ leveldb //leveldb ๆฐๆฎๅบๅฎ็ฐ
โย ย โโโ memorydb //ๅ
ๅญๆ ๅฐ็ๆฐๆฎๅบๅฎ็ฐ
โโโ ethstats //็ฝ็ป็ถๆๆพ็คบ
โโโ event //ๅค็ๅฎๆถไบไปถ
โโโ graphql //ๆไพ GraphQL ็ๅๅฃ
โโโ internal //ๅ
้จ็ไธไบ็ปไปถ
โย ย โโโ build
โย ย โโโ cmdtest
โย ย โโโ debug
โย ย โโโ ethapi
โย ย โโโ flags
โย ย โโโ guide
โย ย โโโ jsre
โย ย โย ย โโโ deps
โย ย โโโ syncx
โย ย โโโ testlog
โย ย โโโ utesting
โย ย โโโ web3ext
โโโ les //่ฝป้็บงไปฅๅคชๅๅญๅ่ฎฎ(LES)
โย ย โโโ checkpointoracle
โย ย โโโ downloader
โย ย โโโ fetcher
โย ย โโโ flowcontrol
โย ย โโโ utils
โย ย โโโ vflux
โย ย โโโ client
โย ย โโโ server
โโโ light //ๅ่ฝป้็บงๅฎขๆท็ซฏๆไพๆ้ๆฃ็ดข็ๅ่ฝ
โโโ log //ๆฅๅฟ
โโโ metrics //็ฃ็่ฏปๅ็ธๅ
ณ
โย ย โโโ exp
โย ย โโโ influxdb
โย ย โโโ librato
โย ย โโโ prometheus
โโโ miner //ๅบๅ็ๆๅๆ็ฟ
โย ย โโโ stress
โย ย โโโ 1559 //EIP1559 ็ๅๅๆต่ฏ
โย ย โโโ clique //Clique ็ๅๆต
โย ย โโโ ethash //ethash ็ๅๆต
โโโ mobile //ไธบ็งปๅจ็ซฏ่ฎพ็ฝฎ็็ฎๅ็ API
โโโ node //่็นๅ่ฎฎ
โโโ p2p //P2P ็ฝ็ปๅ่ฎฎ
โย ย โโโ discover //่็นๅ็ฐๅ่ฎฎ
โย ย โย ย โโโ v4wire //v4 ็ๆฌ
โย ย โย ย โโโ v5wire //v5 ็ๆฌ
โย ย โย ย โโโ testdata
โย ย โโโ dnsdisc //EIP1459 ๆๅบ็ๅ็ฐๅ่ฎฎ
โย ย โโโ enode
โย ย โโโ enr //EIP778 ๆๅบ็่็น่ฎฐๅฝ
โย ย โโโ msgrate //ไผฐ่ฎก่็นๅๅ้ๅฎ็ฐๆดๅนณ่กก็ไผ ่พ
โย ย โโโ nat //็ซฏๅฃๆ ๅฐ
โย ย โโโ netutil
โย ย โโโ nodestate
โย ย โโโ rlpx //RLPx ไผ ่พๅ่ฎฎ
โย ย โโโ simulations
โย ย โย ย โโโ adapters
โย ย โย ย โโโ examples
โย ย โย ย โโโ pipes
โย ย โโโ tracker
โโโ params //ๅๆฐ่งๅฎ
โโโ rlp //RLP ๅบๅๅๆ ผๅผ
โโโ rpc //ๅๅ JSON-RPC 2.0
โย ย โโโ testdata
โโโ signer //ๆฐๅญ็ญพๅ้จๅ
โย ย โโโ core
โย ย โย ย โโโ apitypes
โย ย โย ย โโโ testdata
โย ย โย ย โโโ fuzzing
โย ย โโโ fourbyte
โย ย โโโ rules
โย ย โโโ storage
โโโ swarm //swarm ็พค่็น
โโโ tests //ๆต่ฏๆฐๆฎ
โย ย โโโ fuzzers
โย ย โย ย โโโ abi
โย ย โย ย โโโ bitutil
โย ย โย ย โโโ bls12381
โย ย โย ย โย ย โโโ testdata
โย ย โย ย โโโ bn256
โย ย โย ย โโโ difficulty
โย ย โย ย โย ย โโโ debug
โย ย โย ย โโโ keystore
โย ย โย ย โย ย โโโ corpus
โย ย โย ย โโโ les
โย ย โย ย โย ย โโโ debug
โย ย โย ย โโโ rangeproof
โย ย โย ย โย ย โโโ corpus
โย ย โย ย โย ย โโโ debug
โย ย โย ย โโโ rlp
โย ย โย ย โย ย โโโ corpus
โย ย โย ย โโโ runtime
โย ย โย ย โโโ secp256k1
โย ย โย ย โโโ stacktrie
โย ย โย ย โย ย โโโ debug
โย ย โย ย โโโ trie
โย ย โย ย โย ย โโโ corpus
โย ย โย ย โโโ txfetcher
โย ย โย ย โย ย โโโ corpus
โย ย โย ย โโโ vflux
โย ย โย ย โโโ debug
โย ย โโโ solidity
โย ย โย ย โโโ contracts
โย ย โย ย โโโ migrations
โย ย โย ย โโโ test
โย ย โโโ testdata
โโโ trie //ๅบๅ็้่ฆๆฐๆฎ็ปๆ MPT
- ็ฎไนฆๅๅฎข๏ผๆๅๅ่กจ็ๆ็ซ ไธป่ฆๆฏไปฅๅคชๅๆบ็ ๅๆ๏ผๅฏนไปฅๅคชๅ็ๅฝๆฐๅไบ่ฏดๆใ
- ๆ่ฟ็ๆบ็ ๅๆๆ็ซ
- GitHub - ZtesoftCS/go-ethereum-code-analysis 4ๅนดๅ็ๆบ็ ๅๆๆฑๆป
- Ethereum-tutorial
- [go-ethereum ๆบ็ ็ฌ่ฎฐ๏ผๆฆ่ง๏ผ](https://knarfeh.com/2018/03/10/go-ethereum ๆบ็ ็ฌ่ฎฐ๏ผๆฆ่ง๏ผ/) ๅๅนดๅ็ๅๅฎข
- Introduction ยท Ethereum Development with Go ่ท็็จ Go ๅ็ฎๅๅบๅ้พ
- Geth Documentation | Go Ethereum geth ไฝฟ็จ่ฏดๆ๏ผ่ฐ่ฏ็จๅบ๏ผไฝฟ็จ่ชๅธฆๅทฅๅ ท็ๅ่ใ
- ๆไฝ็ ่ฏฆ่งฃๅๆจกๆใ
- ไปฅๅคชๅๆๆฏไธๅฎ็ฐ๏ผไฝ่ ไฝไบๆดไฝๆง็่ฏดๆ๏ผ้ๅไฝไธบๅคง่ดๅ่ใ
- ๅพ้ซ่ดจ้็ๅๅฎข
- ็ฌ่ ็ๆบ็ ๅๆๅ็่ฎบๅบ็กใ่ฐ่ฏๅฎๆใ