การออกแบบ HTTP API
อินเทอร์เฟซ HTTP กำหนดไว้ใน specs/openapi.draft.json เป็นสัญญาโปรโตคอล ไม่ใช่ปลายทางที่ให้บริการจริง อินเทอร์เฟซที่เปิดใช้แล้วระบุในสถานะการพัฒนา
| Operation ที่เสนอ | จุดประสงค์ |
|---|---|
POST /v0/evaluations |
ส่งงานประเมินหลักฐานที่รองรับ |
POST /v0/verifications |
ตรวจรายงานและบริบทคาดหวังที่ส่งมา |
GET /v0/jobs/{jobId} |
อ่านงานอะซิงโครนัส |
GET /health |
สุขภาพการทำงาน ไม่ใช่ความถูกต้องของหลักฐาน |
หลักการคำขอ
ต้องมีโปรไฟล์/เวอร์ชัน operation ID บริบทคาดหวังชัด และแหล่งหลักฐานที่มีขอบเขต ห้ามรันโค้ดหรือนโยบายตามอำเภอใจที่ผู้ใช้ส่ง ค่าการเงินใช้สตริงจำนวนเต็มพร้อมเครือข่ายและตัวตนสินทรัพย์แน่นอน URL เป็นอินพุตไม่เชื่อถือภายใต้นโยบายดึงข้อมูล
คีย์ idempotency ผูกผู้เรียกและไดเจสต์คำขอ การใช้คีย์เดิมกับอินพุตต่างกันล้มเหลว แต่ละปลายทางที่เปิดใช้ระบุข้อกำหนดการยืนยันตัวตน การชำระเงิน และสิทธิ์
การตอบกลับ
สถานะการประมวลผล ความถูกต้องของอาร์ติแฟกต์ การประเมิน และการยอมรับในเครื่องแยกเป็นคนละฟิลด์ การประเมินเสร็จด้วย FAIL ไม่ใช่ข้อผิดพลาดเซิร์ฟเวอร์ หลักฐานที่ขาดให้ผล INDETERMINATE รหัสข้อผิดพลาดแบบมีโครงสร้างมีคำอธิบายและข้อกำหนดที่เครื่องอ่านได้
ให้เวลาประทับอะซิงโครนัสและการเลือกจากแหล่งอนาคตเป็นงาน ไม่มี endpoint แบบ synchronous ใดควรสัญญาหลักฐาน Bitcoin ที่ยืนยันแล้วก่อนมีหลักฐานจริง
ข้อจำกัด OpenAPI
สคีมาร่างอธิบายโครงสร้างอินเทอร์เฟซ ไม่ใช่ความถูกต้องทางคริปโทกราฟี ไม่รับรอง finality อัลกอริทึมลายเซ็น การคืนเงิน หรืออำนาจระบบจริง แค็ตตาล็อกข้อผิดพลาดและโปรไฟล์ลงนาม/canonicalization ต้องมีทดสอบก่อนประกาศความเข้ากันได้
<!-- p21-source-payment-v08 -->
หลักฐานชำระเงินและบัญชีที่บันทึกครั้งเดียว
ใบแจ้งชำระผูกผู้เรียก แฮชคำขอ คีย์ idempotency เครือข่ายและสินทรัพย์ที่แน่นอน ผู้รับของร้านค้า จำนวนเต็มหน่วยย่อย สิทธิ์เครดิตบริการ เวลาหมดอายุ และนโยบายชำระบัญชี ตัวเชื่อมต่อตรวจเหตุการณ์โอนที่ดำเนินการจริง รวมปลายทาง จำนวน ตัวตนการสร้างโทเคน บล็อกเชนหลัก จำนวนยืนยัน ขอบเขตดัชนี และเวอร์ชันกฎ ID ธุรกรรม การเห็นใน mempool การสร้าง inscription หรือภาพยอดกระเป๋าไม่ใช่การชำระบัญชี
ใช้เครือข่าย การสร้างสินทรัพย์ ธุรกรรม และตัวตนการดำเนินการหรือ inscription เป็นคีย์เหตุการณ์ไม่ซ้ำ ผูกเจ้าของใบแจ้งชำระกับผู้เรียกตามสัญญา ไม่รับเพียงแฮชธุรกรรมใดก็ได้ การเพิ่มเครดิต การจองงาน การใช้และคืนเครดิตต้องใช้ธุรกรรมบัญชีแบบอะตอมและข้อบังคับคีย์ไม่ซ้ำ การลองใหม่หรือ webhook ซ้ำต้องไม่เพิ่มเครดิตหรือเรียกเก็บซ้ำ หลักฐานไม่ครบ ดัชนีล่าช้าหรือขัดกัน และเชนจัดระเบียบใหม่ต้องรอหรือทบทวน กำหนดบัญชีชดเชยและนโยบายรับความเสียหายของผู้ดำเนินการสำหรับการจัดระเบียบใหม่ลึก ห้ามแอบหักเงินลูกค้ารายอื่น
การเปิดใช้งานเชิงพาณิชย์และสถานะการพัฒนา
NAT และ USDC ต้องผ่านการยอมรับสำหรับการเปิดบริการเชิงพาณิชย์ครั้งแรกทั้งคู่ เอกสารสาธารณะ โค้ด และชุดทดสอบนโยบายไม่ใช่จุดรับเงินจริง ทรัพยากรนโยบายแบบคงที่ระบุวิธีที่ต้องมีด้วย enabled: false ไม่มีผู้รับหรือ endpoint จริง จนผ่านการทดสอบชำระบัญชี บัญชี ความล้มเหลวและการจัดระเบียบเชนใหม่ ความปลอดภัย และการอนุมัติ ห้ามเรียกรุ่นที่รองรับเฉพาะ USDC ว่าครบขอบเขตชำระเงินเริ่มต้น
รุ่นนี้ไม่ออกโทเคน ไม่ประกาศองค์ประกอบต้นทาง ไม่สร้าง inscription mainnet ไม่เรียกเก็บลูกค้า ไม่แลกเงินคลัง และไม่อนุญาตกระเป๋า สถานะบริการจริงแยกจากการเผยแพร่เว็บไซต์ ไม่ได้สื่อถึงพันธมิตร Trac, SLA โฮสต์ หรือการตรวจความปลอดภัยการเข้ารหัสโดยอิสระ
[1] https://digital-matter-theory.gitbook.io/digital-matter-theory/introduction/digital-elements/.element-registry
[2] https://github.com/Trac-Systems/ord-tap/blob/b8f6ea35cf6b9d405d4db7c58555e3c8ab33e8cd/src/index/updater/inscription_updater/tap/ops/dmt_element.rs
[3] https://digital-matter-theory.gitbook.io/digital-matter-theory/introduction/nat-use-cases/usdnat-method-1-live
[4] https://digital-matter-theory.gitbook.io/digital-matter-theory/introduction/non-arbitrary-tokens-nats/nat-token-transfer
[5] https://docs.x402.org/core-concepts/network-and-token-support
[6] https://github.com/Trac-Systems/ord-tap/blob/b8f6ea35cf6b9d405d4db7c58555e3c8ab33e8cd/README.md
[7] https://arxiv.org/abs/1605.04559
<!-- p21-enforcement-v10 -->
Authorization schemas ไม่ใช่ live endpoints
Repository เผยแพร่ draft JSON Schemas สำหรับ p21.authorization.v1, p21.consumer-decision.v1 และ p21.equivocation-evidence.v1 เพื่อ interoperability และ conformance tests OpenAPI ปัจจุบันไม่ได้เปิด production authorization/signing/decision/dispute routes และ client ห้ามอนุมาน authority จากการมี schema