เดโมออฟไลน์
ตัวอย่างเพื่อการเรียนรู้ที่รันได้ · v0.1.0 · Node.js 22+ · ใช้หลักฐานสมมติเท่านั้น ไม่ใช่ SDK ของ P21 สำหรับระบบจริงหรือตัวตรวจบล็อกเชนแบบสด
ดาวน์โหลดและรัน
บนเว็บไซต์ที่สร้างแล้ว เปิด /demo/ ดาวน์โหลด proof21-demo.mjs และตรวจดูไฟล์ จากโฟลเดอร์ที่เก็บไฟล์นั้น:
node proof21-demo.mjs
ไม่ต้อง npm install, API key, กระเป๋า การเรียกเครือข่าย หรือการเขียนไฟล์ ใช้ --json เพื่อรับผลแบบมีโครงสร้าง สำเนารีโพซิทอรีที่มีตัวอย่างนี้รัน npm run demo ที่โฟลเดอร์หลักได้โดยไม่ติดตั้งส่วนพึ่งพา
สิ่งที่เดโมต้องการแสดง
ผู้รับตรวจลายเซ็น compact JWS ด้วยกุญแจสาธารณะตัวอย่าง Ed25519 ที่ตรึงไว้ แล้วเปรียบเทียบข้อสังเกตสมมติที่ลงนามกับคำสั่งแยกในเครื่อง ไม่ยอมรับกุญแจหรือนโยบายที่ตัวใบรับรองเลือกให้เอง
| ข้อมูลเข้า | ลายเซ็น | การเปรียบเทียบ | การตัดสินใจของผู้รับ |
|---|---|---|---|
| ตัวอย่างตรงกัน | VALID | PASS | REVIEW |
| ผู้รับผิดคน แต่ลงนามข้อมูลนั้นจริง | VALID | FAIL | REJECT |
| หลักฐานการชำระเงินขาดหาย | VALID | INDETERMINATE | REVIEW |
| แก้เพย์โหลดหลังลงนาม | INVALID | INDETERMINATE | REJECT |
แถวที่สองคือบทเรียนสำคัญ: ลายเซ็นที่ถูกต้องไม่ได้ทำให้การกระทำถูกต้อง แถวแรกยังต้อง REVIEW เพราะหลักฐานสมมติยืนยันการชำระเงินจริงไม่ได้
ขอบเขตที่แน่นอน
โค้ดใช้การตรวจ Ed25519 ในตัวของ Node และกฎอินพุตลงนามแบบ JWS compact ตัวแยกวิเคราะห์ที่จงใจจำกัดรองรับเฉพาะส่วนหัว สคีมา ชนิดแหล่งข้อมูล และการเข้ารหัส JSON compact ที่กำหนดของตัวอย่างนี้ รูปแบบอื่นจะถูกปฏิเสธ ไม่ใช่แปลงโดยประมาณ นี่ไม่ใช่ไลบรารี JOSE ทั่วไป ไม่ใช่การทำ canonical JSON และไม่ใช่รูปแบบรายงาน P21 ฉบับสุดท้าย
หลักฐานและสินทรัพย์ชำระเงินเป็นเรื่องสมมติ ความสดใหม่เปรียบเทียบกับนาฬิกาสาธิตที่กำหนดคงที่ ไม่มีการติดต่อโหนด Bitcoin หรือ EVM เดโมไม่มีการป้องกันรีเพลย์แบบถาวร การค้นหา/เพิกถอนกุญแจ ความยืนยันธุรกรรม การคำนวณ DMT/TAP เอนโทรปี การชำระผ่าน x402/B402 หรือรันไทม์ MCP อนุญาตให้รันตัวอย่างซ้ำได้โดยตั้งใจ
การใช้อย่างปลอดภัย
ตรวจซอร์สที่ดาวน์โหลดก่อนรัน อย่าติดตั้งแพ็กเกจ npm ชื่อคล้ายกันที่ยังไม่ยืนยัน ค่าแฮชข้างไฟล์ช่วยตรวจการเปลี่ยนแปลงโดยบังเอิญ แต่ไม่ได้ยืนยันผู้เผยแพร่อย่างอิสระเมื่อเว็บไซต์ผู้เผยแพร่ถูกโจมตี ตัวติดตั้งสำหรับระบบจริงต้องผ่านการทบทวนและกระบวนการยืนยันรุ่นแยกต่างหาก
ตัวอย่างไม่มี private key สำหรับลงนาม ข้อมูลสมมติถูกลงนามครั้งเดียวระหว่างพัฒนา ผู้รับที่แจกมีเพียง public key และข้อมูลที่ลงนามแล้ว ให้ผลทางคอนโซลโดยไม่ทำอะไรกับกระเป๋า
การทดสอบ
รัน npm run test:demo ในรีโพซิทอรี การทดสอบครอบคลุมตัวอย่างสาธารณะทั้งสี่ ฟิลด์ไม่ตรง อินพุตไม่รองรับ ลายเซ็นผิด การแทนที่กุญแจ การเข้ารหัสเสีย กรณีนาฬิกาคงที่ล้มเหลว และกระบวนการ CLI แยก การผ่านทดสอบไม่ใช่การตรวจสอบคริปโทกราฟีหรือหลักฐานความพร้อมระบบจริง