วิธีอ่านสมาร์ทคอนแทรคบน Etherscan

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

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

วิธีอ่านสมาร์ทคอนแทรค

ในคู่มือนี้ เราจะยกตัวอย่างสัญญาของโปรเจ็กต์ NFT ยอดนิยมอย่าง Doodles และวิธีอ่านสมาร์ทคอนแทรคหล่านี้บน Etherscan เราสามารถหาสมาร์ทคแทรคของโปรเจ็กต์นี้ได้โดยเข้าไปที่ Opensea หา NFT ชิ้นใดชิ้นหนึ่งของโปรเจ็กต์นี้และค้นหาสัญญาของมันได้

วิธีค้นหาสัญญาของโปรเจ็กต์

https://blog.chain.link/wp-content/uploads/2022/07/unnamed-2.webp

เมื่อเข้าไปภายในโปรเจ็กต์ NFT บน OpenSea ให้เข้าไปที่ NFT ชิ้นใดชิ้นหนึ่ง จากนั้น ใต้ “Details” คุณจะพบลิงก์ไปยังที่อยู่ของสัญญา (contract address) ลิงก์นี้จะนำคุณไปยัง Etherscan ซึ่งเป็นโปรแกรม blockchain explorer ซึ่งคุณสามารถดูข้อมูลเกี่ยวกับเครือข่ายบล็อตเชน Ethereum

การตรวจสอบสัญญาที่ได้รับการยืนยัน (Verified Contracts)

เมื่อคุณทราบที่อยู่ของสัญญาแล้ว คุณจะสามารถดูข้อมูลต่างๆ ใน Etherscan ได้ ที่อยู่สัญญาสำหรับสัญญา Doodles คือ 0x8a90CAb2b38dba80c64b7734e58Ee1dB38B8992e หากรหัสสัญญาไม่ได้รับการยืนยัน คุณก็จะดูอะไรไม่ได้มากใน Etherscan แม้ว่าไบต์โค้ดสำหรับสัญญาจะพร้อมใช้งานและคุณสามารถถอดรหัสได้ ซึ่งอยู่นอกเหนือขอบเขตของบทช่วยสอนนี้ หากคุณไม่เห็นเครื่องหมายถูกสีเขียวข้าง “Contract” แสดงว่ารหัสนั้นยังไม่ได้รับการยืนยัน

การอ่านสัญญาที่ได้รับการยืนยันแล้ว

หากสัญญาได้รับการยืนยัน คุณจะสามารถดูโค้ดในรูปแบบที่มนุษย์อ่านได้ เมื่อคุณคลิกที่แท็บ “Contract” มันจะพาคุณไปที่โค้ดของสัญญา

คุณอาจเห็นไฟล์ขนาดใหญ่หนึ่งไฟล์ซึ่งเป็นการรวมสัญญาทั้งหมดของสมาร์ทคอนแทรคหรือเป็นไฟล์หลายไฟล์แยกกัน ซึ่งขึ้นอยู่กับวิธีการตรวจสอบที่ผู้เขียนสัญญาใช้ ในกรณีของ Doodles จะเป็นไฟล์แยกกัน คุณจะเห็นสัญญาหลายฉบับที่นี่ เนื่องจากสมาร์ทคอนแทรคฉบับเดียวมักนำเข้าสัญญาอื่นๆ ที่ตรวจสอบแล้วมาใช้ซ้ำได้ เช่น OpenZeppelin ERC-721 และสัญญาที่เป็นเจ้าของได้ (Ownable contracts) ที่เราพบในโปรเจ็กต์ Doodles

ณ จุดนี้ คุณสามารถอ่านโค้ดทั้งหมดที่ขับเคลื่อนโปรเจ็กต์ Doodles NFT เพื่อให้แน่ใจว่าจะทำงานตามที่คาดไว้

การโต้ตอบกับสัญญา

คุณสามารถโต้ตอบกับสัญญาผ่าน Etherscan ได้เช่นกันหากสัญญาได้รับการยืนยันแล้ว ในแท็บ “Read Contract” และ “Write Contract” คุณจะสามารถดูฟังก์ชันของสมาร์ทคอนแทรคได้ ทุกคนสามารถเข้าถึงฟังก์ชันการอ่านและสามารถดำเนินการได้ฟรี ส่วนฟังก์ชันการเขียนจะเปลี่ยนบล็อกเชน ซึ่งต้องใช้ก๊าซ และอาจมาพร้อมกับข้อกำหนดอื่นๆ เช่น ความเป็นเจ้าของ

ทำไมการอ่านสมาร์ทคอนแทรคจึงสำคัญ

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

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

เรียนรู้เพิ่มเติมได้ที่

ตรวจสอบศูนย์การศึกษา (education hub) เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับสมาร์ทคอนแทรค ศูนย์กลางการศึกษามีทรัพยากรมากมายเกี่ยวกับสมาร์ทคอนแทรครวมถึงเนื้อหาในหัวข้อบล็อกเชนอื่นๆ ที่หลากหลาย

หากต้องการเรียนรู้เพิ่มเติม โปรดไปที่ chain.link สมัครรับจดหมายข่าว Chainlink และติดตาม Chainlink บน Twitter, YouTube, และ Reddit.

--

--