Mari terapkan pengubah dalam kontrak Marketplace
kita. Kita akan mendefinisikan pengubah onlySeller
, yang akan memverifikasi apakah pemanggil suatu fungsi memang merupakan penjual suatu barang.
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.
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!
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:
Item.sol
, yang mendefinisikan satu item yang dapat dibeli atau dijual.Marketplace.sol
, yang memungkinkan pembuatan, pencatatan, dan pembelian beberapa item.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!
Mari terapkan pengubah dalam kontrak Marketplace
kita. Kita akan mendefinisikan pengubah onlySeller
, yang akan memverifikasi apakah pemanggil suatu fungsi memang merupakan penjual suatu barang.
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.
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!
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:
Item.sol
, yang mendefinisikan satu item yang dapat dibeli atau dijual.Marketplace.sol
, yang memungkinkan pembuatan, pencatatan, dan pembelian beberapa item.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!