ขอแนะนำ Scribble โดย ConsenSys Diligence

บล็อก 1NewsDevelopersEnterpriseBlockchain ExplainedEvents and ConferencesPressจดหมายข่าว

สมัครรับจดหมายข่าวของเรา.

ที่อยู่อีเมล

เราเคารพความเป็นส่วนตัวของคุณ

หน้าแรก

ขอแนะนำ Scribble โดย ConsenSys Diligence

by ConsenSys ธันวาคม 8, 2020 โพสต์เมื่อธันวาคม 8, 2020

เขียนลวก ๆ

การตรวจสอบให้แน่ใจว่าสัญญาอัจฉริยะปลอดภัยและปราศจากข้อผิดพลาดไม่เคยมีความสำคัญมากไปกว่านี้ น่าเสียดายที่มันยังคงเป็นงานที่ยาก แม้ว่าจะมีเครื่องมือที่เป็นประโยชน์สำหรับการทดสอบอัตโนมัติและการตรวจสอบอย่างเป็นทางการ แต่การตรวจสอบความถูกต้องของสัญญาอัจฉริยะยังคงเป็นงานที่ต้องใช้เวลามากและท้าทาย เพื่อให้สิ่งต่างๆแย่ลงเครื่องมือแต่ละชิ้นมักมีช่วงการเรียนรู้ที่สูงชันและมักไม่แน่ใจว่าจะเหมาะกับงานหรือไม่.

นั่นคือเหตุผลที่เราได้พัฒนา Scribble: ภาษายืนยันและเครื่องมือตรวจสอบรันไทม์ แม้ว่าในตอนแรกจะสร้างขึ้นสำหรับการทดสอบคุณสมบัติอัตโนมัติในระหว่างการตรวจสอบเราได้ตัดสินใจที่จะแชร์โครงการนี้กับชุมชน!

Scribble คืออะไร?

เมื่อเรากำลังพูดถึง Scribble เรากำลังพูดถึงสองสิ่ง.

ประการแรก Scribble เป็นภาษาข้อกำหนดสำหรับการเขียนคุณสมบัติ.

ประการที่สอง Scribble เป็นเครื่องมือตรวจสอบรันไทม์โดยใช้ภาษาข้อกำหนดของ Scribble.

หมายเหตุ: Scribble ไม่ได้ทำการยืนยันใด ๆ ด้วยตัวเอง มัน ทำ เปิดใช้งานเครื่องมืออื่น ๆ เพื่อทดสอบและตรวจสอบคุณสมบัติ.

Scribble เป็นภาษาหนึ่ง

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

หมายเหตุ: คุณสมบัติคือคำสั่งเชิงตรรกะที่คุณคาดว่าจะเป็นจริงเช่น “ รถทุกคันเป็นสีแดง” ในความเป็นของแข็งคุณมักจะมีคุณสมบัติเช่น “มีเพียงเจ้าของเท่านั้นที่สามารถเปลี่ยนแปลง X ได้” หรือ“ ฟังก์ชัน sendToken () ไม่ควรเปลี่ยนยอดเงินอีเธอร์ของสัญญานี้”.

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

นี่คือตัวอย่างของคำอธิบายประกอบ Scribble:

สกรีนช็อต 2020 12 08 เวลา 12 06 15 น

ดังที่คุณเห็นคำอธิบายประกอบอยู่ในรูปแบบของความคิดเห็นแบบอินไลน์ที่วางไว้เหนือคำจำกัดความของฟังก์ชัน เราได้เพิ่มสิ่งที่เรียกว่า if_succeeds clause ซึ่งจะตรวจสอบว่าเงื่อนไขมีอยู่หลังจากเรียกใช้ฟังก์ชันหรือไม่ ในกรณีนี้เราตรวจสอบว่าผลลัพธ์ของฟังก์ชันไม่เป็นศูนย์เสมอ.

อ่านเอกสาร Scribble

เราใช้ภาษา Scribble ตามแนวคิดที่ได้รับการพิสูจน์แล้วเช่นโพสต์เงื่อนไขค่าคงที่และตรรกะทางโลก แต่เรายังดูว่าเราสามารถนำเสนอแนวคิดใหม่ ๆ เพื่อให้เหมาะกับปัญหาเฉพาะโดเมนของสัญญาอัจฉริยะได้อย่างไร.

Scribble เป็นเครื่องมือ

Scribble สามารถใช้สัญญาที่มีคำอธิบายประกอบคุณสมบัติและรวบรวมเป็นสัญญาใหม่ ในสัญญาฉบับใหม่นี้ Scribble จะเพิ่มรหัส Solidity ที่ทำให้เกิดการยืนยันทุกครั้งที่มีการละเมิดทรัพย์สิน เราเรียกสิ่งนี้ว่าเครื่องมือวัดกระบวนการ.

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

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

คุณสามารถเริ่มทดสอบและวิเคราะห์สัญญาได้อย่างรวดเร็วและยังตัดสินใจในภายหลังว่าจะใช้ความพยายามเพิ่มเติมในการตรวจสอบสัญญาอัจฉริยะอย่างสมบูรณ์!

เป้าหมาย

การตรวจสอบ

เรากำลังใช้ Scribble ในระหว่างการตรวจสอบเพื่อกำหนดคุณสมบัติ เราจะทดสอบและค้นหาการละเมิดคุณสมบัติเหล่านี้โดยใช้เทคนิคการวิเคราะห์อัตโนมัติเช่นการฟัซซ์และสัญลักษณ์.

ติดต่อเราเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการทดสอบเชิงลบและการทดสอบตามคุณสมบัติในระหว่างการตรวจสอบ

มาตรฐาน

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

การรับเป็นบุตรบุญธรรม

ด้วย Scribble เราหวังว่าจะลดอุปสรรคหรือรายการสำหรับการทดสอบอัตโนมัติและการตรวจสอบอย่างเป็นทางการ นอกจากนี้เรายังต้องการลดเวลาในการลงทุนเพื่อพัฒนาสัญญาอัจฉริยะที่ถูกต้องและปลอดภัยส่งผลให้ระบบนิเวศปลอดภัยยิ่งขึ้น.

ได้ที่ไหน?

เรามี Scribble แบบโอเพนซอร์สทั้งหมดและมีวางจำหน่ายแล้วที่ github.com/consensys/scribble.

หมายเหตุ: นี่เป็นรุ่นเบต้าลักษณะของภาษาจะเปลี่ยนไปและคุณอาจพบข้อบกพร่องบางอย่าง.

คุณสามารถติดตั้ง Scribble ได้อย่างง่ายดายด้วย npm:

สกรีนช็อต 2020 12 08 เวลา 12 06 35 น ติดตั้ง Scribble

จดหมายข่าวสมัครรับจดหมายข่าวของเราเพื่อรับข่าวสารล่าสุดของ Ethereum โซลูชันระดับองค์กรทรัพยากรสำหรับนักพัฒนาและอื่น ๆ ที่อยู่อีเมลเนื้อหาพิเศษรายงาน DeFi ประจำไตรมาสที่ 3 ปี 2020 ของ Ethereumรายงาน

รายงาน DeFi ประจำไตรมาสที่ 3 ปี 2020 ของ Ethereum

รายงาน DeFi ประจำไตรมาส 2 ปี 2020 ของ Ethereumรายงาน

รายงาน DeFi ประจำไตรมาส 2 ปี 2020 ของ Ethereum

รายงาน Ethereum 2 0 Staking Ecosystemรายงาน

รายงาน Ethereum 2.0 Staking Ecosystem

คู่มือฉบับสมบูรณ์สำหรับเครือข่ายธุรกิจ Blockchainคู่มือ

คู่มือฉบับสมบูรณ์สำหรับเครือข่ายธุรกิจ Blockchain

วิธีสร้างผลิตภัณฑ์ Blockchain ที่ประสบความสำเร็จการสัมมนาผ่านเว็บ

วิธีสร้างผลิตภัณฑ์ Blockchain ที่ประสบความสำเร็จ

ธนาคารกลางและอนาคตของเงินกระดาษสีขาว

ธนาคารกลางและอนาคตของเงิน

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map