Lección 4

Meningkatkan Efisiensi Kode dengan Pengubah

Pengubah di Solidity adalah fitur canggih yang memungkinkan kita menyematkan pemeriksaan awal ke dalam fungsi kita, sehingga menghasilkan kode yang lebih mudah dibaca dan efisien.

Memperkenalkan Pengubah

Mari terapkan pengubah dalam kontrak Marketplace kita. Kita akan mendefinisikan pengubah onlySeller , yang akan memverifikasi apakah pemanggil suatu fungsi memang merupakan penjual suatu barang.

Berikut adalah kontrak Marketplace kami yang diperbarui dengan pengubah onlySeller :

Soliditas 
 // Pengenal Lisensi SPDX: soliditas pragma MIT 
 ^0.8.6; 

 contract Marketplace { 
 // Tentukan struktur baru untuk Item 
 struct Item {
        string name;
        uint price;
        address payable seller;
        bool forSale;
    }

    // Array untuk menampung semua item 
 Item[] item publik; 

 // Pengubah yang memeriksa apakah penelepon adalah penjual suatu barang 
 pengubah onlySeller(uint _itemId) {
        require(msg.sender == items[_itemId].seller, "Only the owner can execute this");
        _;
    }

    // Berfungsi untuk menghapus barang dari penjualan, diperbarui dengan pengubah 'onlySeller' 
 fungsi deleteItemFromSale(uint _itemId) public onlySeller(_itemId) {
        items[_itemId].forSale = false;
    }

    // Fungsi untuk mengupdate harga suatu item, diupdate dengan modifier 'onlySeller' 
 function updateItemPrice(uint _itemId, uint _newPrice) public onlySeller(_itemId) {
        items[_itemId].price = _newPrice;
    }
}

Dengan pengubah onlySeller , kami membuat fungsi removeItemFromSale dan updateItemPrice lebih efisien dan mudah dibaca.

Menyebarkan dan Berinteraksi dengan Kontrak yang Disempurnakan

Setelah menyempurnakan kontrak Marketplace , ikuti langkah yang sama seperti pada pelajaran sebelumnya untuk mengompilasi dan menerapkannya.

Setelah kontrak diterapkan, Anda dapat berinteraksi dengannya seperti sebelumnya. Dengan perbaikan yang kami lakukan dalam pelajaran ini, kontrak kami menjadi lebih efisien dan lebih mudah dibaca dan dipelihara.

Selamat! Anda sekarang telah mempelajari cara membuat, meningkatkan, dan berinteraksi dengan pasar dasar terdesentralisasi di blockchain Ethereum. Ini menandai akhir dari kursus pemula kami tentang pengembangan kontrak pintar dengan Solidity. Teruslah bereksperimen, belajar, dan membangun!

Kesimpulan

Selamat! Anda telah mencapai akhir kursus pemula tentang mengembangkan kontrak pintar menggunakan Solidity. Selama empat pelajaran, kami menjelajahi pembuatan, penerapan, dan interaksi dengan kontrak pintar dalam lingkungan simulasi Ethereum, menggunakan Remix IDE.

Mari kita rekap apa yang telah kita capai:

  • Pelajaran 1: Memperkenalkan dasar-dasar Ethereum, blockchain, dan kontrak pintar. Kami mengembangkan kontrak pintar sederhana pertama kami, Item.sol, yang mendefinisikan satu item yang dapat dibeli atau dijual.
  • Pelajaran 2: Kami memperluas kontrak awal kami dengan membuat kontrak Marketplace.sol , yang memungkinkan pembuatan, pencatatan, dan pembelian beberapa item.
  • Pelajaran 3: Kami menambahkan fungsionalitas lebih lanjut ke pasar kami dengan memperkenalkan metode untuk menghapus barang dari penjualan dan memperbarui harga suatu barang.
  • Pelajaran 4: Kami meningkatkan keterbacaan dan efisiensi kontrak pintar kami dengan menerapkan fitur Soliditas yang disebut 'pengubah'. Kami mempelajari cara membuat kode kami lebih efisien dan aman.
    Sepanjang perjalanan ini, Anda tidak hanya memperoleh dasar yang kuat dalam Soliditas dan pengembangan kontrak pintar, namun juga mengambil langkah pertama Anda untuk menjadi pengembang blockchain. Anda belajar bagaimana memikirkan aplikasi terdesentralisasi dan merasakan potensi inovatif dari teknologi blockchain.

Ke depan, ada banyak jalan untuk Anda jelajahi. Anda dapat mendalami Solidity lebih dalam, mempelajari lebih banyak fitur lanjutan dan pertimbangan keamanan. Anda dapat menjelajahi platform blockchain lain seperti Polkadot, Cardano, atau Binance Smart Chain. Alternatifnya, Anda mungkin ingin mempelajari tentang pengembangan front-end untuk dApps menggunakan Web3.js atau Ethers.js, atau tentang penerapan kontrak Anda di jaringan Ethereum yang sebenarnya.

Apapun jalan yang Anda pilih, ingatlah selalu: pembelajaran paling efektif adalah dengan melakukan. Jadi, jangan takut untuk bereksperimen, membangun, menghancurkan, dan membangun kembali. Setiap tantangan yang Anda hadapi adalah kesempatan untuk belajar dan berkembang.

Terima kasih telah berpartisipasi dalam kursus ini dan bergabung dengan dunia pengembangan blockchain yang menarik. Revolusi blockchain baru saja dimulai, dan pengembang seperti Anda berada di garis depan. Jadi, teruslah belajar, teruslah membangun, dan yang terpenting, bersenang-senanglah!

Selamat membuat kode!

Descargo de responsabilidad
* La inversión en criptomonedas implica riesgos significativos. Proceda con precaución. El curso no pretende ser un asesoramiento de inversión.
* El curso ha sido creado por el autor que se ha unido a Gate Learn. Cualquier opinión compartida por el autor no representa a Gate Learn.
Catálogo
Lección 4

Meningkatkan Efisiensi Kode dengan Pengubah

Pengubah di Solidity adalah fitur canggih yang memungkinkan kita menyematkan pemeriksaan awal ke dalam fungsi kita, sehingga menghasilkan kode yang lebih mudah dibaca dan efisien.

Memperkenalkan Pengubah

Mari terapkan pengubah dalam kontrak Marketplace kita. Kita akan mendefinisikan pengubah onlySeller , yang akan memverifikasi apakah pemanggil suatu fungsi memang merupakan penjual suatu barang.

Berikut adalah kontrak Marketplace kami yang diperbarui dengan pengubah onlySeller :

Soliditas 
 // Pengenal Lisensi SPDX: soliditas pragma MIT 
 ^0.8.6; 

 contract Marketplace { 
 // Tentukan struktur baru untuk Item 
 struct Item {
        string name;
        uint price;
        address payable seller;
        bool forSale;
    }

    // Array untuk menampung semua item 
 Item[] item publik; 

 // Pengubah yang memeriksa apakah penelepon adalah penjual suatu barang 
 pengubah onlySeller(uint _itemId) {
        require(msg.sender == items[_itemId].seller, "Only the owner can execute this");
        _;
    }

    // Berfungsi untuk menghapus barang dari penjualan, diperbarui dengan pengubah 'onlySeller' 
 fungsi deleteItemFromSale(uint _itemId) public onlySeller(_itemId) {
        items[_itemId].forSale = false;
    }

    // Fungsi untuk mengupdate harga suatu item, diupdate dengan modifier 'onlySeller' 
 function updateItemPrice(uint _itemId, uint _newPrice) public onlySeller(_itemId) {
        items[_itemId].price = _newPrice;
    }
}

Dengan pengubah onlySeller , kami membuat fungsi removeItemFromSale dan updateItemPrice lebih efisien dan mudah dibaca.

Menyebarkan dan Berinteraksi dengan Kontrak yang Disempurnakan

Setelah menyempurnakan kontrak Marketplace , ikuti langkah yang sama seperti pada pelajaran sebelumnya untuk mengompilasi dan menerapkannya.

Setelah kontrak diterapkan, Anda dapat berinteraksi dengannya seperti sebelumnya. Dengan perbaikan yang kami lakukan dalam pelajaran ini, kontrak kami menjadi lebih efisien dan lebih mudah dibaca dan dipelihara.

Selamat! Anda sekarang telah mempelajari cara membuat, meningkatkan, dan berinteraksi dengan pasar dasar terdesentralisasi di blockchain Ethereum. Ini menandai akhir dari kursus pemula kami tentang pengembangan kontrak pintar dengan Solidity. Teruslah bereksperimen, belajar, dan membangun!

Kesimpulan

Selamat! Anda telah mencapai akhir kursus pemula tentang mengembangkan kontrak pintar menggunakan Solidity. Selama empat pelajaran, kami menjelajahi pembuatan, penerapan, dan interaksi dengan kontrak pintar dalam lingkungan simulasi Ethereum, menggunakan Remix IDE.

Mari kita rekap apa yang telah kita capai:

  • Pelajaran 1: Memperkenalkan dasar-dasar Ethereum, blockchain, dan kontrak pintar. Kami mengembangkan kontrak pintar sederhana pertama kami, Item.sol, yang mendefinisikan satu item yang dapat dibeli atau dijual.
  • Pelajaran 2: Kami memperluas kontrak awal kami dengan membuat kontrak Marketplace.sol , yang memungkinkan pembuatan, pencatatan, dan pembelian beberapa item.
  • Pelajaran 3: Kami menambahkan fungsionalitas lebih lanjut ke pasar kami dengan memperkenalkan metode untuk menghapus barang dari penjualan dan memperbarui harga suatu barang.
  • Pelajaran 4: Kami meningkatkan keterbacaan dan efisiensi kontrak pintar kami dengan menerapkan fitur Soliditas yang disebut 'pengubah'. Kami mempelajari cara membuat kode kami lebih efisien dan aman.
    Sepanjang perjalanan ini, Anda tidak hanya memperoleh dasar yang kuat dalam Soliditas dan pengembangan kontrak pintar, namun juga mengambil langkah pertama Anda untuk menjadi pengembang blockchain. Anda belajar bagaimana memikirkan aplikasi terdesentralisasi dan merasakan potensi inovatif dari teknologi blockchain.

Ke depan, ada banyak jalan untuk Anda jelajahi. Anda dapat mendalami Solidity lebih dalam, mempelajari lebih banyak fitur lanjutan dan pertimbangan keamanan. Anda dapat menjelajahi platform blockchain lain seperti Polkadot, Cardano, atau Binance Smart Chain. Alternatifnya, Anda mungkin ingin mempelajari tentang pengembangan front-end untuk dApps menggunakan Web3.js atau Ethers.js, atau tentang penerapan kontrak Anda di jaringan Ethereum yang sebenarnya.

Apapun jalan yang Anda pilih, ingatlah selalu: pembelajaran paling efektif adalah dengan melakukan. Jadi, jangan takut untuk bereksperimen, membangun, menghancurkan, dan membangun kembali. Setiap tantangan yang Anda hadapi adalah kesempatan untuk belajar dan berkembang.

Terima kasih telah berpartisipasi dalam kursus ini dan bergabung dengan dunia pengembangan blockchain yang menarik. Revolusi blockchain baru saja dimulai, dan pengembang seperti Anda berada di garis depan. Jadi, teruslah belajar, teruslah membangun, dan yang terpenting, bersenang-senanglah!

Selamat membuat kode!

Descargo de responsabilidad
* La inversión en criptomonedas implica riesgos significativos. Proceda con precaución. El curso no pretende ser un asesoramiento de inversión.
* El curso ha sido creado por el autor que se ha unido a Gate Learn. Cualquier opinión compartida por el autor no representa a Gate Learn.