Bir ajanı Solidus aracısına bağlayın
Bir DIDComm aracısı tek bir problemi çözer: hiçbir zaman aynı anda çevrimiçi olmayan iki ajanın yine de mesaj alışverişi yapması gerekir. Aracı, çevrimdışı olan bir alıcı için mesajı tutar ve o alıcı yeniden bağlandığında teslim eder. Okuyamadığı zarfları yönlendirir, ama kimin ne zaman bağlandığını görür; ki bu bir aracının görebildikleri ve göremedikleri sayfasının konusudur ve gerçek bir şey yönlendirmeden önce okunmaya değer.
Adım 1, Daveti çekin
Aracının ön kapısı standart bir bant dışı davettir. Önceden kaydolunacak bir şey yok:
curl -s https://relay.solidus.network/invite | jq
Bu bugün, kelimesi kelimesine şunu döndürüyor:
{
"type": "https://didcomm.org/out-of-band/2.0/invitation",
"id": "relay-invite-23c69ca7",
"from": "did:key:z6LSsMkRXWM9YLF3f15cEvBtjWneDrbLjto2S53mDJqy8aT8",
"body": {
"goal_code": "request-mediate",
"goal": "Coordinate mediation with the Solidus relay",
"accept": ["didcomm/v2"]
},
"services": [{
"id": "#relay",
"type": "DIDCommMessaging",
"serviceEndpoint": {
"uri": "https://relay.solidus.network/didcomm",
"accept": ["didcomm/v2"],
"routingKeys": ["did:key:z6LSsMkRXWM9YLF3f15cEvBtjWneDrbLjto2S53mDJqy8aT8"]
}
}]
}
O yanıttaki üç şey entegrasyonun tamamıdır:
serviceEndpoint.uri, ajanınızın DIDComm mesajlarını gönderdiği yer.routingKeys: mesajlarınızın üzerinden yönlendirildiği anahtar. Ajanınız bunu, kendi muhataplarına verdiği DID belgesininroutingKeysalanına koyar, böylece onlar bizim üzerimizden göndermeyi bilir.accept: ["didcomm/v2"], yalnızca v2. Ajan kitaplığınız DIDComm v1 konuşuyorsa birlikte çalışmayacaktır; bkz. DIDComm v2 ve v1.
Davetin id değeri sabittir: oturum başına bir jeton değil, aracının duran ön kapısıdır. Yeniden
çekmek aynısını döndürür.
Fark etmeniz gereken bir şey, çünkü bunu bizden fark etmenizi tercih ederiz
Aracı kendisini bir did:solidus ile değil, bir did:key ile tanıtır. did:key kendi kendine
yeten bir tanımlayıcıdır: açık anahtarın kendisi tanımlayıcıdır, defter yoktur ve çözümlenecek bir şey
yoktur. Bir hizmet uç noktası için gayet sağlam bir seçimdir ve bugün çalışan şey odur. Ayrıca şu
anlama gelir: aracının kendi kimliği zincire demirlenmemiştir, Solidus başka ne demirliyor olursa
olsun. Zincire demirlenmiş yönlendirme çözümlemesi tehdit modeliniz için önem taşıyorsa, bugün onun
hakkında neyin doğru olup neyin olmadığı için
zincire demirlenmiş yönlendirme çözümlemesi sayfasını
okuyun.
Adım 2, Aracılık isteyin
Uç noktaya bir DIDComm v2 şifreli zarfı olarak bir mediate-request (Coordinate Mediation 2.0)
gönderin. Başarı hâlinde aracı, muhataplarınızın kullanması gereken yönlendirme anahtarıyla birlikte
mediate-grant yanıtını verir.
Uç nokta başka bir şey yapmadan önce doğrular: şifrelenmemiş ya da bozuk bir gövde reddedilir:
curl -s -o /dev/null -w '%{http_code}\n' -X POST https://relay.solidus.network/didcomm
# 400
Buradaki bir 400 doğru cevaptır ve işe yarar bir duman testidir: rotanın var olduğunu ve
ayrıştırdığını kanıtlar. Bir 404 yanlış yolda olduğunuz anlamına gelirdi.
Zarfı elde örmek yerine bir DIDComm v2 kitaplığı kullanın; şifreleme, forward sarmalaması ve anahtar
anlaşması tam olarak kendinizin uygulamaması gereken kısımlardır.
Adım 3, Yönlendirme anahtarını yayımlayın
Aracılık verildikten sonra, aracının routingKeys ve serviceEndpoint değerlerini ajanınızın
yayımladığı DID belgesine ekleyin. Size mesaj gönderen herkes artık aracıya gönderir, o da sizin için
kuyruğa alır. Bütün mesele budur: muhataplarınızın artık çevrimiçi olmanıza ihtiyacı yok.
Aracının sizin adınıza kabul edeceği anahtarları eklemek ve iptal etmek anahtar listesi yönetimidir.
Adım 4, Mesajlarınızı alın
Ajanınız çevrimiçi olduğunda bir delivery-request (Pickup Protocol 3.0) gönderir, kuyruktaki mesajları
alır ve aracının onları düşürebilmesi için messages-received ile onaylar. Uzun süre çevrimdışı
kalırsanız ne olduğu, yani saklama, sınırlar, arıza biçimleri,
kuyruk derinliği ve geri basınç sayfasındadır.
İşletmeci API'si ayrıdır ve bir anahtar ister
Yukarıdaki her şey ajana dönük DIDComm yüzeyidir. İşletmeci düzlemi, yani aracılıklar, ajanlar,
politikalar ve teslimat kayıtları, /v1/ altında yaşar ve kimlik doğrulaması ister:
curl -s -o /dev/null -w '%{http_code}\n' https://relay.solidus.network/v1/mediations
# 401
O 401, rotaların var olduğunu ve korunduğunu doğrulamasıdır. Bir anahtar için
relay.solidus.network adresinden oturum açın.
Çalışmazsa
Önce /invite'ı yeniden çekin; bu sayfadaki serviceEndpoint ve routingKeys, aracının 2026-07-30'da
döndürdükleridir ve canlı yanıt kaynaktır, bu sayfa değil. İkisi anlaşmazlığa düşerse yanıt kazanır
ve bu sayfa bayattır; bize söyleyin.