Pelajaran 4

เพิ่มประสิทธิภาพโค้ดด้วยตัวดัดแปลง

Modifiers ใน Solidity เป็นฟีเจอร์ที่ทรงพลังที่ช่วยให้เราสามารถฝังการตรวจสอบเบื้องต้นภายในฟังก์ชันของเรา ส่งผลให้โค้ดอ่านง่ายและมีประสิทธิภาพมากขึ้น

ขอแนะนำตัวแก้ไข

ลองใช้ตัวแก้ไขในสัญญา Marketplace ของเรา เราจะกำหนดตัวแก้ไข onlySeller ซึ่งจะตรวจสอบว่าผู้เรียกฟังก์ชันนั้นเป็นผู้ขายสินค้าจริงหรือไม่

นี่คือสัญญา Marketplace ของเราที่อัปเดตด้วยตัวแก้ไข onlySeller :

ความแข็งแกร่ง 
 // SPDX-License-Identifier: ความแข็งแกร่งของ MIT 
 pragma ^0.8.6; 

 สัญญาตลาด { 
 // กำหนดโครงสร้างใหม่สำหรับรายการ 
 โครงสร้างรายการ {
        string name;
        uint price;
        address payable seller;
        bool forSale;
    }

    // อาร์เรย์เพื่อเก็บรายการทั้งหมด 
 รายการ[] รายการสาธารณะ; 

 // Modifier ที่ตรวจสอบว่าผู้เรียกเป็นผู้ขายรายการ 
 modifier onlySeller(uint _itemId) {
        require(msg.sender == items[_itemId].seller, "Only the owner can execute this");
        _;
    }

    // ฟังก์ชั่นเพื่อลบสินค้าออกจากการขาย อัปเดตด้วย modifier 'onlySeller' 
 ฟังก์ชั่น RemoveItemFromSale(uint _itemId) public onlySeller(_itemId) {
        items[_itemId].forSale = false;
    }

    // ฟังก์ชันสำหรับอัปเดตราคาของสินค้า อัปเดตด้วยตัวแก้ไข 'onlySeller' 
 ฟังก์ชัน updateItemPrice(uint _itemId, uint _newPrice) public onlySeller(_itemId) {
        items[_itemId].price = _newPrice;
    }
}

ด้วยตัวแก้ไข onlySeller เราได้ทำให้ฟังก์ชัน removeItemFromSale และ updateItemPrice มีประสิทธิภาพและอ่านง่ายขึ้น

การปรับใช้และการโต้ตอบกับสัญญาฉบับปรับปรุง

หลังจากปรับปรุงสัญญา Marketplace แล้ว ให้ทำตามขั้นตอนเดียวกับในบทเรียนก่อนหน้าเพื่อคอมไพล์และปรับใช้

เมื่อปรับใช้สัญญาแล้ว คุณสามารถโต้ตอบกับสัญญาได้เหมือนเมื่อก่อน ด้วยการปรับปรุงที่เราได้ทำในบทเรียนนี้ สัญญาของเราจึงมีประสิทธิภาพมากขึ้น อ่านและบำรุงรักษาได้ง่ายขึ้น

ยินดีด้วย! ตอนนี้คุณได้เรียนรู้วิธีสร้าง ปรับปรุง และโต้ตอบกับตลาดกระจายอำนาจพื้นฐานบนบล็อกเชน Ethereum แล้ว นี่เป็นการสิ้นสุดหลักสูตรสำหรับผู้เริ่มต้นของเราเกี่ยวกับการพัฒนาสัญญาอัจฉริยะด้วย Solidity ทดลอง เรียนรู้ และสร้างต่อไป!

บทสรุป

ยินดีด้วย! คุณมาถึงจุดสิ้นสุดของหลักสูตรสำหรับผู้เริ่มต้นเกี่ยวกับการพัฒนาสัญญาอัจฉริยะโดยใช้ Solidity แล้ว ในช่วงสี่บทเรียน เราได้สำรวจการสร้าง การปรับใช้ และการโต้ตอบกับสัญญาอัจฉริยะในสภาพแวดล้อม Ethereum จำลอง โดยใช้ Remix IDE

มาสรุปสิ่งที่เราทำได้สำเร็จ:

  • บทที่ 1: แนะนำพื้นฐานของ Ethereum, บล็อกเชน และสัญญาอัจฉริยะ เราได้พัฒนาสัญญาอัจฉริยะง่ายๆ ฉบับแรกของเรา Item.sol ซึ่งกำหนดรายการเดียวที่สามารถซื้อหรือขายได้
  • บทที่ 2: เราได้ขยายสัญญาเริ่มแรกของเราเพื่อสร้างสัญญา Marketplace.sol ซึ่งอนุญาตให้สร้าง ลงรายการ และซื้อสินค้าได้หลายรายการ
  • บทที่ 3: เราได้เพิ่มฟังก์ชันการทำงานเพิ่มเติมให้กับตลาดของเราโดยแนะนำวิธีการลบสินค้าออกจากการขายและอัปเดตราคาของสินค้า
  • บทที่ 4: เราปรับปรุงความสามารถในการอ่านและประสิทธิภาพของสัญญาอัจฉริยะของเราโดยการใช้คุณสมบัติ Solidity ที่เรียกว่า 'ตัวแก้ไข' เราเรียนรู้วิธีทำให้โค้ดของเรามีประสิทธิภาพและปลอดภัยยิ่งขึ้น
    ตลอดการเดินทางนี้ คุณไม่เพียงแต่ได้รับรากฐานที่มั่นคงในด้าน Solidity และการพัฒนาสัญญาอัจฉริยะเท่านั้น แต่ยังได้ก้าวแรกสู่การเป็นนักพัฒนาบล็อคเชนอีกด้วย คุณได้เรียนรู้วิธีคิดเกี่ยวกับแอปพลิเคชันแบบกระจายอำนาจและได้ลิ้มรสศักยภาพเชิงนวัตกรรมของเทคโนโลยีบล็อกเชน

ก้าวไปข้างหน้า มีเส้นทางมากมายให้คุณสำรวจ คุณสามารถเจาะลึกลงไปใน Solidity โดยเรียนรู้เกี่ยวกับฟีเจอร์ขั้นสูงและข้อควรพิจารณาด้านความปลอดภัย คุณสามารถสำรวจแพลตฟอร์มบล็อกเชนอื่น ๆ เช่น Polkadot, Cardano หรือ Binance Smart Chain หรือคุณอาจต้องการเรียนรู้เกี่ยวกับการพัฒนาส่วนหน้าสำหรับ dApps โดยใช้ Web3.js หรือ Ethers.js หรือเกี่ยวกับการปรับใช้สัญญาของคุณบนเครือข่าย Ethereum จริง

ไม่ว่าคุณจะเลือกเส้นทางใดก็ตาม โปรดจำไว้เสมอ: การเรียนรู้ที่มีประสิทธิผลมากที่สุดคือการลงมือทำ ดังนั้นอย่ากลัวที่จะทดลอง สร้าง ทำลาย และสร้างใหม่ ทุกความท้าทายที่คุณเผชิญคือโอกาสในการเรียนรู้และเติบโต

ขอขอบคุณสำหรับการเข้าร่วมหลักสูตรนี้และเข้าร่วมโลกแห่งการพัฒนาบล็อคเชนอันน่าตื่นเต้น การปฏิวัติบล็อกเชนเพิ่งเริ่มต้น และนักพัฒนาเช่นคุณอยู่ในแถวหน้า ดังนั้นจงเรียนรู้ต่อไป สร้างต่อไป และที่สำคัญที่สุด ขอให้สนุก!

ขอให้มีความสุขในการเขียนโค้ด!

Pernyataan Formal
* Investasi Kripto melibatkan risiko besar. Lanjutkan dengan hati-hati. Kursus ini tidak dimaksudkan sebagai nasihat investasi.
* Kursus ini dibuat oleh penulis yang telah bergabung dengan Gate Learn. Setiap opini yang dibagikan oleh penulis tidak mewakili Gate Learn.
Katalog
Pelajaran 4

เพิ่มประสิทธิภาพโค้ดด้วยตัวดัดแปลง

Modifiers ใน Solidity เป็นฟีเจอร์ที่ทรงพลังที่ช่วยให้เราสามารถฝังการตรวจสอบเบื้องต้นภายในฟังก์ชันของเรา ส่งผลให้โค้ดอ่านง่ายและมีประสิทธิภาพมากขึ้น

ขอแนะนำตัวแก้ไข

ลองใช้ตัวแก้ไขในสัญญา Marketplace ของเรา เราจะกำหนดตัวแก้ไข onlySeller ซึ่งจะตรวจสอบว่าผู้เรียกฟังก์ชันนั้นเป็นผู้ขายสินค้าจริงหรือไม่

นี่คือสัญญา Marketplace ของเราที่อัปเดตด้วยตัวแก้ไข onlySeller :

ความแข็งแกร่ง 
 // SPDX-License-Identifier: ความแข็งแกร่งของ MIT 
 pragma ^0.8.6; 

 สัญญาตลาด { 
 // กำหนดโครงสร้างใหม่สำหรับรายการ 
 โครงสร้างรายการ {
        string name;
        uint price;
        address payable seller;
        bool forSale;
    }

    // อาร์เรย์เพื่อเก็บรายการทั้งหมด 
 รายการ[] รายการสาธารณะ; 

 // Modifier ที่ตรวจสอบว่าผู้เรียกเป็นผู้ขายรายการ 
 modifier onlySeller(uint _itemId) {
        require(msg.sender == items[_itemId].seller, "Only the owner can execute this");
        _;
    }

    // ฟังก์ชั่นเพื่อลบสินค้าออกจากการขาย อัปเดตด้วย modifier 'onlySeller' 
 ฟังก์ชั่น RemoveItemFromSale(uint _itemId) public onlySeller(_itemId) {
        items[_itemId].forSale = false;
    }

    // ฟังก์ชันสำหรับอัปเดตราคาของสินค้า อัปเดตด้วยตัวแก้ไข 'onlySeller' 
 ฟังก์ชัน updateItemPrice(uint _itemId, uint _newPrice) public onlySeller(_itemId) {
        items[_itemId].price = _newPrice;
    }
}

ด้วยตัวแก้ไข onlySeller เราได้ทำให้ฟังก์ชัน removeItemFromSale และ updateItemPrice มีประสิทธิภาพและอ่านง่ายขึ้น

การปรับใช้และการโต้ตอบกับสัญญาฉบับปรับปรุง

หลังจากปรับปรุงสัญญา Marketplace แล้ว ให้ทำตามขั้นตอนเดียวกับในบทเรียนก่อนหน้าเพื่อคอมไพล์และปรับใช้

เมื่อปรับใช้สัญญาแล้ว คุณสามารถโต้ตอบกับสัญญาได้เหมือนเมื่อก่อน ด้วยการปรับปรุงที่เราได้ทำในบทเรียนนี้ สัญญาของเราจึงมีประสิทธิภาพมากขึ้น อ่านและบำรุงรักษาได้ง่ายขึ้น

ยินดีด้วย! ตอนนี้คุณได้เรียนรู้วิธีสร้าง ปรับปรุง และโต้ตอบกับตลาดกระจายอำนาจพื้นฐานบนบล็อกเชน Ethereum แล้ว นี่เป็นการสิ้นสุดหลักสูตรสำหรับผู้เริ่มต้นของเราเกี่ยวกับการพัฒนาสัญญาอัจฉริยะด้วย Solidity ทดลอง เรียนรู้ และสร้างต่อไป!

บทสรุป

ยินดีด้วย! คุณมาถึงจุดสิ้นสุดของหลักสูตรสำหรับผู้เริ่มต้นเกี่ยวกับการพัฒนาสัญญาอัจฉริยะโดยใช้ Solidity แล้ว ในช่วงสี่บทเรียน เราได้สำรวจการสร้าง การปรับใช้ และการโต้ตอบกับสัญญาอัจฉริยะในสภาพแวดล้อม Ethereum จำลอง โดยใช้ Remix IDE

มาสรุปสิ่งที่เราทำได้สำเร็จ:

  • บทที่ 1: แนะนำพื้นฐานของ Ethereum, บล็อกเชน และสัญญาอัจฉริยะ เราได้พัฒนาสัญญาอัจฉริยะง่ายๆ ฉบับแรกของเรา Item.sol ซึ่งกำหนดรายการเดียวที่สามารถซื้อหรือขายได้
  • บทที่ 2: เราได้ขยายสัญญาเริ่มแรกของเราเพื่อสร้างสัญญา Marketplace.sol ซึ่งอนุญาตให้สร้าง ลงรายการ และซื้อสินค้าได้หลายรายการ
  • บทที่ 3: เราได้เพิ่มฟังก์ชันการทำงานเพิ่มเติมให้กับตลาดของเราโดยแนะนำวิธีการลบสินค้าออกจากการขายและอัปเดตราคาของสินค้า
  • บทที่ 4: เราปรับปรุงความสามารถในการอ่านและประสิทธิภาพของสัญญาอัจฉริยะของเราโดยการใช้คุณสมบัติ Solidity ที่เรียกว่า 'ตัวแก้ไข' เราเรียนรู้วิธีทำให้โค้ดของเรามีประสิทธิภาพและปลอดภัยยิ่งขึ้น
    ตลอดการเดินทางนี้ คุณไม่เพียงแต่ได้รับรากฐานที่มั่นคงในด้าน Solidity และการพัฒนาสัญญาอัจฉริยะเท่านั้น แต่ยังได้ก้าวแรกสู่การเป็นนักพัฒนาบล็อคเชนอีกด้วย คุณได้เรียนรู้วิธีคิดเกี่ยวกับแอปพลิเคชันแบบกระจายอำนาจและได้ลิ้มรสศักยภาพเชิงนวัตกรรมของเทคโนโลยีบล็อกเชน

ก้าวไปข้างหน้า มีเส้นทางมากมายให้คุณสำรวจ คุณสามารถเจาะลึกลงไปใน Solidity โดยเรียนรู้เกี่ยวกับฟีเจอร์ขั้นสูงและข้อควรพิจารณาด้านความปลอดภัย คุณสามารถสำรวจแพลตฟอร์มบล็อกเชนอื่น ๆ เช่น Polkadot, Cardano หรือ Binance Smart Chain หรือคุณอาจต้องการเรียนรู้เกี่ยวกับการพัฒนาส่วนหน้าสำหรับ dApps โดยใช้ Web3.js หรือ Ethers.js หรือเกี่ยวกับการปรับใช้สัญญาของคุณบนเครือข่าย Ethereum จริง

ไม่ว่าคุณจะเลือกเส้นทางใดก็ตาม โปรดจำไว้เสมอ: การเรียนรู้ที่มีประสิทธิผลมากที่สุดคือการลงมือทำ ดังนั้นอย่ากลัวที่จะทดลอง สร้าง ทำลาย และสร้างใหม่ ทุกความท้าทายที่คุณเผชิญคือโอกาสในการเรียนรู้และเติบโต

ขอขอบคุณสำหรับการเข้าร่วมหลักสูตรนี้และเข้าร่วมโลกแห่งการพัฒนาบล็อคเชนอันน่าตื่นเต้น การปฏิวัติบล็อกเชนเพิ่งเริ่มต้น และนักพัฒนาเช่นคุณอยู่ในแถวหน้า ดังนั้นจงเรียนรู้ต่อไป สร้างต่อไป และที่สำคัญที่สุด ขอให้สนุก!

ขอให้มีความสุขในการเขียนโค้ด!

Pernyataan Formal
* Investasi Kripto melibatkan risiko besar. Lanjutkan dengan hati-hati. Kursus ini tidak dimaksudkan sebagai nasihat investasi.
* Kursus ini dibuat oleh penulis yang telah bergabung dengan Gate Learn. Setiap opini yang dibagikan oleh penulis tidak mewakili Gate Learn.