DXABlockchain
Nhà phát triển

Tích hợp DXA Blockchain (L3)

Trung tâm chứng thực có kiểm soát chữ ký trên Base Sepolia. Neo bằng chứng chống giả mạo, kiểm chứng và thu hồi — cho Trustway, ứng dụng của bạn, hoặc đối tác.

Hợp đồng on-chain (Base Sepolia)

DXAGovernanceSigners
0xBAE41b8711A7C19355Ad217231c439119137D215 ↗

Cấp quyền khóa ký theo payloadType.

DXAAttestationRegistry
0x133BCb88E038595994ab1Ee0c498A90e454882B8 ↗

verifyAndAnchor · getRecord · revokeAttestation.

REST API

POST/api/anchor

Băm dataFields, ký (EIP-191) và neo qua registry.

{ "scenario": "academic_credential", "payloadId": "XAI-2024-0001", "dataFields": { "f0": "Nguyễn Văn An", "f4": "Giỏi" } }
POST/api/verify

Băm lại và tra sổ cái: tồn tại + trạng thái + toàn vẹn.

{ "dataFields": { "f0": "Nguyễn Văn An", "f4": "Giỏi" }, "sealCode": "0x…" }
POST/api/revoke

Thu hồi một chứng thực (chỉ issuer gốc).

{ "sealCode": "0x…bytes32" }
POST/api/trustway

Cổng Trustway: payload AI → securePayload → hash → ký → neo.

{ "score": 785, "payloadId": "DOC-1", "anchor": true }

Mô hình xác thực (3 lớp)

  1. Lớp API: API key / JWT (DXA Developer + Identity) — nhận diện, rate-limit, đo dùng.
  2. Lớp ký số: khóa issuer ký EIP-191 trên keccak256(dataHash, payloadType, nonce).
  3. Cổng on-chain: governance cấp quyền signer theo payloadType — gốc tin cậy bất biến.

API key chỉ để vào cổng; giả mạo bản ghi vẫn cần chữ ký được governance cấp quyền. Ràng payloadType + nonce chặn dán nhãn sai loại và replay.

Tự ký (self-custody — Node / ethers v6)

import { Wallet, AbiCoder, keccak256, getBytes, Signature } from "ethers";

const wallet  = new Wallet(ISSUER_PRIVATE_KEY);          // khóa của bạn
const digest  = keccak256(AbiCoder.defaultAbiCoder()
  .encode(["bytes32","string","uint256"], [dataHash, payloadType, nonce]));
const sig     = Signature.from(await wallet.signMessage(getBytes(digest)));
// → gửi { dataHash, payloadType, nonce, v: sig.v, r: sig.r, s: sig.s }
//    tới registry.verifyAndAnchor(...) (relayer trả gas)
Lưu ý Sandbox: Mạng thử Base Sepolia; trong bản demo relayer đồng thời là signer được cấp quyền. Không neo dữ liệu thật hoặc nhạy cảm.