Lição 4

Smart contract

Modul ini memberikan pandangan teknis mendalam tentang zkSync, berfokus pada menulis dan mendeploy smart contract, menggunakan zkSync CLI dan SDK, serta mengintegrasikan zkSync dengan lingkungan pengembangan yang sudah ada.

Kontrak pintar di zkSync beroperasi secara mirip dengan yang di Ethereum tetapi dengan skalabilitas dan efisiensi yang ditingkatkan karena teknologi zkRollup yang mendasarinya. zkSync menggunakan bukti pengetahuan nol untuk menjaga keamanan dan ketidakpercayaan saat memproses transaksi di luar jaringan.

Zero-knowledge succinct non-interactive arguments of knowledge (zk-SNARKs) digunakan untuk memverifikasi kebenaran perhitungan off-chain. Di zkSync, zk-SNARKs memastikan bahwa semua transaksi dan eksekusi kontrak pintar valid tanpa harus melakukan perhitungan pada mainnet Ethereum. Ini mengurangi beban komputasi dan biaya gas terkait, memungkinkan throughput yang lebih tinggi.

Era zkSync, iterasi terbaru, sepenuhnya kompatibel dengan Mesin Virtual Ethereum (EVM). Ini berarti bahwa sebagian besar smart contract yang ditulis untuk Ethereum dapat diimplementasikan di zkSync dengan sedikit atau tanpa modifikasi. Kompatibilitas EVM memastikan bahwa pengembang dapat menggunakan alat dan bahasa yang familiar (seperti Solidity) untuk menulis dan menerapkan kontrak mereka.

zkSync Era juga mengintegrasikan zkPorter, solusi ketersediaan data yang meningkatkan skalabilitas. zkPorter memungkinkan data tertentu disimpan di luar rantai, secara signifikan meningkatkan jumlah transaksi yang dapat diproses tanpa membuat mainnet Ethereum padat.

Menulis dan Menerapkan Kontrak Cerdas

Kontrak pintar untuk zkSync ditulis dalam Solidity, bahasa yang sama digunakan untuk kontrak pintar Ethereum. Pengembang dapat menggunakan sintaks dan struktur logika yang sama yang biasa mereka gunakan, membuat transisi ke zkSync sangat mudah.

Menerapkan Kontrak Cerdas

1.Mendirikan Lingkungan Pengembangan:

  • Instal Node.js dan npm (Node Package Manager).
  • Instal zkSyncdanhelm keraspaket melalui npm.
  • Memulai proyek Hardhat baru dan mengonfigurasikannya agar dapat bekerja dengan zkSync.

2.Konfigurasi:

Ubahhardhat.config.js untuk menyertakan pengaturan khusus zkSync, seperti URL jaringan zkSync dan opsi kompiler khusus zkSync.

Contoh konfigurasi mungkin terlihat seperti:

3.Kompilasi Kontrak Cerdas:

Dengan menggunakan kerangka kerja Hardhat, dimungkinkan untuk menyusun kontrak Solidity. Plugin Hardhat zkSync memastikan bahwa kompilasi kompatibel dengan jaringan zkSync.

4.Mendeploy Kontrak Pintar:

Proses implementasi melibatkan menghubungkan ke penyedia zkSync, membuat contoh dompet, dan menggunakannya untuk melakukan implementasi kontrak. Contoh skrip implementasi:

Alat Pengembangan Tersedia

Hardhat

Hardhat adalah lingkungan pengembangan dan pelari tugas untuk Ethereum yang telah diperluas untuk mendukung zkSync. Ini memungkinkan pengembang untuk mengompilasi, mendeploy, menguji, dan debug smart contract Solidity.

zkSync SDK

SDK zkSync menyediakan alat dan perpustakaan untuk berinteraksi dengan zkSync dari lingkungan JavaScript. Ini mencakup utilitas untuk menyiapkan dompet, mengirim transaksi, dan berinteraksi dengan smart contract yang diimplementasikan di zkSync.

zkSync CLI

Antarmuka baris perintah zkSync (CLI) menawarkan fungsionalitas untuk mengelola proyek zkSync, termasuk implementasi kontrak dan pengelolaan akun.

Remix IDE

Remix adalah aplikasi web sumber terbuka dan desktop yang membantu menulis kontrak Solidity langsung dari browser. Ini mendukung zkSync melalui plugin dan konfigurasi yang menghubungkannya ke jaringan zkSync.

Integrasi

Alat pengembangan terintegrasi untuk menyediakan lingkungan yang kohesif untuk mengembangkan, menguji, dan menerapkan kontrak pintar di zkSync.

Hardhat dan SDK zkSync

Hardhat mengintegrasikan dengan SDK zkSync untuk menyediakan alur kerja yang lancar bagi para pengembang. Plugin Hardhat untuk zkSync menangani proses kompilasi dan implementasi, sementara SDK zkSync menyediakan fungsionalitas dasar untuk berinteraksi dengan jaringan zkSync. Kombinasi ini memungkinkan para pengembang menulis skrip implementasi dan pengujian menggunakan konstruksi Hardhat yang familiar sambil memanfaatkan fitur-fitur khusus zkSync.

Hardhat dan Remix

Pengembang dapat menulis dan menguji smart contracts menggunakan Remix dan kemudian menggunakan Hardhat untuk skenario implementasi yang lebih kompleks. Artefak yang dikompilasi dari Remix dapat dengan mudah diimpor ke dalam proyek Hardhat, memungkinkan alur kerja pengembangan yang fleksibel.

zkSync CLI

CLI zkSync dapat digunakan bersamaan dengan Hardhat dan SDK zkSync untuk mengelola implementasi dan berinteraksi dengan kontrak yang diimplementasikan. Ini menyediakan antarmuka baris perintah untuk tugas-tugas umum, seperti implementasi kontrak atau mengelola kunci akun, yang dapat diintegrasikan ke dalam alur kerja implementasi otomatis.

Pengujian dan Debugging

Kerangka pengujian Hardhat dapat digunakan untuk menulis uji unit dan integrasi untuk kontrak pintar. Uji ini dapat dijalankan pada node zkSync lokal atau testnet untuk memastikan bahwa kontrak berperilaku seperti yang diharapkan. SDK zkSync memfasilitasi interaksi dengan kontrak selama pengujian, memungkinkan cakupan pengujian yang komprehensif.

Dengan mengintegrasikan alat-alat ini, pengembang dapat menulis, menguji, mendeploy, dan mengelola smart contract secara efisien di zkSync, menggunakan skalabilitas dan efisiensi biaya dari zkRollups sambil tetap mempertahankan pengalaman pengembangan yang akrab. Integrasi ini mendukung siklus pengembangan yang kuat, mulai dari pembuatan kontrak awal hingga penyebaran dan pemeliharaan berkelanjutan.

Sorotan

  • Menulis dan menyebarkan kontrak pintar di zkSync melibatkan penggunaan Solidity dan Vyper, dengan kompilasi melalui kompiler zkSync kustom.
  • CLI dan SDK zkSync menyediakan alat komprehensif untuk penyiapan proyek, kompilasi kontrak, penyebaran, dan interaksi.
  • Integrasi dengan alat pengembangan seperti Hardhat, Foundry, Remix, dan Atlas meningkatkan pengalaman pengembang.
  • Mematuhi praktik terbaik menjamin pengembangan Smart Contract yang aman dan efisien di zkSync.
Exclusão de responsabilidade
* O investimento em criptomoedas envolve riscos significativos. Prossiga com cuidado. O curso não pretende ser um conselho de investimento.
* O curso é criado pelo autor que se juntou ao Gate Learn. Qualquer opinião partilhada pelo autor não representa o Gate Learn.
Catálogo
Lição 4

Smart contract

Modul ini memberikan pandangan teknis mendalam tentang zkSync, berfokus pada menulis dan mendeploy smart contract, menggunakan zkSync CLI dan SDK, serta mengintegrasikan zkSync dengan lingkungan pengembangan yang sudah ada.

Kontrak pintar di zkSync beroperasi secara mirip dengan yang di Ethereum tetapi dengan skalabilitas dan efisiensi yang ditingkatkan karena teknologi zkRollup yang mendasarinya. zkSync menggunakan bukti pengetahuan nol untuk menjaga keamanan dan ketidakpercayaan saat memproses transaksi di luar jaringan.

Zero-knowledge succinct non-interactive arguments of knowledge (zk-SNARKs) digunakan untuk memverifikasi kebenaran perhitungan off-chain. Di zkSync, zk-SNARKs memastikan bahwa semua transaksi dan eksekusi kontrak pintar valid tanpa harus melakukan perhitungan pada mainnet Ethereum. Ini mengurangi beban komputasi dan biaya gas terkait, memungkinkan throughput yang lebih tinggi.

Era zkSync, iterasi terbaru, sepenuhnya kompatibel dengan Mesin Virtual Ethereum (EVM). Ini berarti bahwa sebagian besar smart contract yang ditulis untuk Ethereum dapat diimplementasikan di zkSync dengan sedikit atau tanpa modifikasi. Kompatibilitas EVM memastikan bahwa pengembang dapat menggunakan alat dan bahasa yang familiar (seperti Solidity) untuk menulis dan menerapkan kontrak mereka.

zkSync Era juga mengintegrasikan zkPorter, solusi ketersediaan data yang meningkatkan skalabilitas. zkPorter memungkinkan data tertentu disimpan di luar rantai, secara signifikan meningkatkan jumlah transaksi yang dapat diproses tanpa membuat mainnet Ethereum padat.

Menulis dan Menerapkan Kontrak Cerdas

Kontrak pintar untuk zkSync ditulis dalam Solidity, bahasa yang sama digunakan untuk kontrak pintar Ethereum. Pengembang dapat menggunakan sintaks dan struktur logika yang sama yang biasa mereka gunakan, membuat transisi ke zkSync sangat mudah.

Menerapkan Kontrak Cerdas

1.Mendirikan Lingkungan Pengembangan:

  • Instal Node.js dan npm (Node Package Manager).
  • Instal zkSyncdanhelm keraspaket melalui npm.
  • Memulai proyek Hardhat baru dan mengonfigurasikannya agar dapat bekerja dengan zkSync.

2.Konfigurasi:

Ubahhardhat.config.js untuk menyertakan pengaturan khusus zkSync, seperti URL jaringan zkSync dan opsi kompiler khusus zkSync.

Contoh konfigurasi mungkin terlihat seperti:

3.Kompilasi Kontrak Cerdas:

Dengan menggunakan kerangka kerja Hardhat, dimungkinkan untuk menyusun kontrak Solidity. Plugin Hardhat zkSync memastikan bahwa kompilasi kompatibel dengan jaringan zkSync.

4.Mendeploy Kontrak Pintar:

Proses implementasi melibatkan menghubungkan ke penyedia zkSync, membuat contoh dompet, dan menggunakannya untuk melakukan implementasi kontrak. Contoh skrip implementasi:

Alat Pengembangan Tersedia

Hardhat

Hardhat adalah lingkungan pengembangan dan pelari tugas untuk Ethereum yang telah diperluas untuk mendukung zkSync. Ini memungkinkan pengembang untuk mengompilasi, mendeploy, menguji, dan debug smart contract Solidity.

zkSync SDK

SDK zkSync menyediakan alat dan perpustakaan untuk berinteraksi dengan zkSync dari lingkungan JavaScript. Ini mencakup utilitas untuk menyiapkan dompet, mengirim transaksi, dan berinteraksi dengan smart contract yang diimplementasikan di zkSync.

zkSync CLI

Antarmuka baris perintah zkSync (CLI) menawarkan fungsionalitas untuk mengelola proyek zkSync, termasuk implementasi kontrak dan pengelolaan akun.

Remix IDE

Remix adalah aplikasi web sumber terbuka dan desktop yang membantu menulis kontrak Solidity langsung dari browser. Ini mendukung zkSync melalui plugin dan konfigurasi yang menghubungkannya ke jaringan zkSync.

Integrasi

Alat pengembangan terintegrasi untuk menyediakan lingkungan yang kohesif untuk mengembangkan, menguji, dan menerapkan kontrak pintar di zkSync.

Hardhat dan SDK zkSync

Hardhat mengintegrasikan dengan SDK zkSync untuk menyediakan alur kerja yang lancar bagi para pengembang. Plugin Hardhat untuk zkSync menangani proses kompilasi dan implementasi, sementara SDK zkSync menyediakan fungsionalitas dasar untuk berinteraksi dengan jaringan zkSync. Kombinasi ini memungkinkan para pengembang menulis skrip implementasi dan pengujian menggunakan konstruksi Hardhat yang familiar sambil memanfaatkan fitur-fitur khusus zkSync.

Hardhat dan Remix

Pengembang dapat menulis dan menguji smart contracts menggunakan Remix dan kemudian menggunakan Hardhat untuk skenario implementasi yang lebih kompleks. Artefak yang dikompilasi dari Remix dapat dengan mudah diimpor ke dalam proyek Hardhat, memungkinkan alur kerja pengembangan yang fleksibel.

zkSync CLI

CLI zkSync dapat digunakan bersamaan dengan Hardhat dan SDK zkSync untuk mengelola implementasi dan berinteraksi dengan kontrak yang diimplementasikan. Ini menyediakan antarmuka baris perintah untuk tugas-tugas umum, seperti implementasi kontrak atau mengelola kunci akun, yang dapat diintegrasikan ke dalam alur kerja implementasi otomatis.

Pengujian dan Debugging

Kerangka pengujian Hardhat dapat digunakan untuk menulis uji unit dan integrasi untuk kontrak pintar. Uji ini dapat dijalankan pada node zkSync lokal atau testnet untuk memastikan bahwa kontrak berperilaku seperti yang diharapkan. SDK zkSync memfasilitasi interaksi dengan kontrak selama pengujian, memungkinkan cakupan pengujian yang komprehensif.

Dengan mengintegrasikan alat-alat ini, pengembang dapat menulis, menguji, mendeploy, dan mengelola smart contract secara efisien di zkSync, menggunakan skalabilitas dan efisiensi biaya dari zkRollups sambil tetap mempertahankan pengalaman pengembangan yang akrab. Integrasi ini mendukung siklus pengembangan yang kuat, mulai dari pembuatan kontrak awal hingga penyebaran dan pemeliharaan berkelanjutan.

Sorotan

  • Menulis dan menyebarkan kontrak pintar di zkSync melibatkan penggunaan Solidity dan Vyper, dengan kompilasi melalui kompiler zkSync kustom.
  • CLI dan SDK zkSync menyediakan alat komprehensif untuk penyiapan proyek, kompilasi kontrak, penyebaran, dan interaksi.
  • Integrasi dengan alat pengembangan seperti Hardhat, Foundry, Remix, dan Atlas meningkatkan pengalaman pengembang.
  • Mematuhi praktik terbaik menjamin pengembangan Smart Contract yang aman dan efisien di zkSync.
Exclusão de responsabilidade
* O investimento em criptomoedas envolve riscos significativos. Prossiga com cuidado. O curso não pretende ser um conselho de investimento.
* O curso é criado pelo autor que se juntou ao Gate Learn. Qualquer opinião partilhada pelo autor não representa o Gate Learn.