Pelajaran 1Corak kontrak biasa: Ownable, Pausable, ReentrancyGuard, Tarik melebihi Tolak bayaran, corak Semakan-Ekes-InteraksiTeroka corak kontrak pintar asas yang meningkatkan keselamatan dan kebolehpendaman. Anda akan melaksanakan Ownable, Pausable, dan ReentrancyGuard, serta menerapkan Tarik melebihi Tolak dan Semakan-Ekes-Interaksi dalam aliran bayaran sebenar.
Melaksanakan dan menggunakan kawalan akses OwnableKontrak Pausable dan henti daruratReentrancyGuard dan pertahanan serangan reentransiReka bentuk aliran bayaran Tarik melebihi TolakAmalan terbaik Semakan-Ekes-InteraksiPelajaran 2Matematik selamat dan perlindungan lebihan dalam Solidity 0.8+: semakan terbina vs pustaka eksplisit (sejarah OpenZeppelin SafeMath)Kaji bagaimana semakan lebihan terbina Solidity 0.8+ mengubah keselamatan aritmetik. Bandingkan pustaka gaya SafeMath lama dengan corak moden, dan belajar bila blok tidak disemak selamat untuk operasi aritmetik cekap gas.
Asas lebihan dan kekurangan integerSemakan aritmetik terbina dalam Solidity 0.8+Pustaka SafeMath lama dan migrasiMenggunakan blok tidak disemak selamat untuk gasMenguji kes tepi aritmetik dan hadPelajaran 3Pemboleh ubah negeri, storan vs ingatan, peristiwa, pengubah, dan pengendalian ralat (memerlukan, balik, tegas, ralat tersuai)Kuasai cara Solidity menyimpan dan mengakses data menggunakan pemboleh ubah negeri, storan, ingatan, dan calldata. Belajar memancarkan peristiwa, menulis pengubah boleh guna semula, dan menerapkan memerlukan, balik, tegas, dan ralat tersuai untuk pengendalian ralat yang jelas.
Pemboleh ubah negeri dan slot storanPenggunaan storan vs ingatan vs calldataMereka bentuk dan memancarkan peristiwa bergunaMenulis pengubah selamat dan boleh guna semulaMemerlukan, balik, tegas, dan ralat tersuaiPelajaran 4Kebolehjumpaan fungsi dan ketidakmutan: awam, luaran, dalaman, persendirian; pandang, tulen, boleh bayarJelaskan bagaimana kebolehjumpaan dan ketidakmutan fungsi mempengaruhi keselamatan, gas, dan kebolehgunaan. Belajar bila menggunakan awam, luaran, dalaman, dan persendirian, serta bagaimana pandang, tulen, dan boleh bayar mempengaruhi perubahan negeri dan pemindahan nilai.
Kompromi fungsi awam vs luaranDalaman dan persendirian untuk kapsulasiPandang dan tulen untuk logik baca sahajaFungsi boleh bayar dan pemindahan ETHMereka bentuk API jelas dan selamatPelajaran 5Reka bentuk perakaunan deposit/pengeluaran: pemetaan(alamat => uint256) imbangan, peristiwa untuk deposit/pengeluaran, mengendalikan pelbagai token vs vault token tunggalBelajar cara mereka bentuk aliran deposit dan pengeluaran selamat menggunakan pemetaan, peristiwa, dan antara muka token. Bandingkan vault token tunggal dan pelbagai token, serta mengendalikan kes tepi seperti pemindahan gagal dan tingkah laku token tidak dijangka.
Pemetaan imbangan dan invariant perakaunanMemancarkan peristiwa untuk deposit dan pengeluaranReka bentuk vault token tunggal dan antara mukaVault pelbagai token dan pengenal pasti tokenMengendalikan pemindahan gagal dan kecacatan tokenPelajaran 6Menguji kontrak pintar: konsep ujian unit, armatur, ejekan untuk token ERC-20, dan struktur ujian (sediakan-laksana-tegas)Belajar cara menguji kontrak pintar dengan pendekatan berstruktur. Anda akan menulis ujian unit, menggunakan armatur dan ejekan untuk token ERC-20, ikut sediakan-laksana-tegas, dan meliputi kes tepi, balik, dan jangkaan peristiwa.
Kerangka ujian dan persediaan projekStruktur ujian Sediakan-Laksana-TegasMenggunakan armatur untuk negeri boleh ulangEjekan token ERC-20 dan tingkah lakuMenguji balik, peristiwa, dan kes tepiPelajaran 7Asas bahasa Solidity: sintaks, jenis, kebolehjumpaan, pewarisan, dan pragma pengkompil (spesifik 0.8.x)Bina pemahaman kukuh tentang sintaks Solidity, jenis, dan peraturan kebolehjumpaan. Teroka pewarisan, antara muka, pragma pengkompil, dan spesifik 0.8.x seperti ralat tersuai dan keselamatan jenis yang diperbaiki untuk pembangunan kontrak pintar moden.
Fail sumber, kontrak, dan sintaks asasJenis nilai, jenis rujukan, dan tatasusunKebolehjumpaan fungsi dan pemboleh ubah negeriPewarisan, antara muka, dan kontrak abstrakPragma pengkompil dan perubahan bahasa 0.8.xPelajaran 8Asas kebolehbolehan naik taraf kontrak dan kompromi: corak proksi (lut sinar, UUPS) dan bila mengelak naik taraf untuk vault mudahFahami bila dan bagaimana menaik taraf kontrak menggunakan corak proksi. Bandingkan proksi lut sinar dan UUPS, kekangan susun atur storan, dan risiko tadbir urus, serta lihat mengapa vault mudah mungkin lebih selamat tanpa kebolehbolehan naik taraf.
Mengapa menaik taraf kontrak dan bila mengelaknyaArsitektur proksi lut sinar dan perananCorak proksi UUPS dan fungsi naik tarafKeserasian susun atur storan dan risikoRisiko keselamatan dan tadbir urus naik tarafPelajaran 9Asas pengoptimuman gas: susun atur storan, pembungkusan, meminimumkan panggilan luaran, dan menggunakan calldataBelajar teknik pengoptimuman gas praktikal untuk kontrak Solidity. Anda akan menganalisis susun atur storan dan pembungkusan, mengurangkan panggilan luaran mahal, memanfaatkan calldata, dan mengukur penggunaan gas untuk membimbing mikro-optimuman selamat.
Memahami kos gas dan bayaran balikSusun atur storan dan pembungkusan pemboleh ubahMeminimumkan panggilan luaran dan rentas kontrakMenggunakan calldata untuk input baca sahaja murahMengukur dan menanda aras penggunaan gasPelajaran 10Penyelaman mendalam standard token ERC-20: antara muka (IERC20), keizinan, semantik approve/transferFrom, pengendalian nilai pulangan dan token tidak standardSelami standard ERC-20, memberi tumpuan kepada antara muka IERC20, imbangan, keizinan, dan aliran approve/transferFrom. Belajar mengendalikan nilai pulangan, token tidak standard, dan corak interaksi selamat dalam kontrak pengeluaran.
Antara muka IERC20 dan fungsi diperlukanImbangan, totalSupply, dan pengendalian perpuluhanAliran kerja keizinan approve dan transferFromMengendalikan token ERC-20 tidak standardInteraksi ERC-20 selamat dengan pustaka pembantu