i2p lexicon draft
i2p-lexicon edited
52 lines 1.6 kB view raw
1{ 2 "lexicon": 1, 3 "id": "org.i2p.atproto.endpoint", 4 "defs": { 5 "main": { 6 "type": "record", 7 "description": "A record mapping an ATProto DID to an I2P destination address for service discovery.", 8 "key": "literal", 9 "record": { 10 "type": "object", 11 "required": ["did", "i2pAddress", "serviceType"], 12 "properties": { 13 "did": { 14 "type": "string", 15 "format": "did", 16 "description": "The ATProto DID (Decentralized Identifier) associated with this endpoint." 17 }, 18 "i2pAddress": { 19 "type": "string", 20 "maxLength": 1024, 21 "description": "The I2P destination. Must be a Base64 destination key." 22 }, 23 "addressType": { 24 "type": "string", 25 "knownValues": [ 26 "i2p_destination_base64" 27 ], 28 "description": "Specifies the format of the i2pAddress to assist client parsing." 29 }, 30 "serviceType": { 31 "type": "string", 32 "knownValues": [ 33 "pds", 34 "relay", 35 "appview", 36 "plc" 37 ], 38 "description": "The type of ATProto service running at this I2P address." 39 }, 40 "publicKey": { 41 "type": "string", 42 "description": "Optional. The I2P ElGamal or EdDSA public key if separate from the destination." 43 }, 44 "updatedAt": { 45 "type": "datetime", 46 "description": "Timestamp of the last known verification of this endpoint." 47 } 48 } 49 } 50 } 51 } 52}