1. การดีบัก:
การดีบักใน Remix IDE:
ข้อความธรรมดา
- ไปที่แท็บดีบักเกอร์ใน Remix
- เลือกธุรกรรมที่คุณต้องการแก้ไขจากรายการ
- ใช้ปุ่มควบคุมเพื่อก้าวผ่านการทำธุรกรรม
ความแข็งแกร่ง
// ตัวอย่างที่
นำเข้า "hardhat/console.sol";
ฟังก์ชั่น debugExample() สาธารณะ {
uint256 x = 7;
console.log("Value of x is:", x);
}
2. การเพิ่มประสิทธิภาพ:
ข้อความธรรมดา
- ใช้ประเภทข้อมูลที่เหมาะสม เช่น ใช้ uint8 แทน uint256 ถ้าเป็นไปได้
- หลีกเลี่ยงการเขียนพื้นที่จัดเก็บโดยไม่จำเป็น เนื่องจากเป็นการดำเนินการที่มีราคาแพงที่สุดในแง่ของก๊าซ
- ใช้ไลบรารีและสัญญาภายนอกเพื่อแบ่งปันรหัสและลดต้นทุนการใช้งาน
ข้อความธรรมดา
- ลบโค้ดและความคิดเห็นที่ไม่จำเป็นออก
- ใช้ไลบรารีและสัญญาภายนอกเพื่อแชร์รหัส
Solidity
// ตัวอย่างการใช้ไลบรารี
ไลบรารี SafeMath {
ฟังก์ชั่น add(uint256 a, uint256 b) ผลตอบแทนบริสุทธิ์ภายใน (uint256) {
uint256 c = a + b;
require(c >= a, "Addition overflow");
return c;
}
}
สัญญา SyntheticAsset {
using SafeMath for uint256;
// rest of the contract
}
3. การปรับปรุงความปลอดภัย:
Solidity
// ตัวอย่างที่
ตัวแก้ไข onlyOwner() {
require(msg.sender == owner, "Not the contract owner");
_;
}
Solidity
// ตัวอย่างที่
ฟังก์ชันการถอน (จำนวน uint256) สาธารณะ {
require(amount <= balances[msg.sender], "Insufficient balance");
balances[msg.sender] -= amount;
}
ด้วยการทุ่มเทเวลาในการแก้ไขจุดบกพร่องและเพิ่มประสิทธิภาพสัญญาของคุณ คุณจึงมั่นใจได้ว่าสัญญาเหล่านี้ไม่เพียงแต่ทำงานได้อย่างถูกต้อง แต่ยังมีประสิทธิภาพอีกด้วย ปูทางไปสู่ประสบการณ์ผู้ใช้ที่ราบรื่นยิ่งขึ้นและค่าธรรมเนียมการทำธุรกรรมที่น้อยลง
ในบทเรียนถัดไป เราจะสำรวจตัวอย่างการใช้งานสินทรัพย์สังเคราะห์ในโลกแห่งความเป็นจริง ซึ่งจะให้มุมมองเชิงปฏิบัติสำหรับความรู้ทางทฤษฎีและทางเทคนิคที่ได้รับมาจนถึงปัจจุบัน คอยติดตาม!
1. การดีบัก:
การดีบักใน Remix IDE:
ข้อความธรรมดา
- ไปที่แท็บดีบักเกอร์ใน Remix
- เลือกธุรกรรมที่คุณต้องการแก้ไขจากรายการ
- ใช้ปุ่มควบคุมเพื่อก้าวผ่านการทำธุรกรรม
ความแข็งแกร่ง
// ตัวอย่างที่
นำเข้า "hardhat/console.sol";
ฟังก์ชั่น debugExample() สาธารณะ {
uint256 x = 7;
console.log("Value of x is:", x);
}
2. การเพิ่มประสิทธิภาพ:
ข้อความธรรมดา
- ใช้ประเภทข้อมูลที่เหมาะสม เช่น ใช้ uint8 แทน uint256 ถ้าเป็นไปได้
- หลีกเลี่ยงการเขียนพื้นที่จัดเก็บโดยไม่จำเป็น เนื่องจากเป็นการดำเนินการที่มีราคาแพงที่สุดในแง่ของก๊าซ
- ใช้ไลบรารีและสัญญาภายนอกเพื่อแบ่งปันรหัสและลดต้นทุนการใช้งาน
ข้อความธรรมดา
- ลบโค้ดและความคิดเห็นที่ไม่จำเป็นออก
- ใช้ไลบรารีและสัญญาภายนอกเพื่อแชร์รหัส
Solidity
// ตัวอย่างการใช้ไลบรารี
ไลบรารี SafeMath {
ฟังก์ชั่น add(uint256 a, uint256 b) ผลตอบแทนบริสุทธิ์ภายใน (uint256) {
uint256 c = a + b;
require(c >= a, "Addition overflow");
return c;
}
}
สัญญา SyntheticAsset {
using SafeMath for uint256;
// rest of the contract
}
3. การปรับปรุงความปลอดภัย:
Solidity
// ตัวอย่างที่
ตัวแก้ไข onlyOwner() {
require(msg.sender == owner, "Not the contract owner");
_;
}
Solidity
// ตัวอย่างที่
ฟังก์ชันการถอน (จำนวน uint256) สาธารณะ {
require(amount <= balances[msg.sender], "Insufficient balance");
balances[msg.sender] -= amount;
}
ด้วยการทุ่มเทเวลาในการแก้ไขจุดบกพร่องและเพิ่มประสิทธิภาพสัญญาของคุณ คุณจึงมั่นใจได้ว่าสัญญาเหล่านี้ไม่เพียงแต่ทำงานได้อย่างถูกต้อง แต่ยังมีประสิทธิภาพอีกด้วย ปูทางไปสู่ประสบการณ์ผู้ใช้ที่ราบรื่นยิ่งขึ้นและค่าธรรมเนียมการทำธุรกรรมที่น้อยลง
ในบทเรียนถัดไป เราจะสำรวจตัวอย่างการใช้งานสินทรัพย์สังเคราะห์ในโลกแห่งความเป็นจริง ซึ่งจะให้มุมมองเชิงปฏิบัติสำหรับความรู้ทางทฤษฎีและทางเทคนิคที่ได้รับมาจนถึงปัจจุบัน คอยติดตาม!