Initial push
This commit is contained in:
19
hubzilla/addon/cry01/contracts/attestation-v1.json
Normal file
19
hubzilla/addon/cry01/contracts/attestation-v1.json
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"_meta": {
|
||||||
|
"contract": "cry01-g1-attestation",
|
||||||
|
"version": "1.0",
|
||||||
|
"purpose": "Duniter-compatible attestation document for SASE-to-Ğ1 web of trust certification."
|
||||||
|
},
|
||||||
|
"_header": {
|
||||||
|
"operator_g1_pubkey": "The operator's Ğ1 public key — the certifier.",
|
||||||
|
"participant_g1_pubkey": "The participant's Ğ1 public key — the certifiee.",
|
||||||
|
"participant_xchan": "The participant's Hubzilla xchan hash — links to SASE record.",
|
||||||
|
"association_slug": "The association whose SASE membership is the basis of certification.",
|
||||||
|
"attested_at": "ISO 8601 timestamp of attestation document generation.",
|
||||||
|
"sase_admitted_at": "ISO 8601 timestamp of SASE admission — from pgrp_member record."
|
||||||
|
},
|
||||||
|
"_payload": {
|
||||||
|
"attestation_statement": "This participant has been verified as a current resident member of the named association through the SASE process, which requires real-name, real-address verification by the association channel operator.",
|
||||||
|
"duniter_cert_document": "The raw Duniter certification document, generated by cry01_chain.php in the Duniter document format, ready for operator signature and broadcast."
|
||||||
|
}
|
||||||
|
}
|
||||||
20
hubzilla/addon/cry01/contracts/ots-v1.json
Normal file
20
hubzilla/addon/cry01/contracts/ots-v1.json
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"_meta": {
|
||||||
|
"contract": "cry01-ots",
|
||||||
|
"version": "1.0",
|
||||||
|
"purpose": "OpenTimestamps proof envelope anchoring a diagnostic result to the Bitcoin blockchain."
|
||||||
|
},
|
||||||
|
"_header": {
|
||||||
|
"document_hash": "SHA-256 hash of the document being timestamped.",
|
||||||
|
"hash_algorithm": "sha256",
|
||||||
|
"timestamped_at": "ISO 8601 timestamp of OTS submission to calendar server.",
|
||||||
|
"calendar_url": "The OTS calendar server used.",
|
||||||
|
"addon": "The addon that generated this document (cry01, poll01, etc.)",
|
||||||
|
"association_slug": "The association this document pertains to."
|
||||||
|
},
|
||||||
|
"_payload": {
|
||||||
|
"ots_proof_base64": "Base64-encoded .ots proof file. Verifiable offline with the ots tool.",
|
||||||
|
"bitcoin_block": "Bitcoin block number in which the timestamp was confirmed. Null until confirmed.",
|
||||||
|
"confirmed_at": "ISO 8601 timestamp of Bitcoin confirmation. Null until confirmed."
|
||||||
|
}
|
||||||
|
}
|
||||||
26
hubzilla/addon/cry01/contracts/signal-v1.json
Normal file
26
hubzilla/addon/cry01/contracts/signal-v1.json
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"_meta": {
|
||||||
|
"contract": "cry01-signal",
|
||||||
|
"version": "1.0",
|
||||||
|
"purpose": "Capacity signal registration by a verified SASE participant."
|
||||||
|
},
|
||||||
|
"_header": {
|
||||||
|
"addon": "cry01",
|
||||||
|
"association_slug": "The association this signal is registered against.",
|
||||||
|
"participant_xchan": "The xchan hash of the signaling participant.",
|
||||||
|
"submitted_at": "ISO 8601 timestamp.",
|
||||||
|
"node_token_hash": "SHA-256 of the node token — not the token itself."
|
||||||
|
},
|
||||||
|
"_payload": {
|
||||||
|
"g1_pubkey": "The participant's Ğ1 public key. Required — this is the payment address.",
|
||||||
|
"capacity_description": "Plain-language description of what is being offered or sought.",
|
||||||
|
"g1_denomination": "The amount in Ğ1 the participant considers fair exchange.",
|
||||||
|
"duration_days": "How many days this capacity is available from submission date.",
|
||||||
|
"category_id": "One of the operator-defined signal_categories ids from config.json.",
|
||||||
|
"direction": "offer or seek — whether the participant is providing or requesting this capacity."
|
||||||
|
},
|
||||||
|
"_credentials": {
|
||||||
|
"vc": "W3C Verifiable Credential issued for this signal. See CRY01-SPEC.md contracts/vc-v1.json.",
|
||||||
|
"ots": "OpenTimestamps proof anchoring this signal to Bitcoin. See CRY01-SPEC.md contracts/ots-v1.json."
|
||||||
|
}
|
||||||
|
}
|
||||||
26
hubzilla/addon/cry01/contracts/vc-v1.json
Normal file
26
hubzilla/addon/cry01/contracts/vc-v1.json
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"_meta": {
|
||||||
|
"contract": "cry01-vc",
|
||||||
|
"version": "1.0",
|
||||||
|
"purpose": "W3C Verifiable Credential envelope for Civic Infrastructure diagnostic results."
|
||||||
|
},
|
||||||
|
"_note": "The actual VC is a JSON-LD document signed by the operator. The credentialSubject.claim field contains the claim specific to the issuing addon.",
|
||||||
|
"vc_structure": {
|
||||||
|
"@context": ["https://www.w3.org/2018/credentials/v1"],
|
||||||
|
"type": ["VerifiableCredential"],
|
||||||
|
"issuer": "did:web:directory.diagnostics.kane-il.us",
|
||||||
|
"issuanceDate": "ISO 8601 timestamp",
|
||||||
|
"credentialSubject": {
|
||||||
|
"id": "did:web:directory.diagnostics.kane-il.us/channel/{xchan}",
|
||||||
|
"association": "association slug",
|
||||||
|
"claim_type": "signal | ballot | poll_result | sase_admission",
|
||||||
|
"claim": "addon-specific structured claim — see issuing addon spec"
|
||||||
|
},
|
||||||
|
"proof": {
|
||||||
|
"type": "Ed25519Signature2020",
|
||||||
|
"created": "ISO 8601 timestamp",
|
||||||
|
"verificationMethod": "did:web:directory.diagnostics.kane-il.us#operator-key",
|
||||||
|
"proofValue": "base58-encoded signature"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user