AV

สัญญาที่ชาญฉลาด: อย่าสร้างวงล้อขึ้นมาใหม่

SafeMathในภาษาโปรแกรมสมัยใหม่ส่วนใหญ่ ความปลอดภัยในการดำเนินการเลขคณิตเป็นปัจจัยที่คำนึงถึง ดังนั้นจึงมีความคิดเพียงเล็กน้อยในการนำไปปฏิบัติ อย่างไรก็ตาม ใน Solidity การโอเวอร์โฟลว์และอันเดอร์โฟลว์ทำให้เกิดความเสี่ยงด้านความปลอดภัย SafeMath เป็นไลบรารีที่รับรองการดำเนินการทางคณิตศาสตร์ที่ปลอดภัยโดยคืนค่าธุรกรรมหากเกินขอบเขตของชนิดข้อมูลจำนวนเต็ม ตัวอย่าง SafeMath คำสั่งที่ใช้บ่งชี้คอมไพเลอร์ว่าสัญญา กำลังใช้ฟังก์ชันที่กำหนดไว้ใน SafeMath สำหรับการดำเนินการ uint แทนที่จะใช้ตัวดำเนินการเลขคณิต (+, -, *, /, %) ให้ใช้ฟังก์ชัน add(), sub(), mul(), div() และ mod() แหล่งที่มา:

Ethereum DApps: วิธีฟังเหตุการณ์

เมื่อใช้อินสแตนซ์ที่เราสร้างขึ้นในขั้นตอนที่ 2 เราสามารถสมัครรับข้อมูลเพื่อฟังเหตุการณ์ใดๆ ที่มันปล่อยออกมาได้ รูปที่ 4: สมัครสมาชิก 'MyEvent' ตามที่ระบุก่อนหน้านี้ เหตุการณ์ที่เราต้องการฟังเรียกว่า MyEvent และรูปที่ 4 แสดงให้เราเห็น อย่างไร. อินสแตนซ์ myContract ของเรามีตัวเข้าถึงที่เรียกว่าเหตุการณ์ ซึ่งเราสามารถกำหนดเป้าหมาย MyEvent นี่คือฟังก์ชันแบบอะซิงโครนัสที่ส่งคืนสัญญา และจะถูกเรียกทุกครั้งที่มีการปล่อย MyEvent บรรทัดที่ 3 กำหนดสิ่งที่จะเกิดขึ้นเมื่อข้อมูลถูกส่งกลับจากสัญญา ที่นี่เราเพียงแค่เข้าสู่ระบบ