Tanımlayıcılarımızdan Birini Şu Anda Çözümleyebilirsiniz ve Geri Gelen Şey Standardın Belirttiği Biçim Değildir
Aşağıdaki komut çalışıyor, bunu yayımlamadan önce temiz bir dizinden çalıştırdık ve döndürdüğü yanıtta bu sayfayı yazarak bulduğumuz bir kusur var.
Çözümleme nedir
Bir tanımlayıcı verin, arkasındaki belgeyi alın: açık anahtarlar, hizmet uç noktaları, tanımlayıcının neye izinli olduğu. Bir adı, karşısında imza kontrol edebileceğiniz bir şeye çeviren adımdır.
Bunu yapan merkezi bir kayıt yoktur. Her DID yöntemi kendisini gerçekte destekleyen sisteme karşı çözümlenir, dolayısıyla istemci yazılımı ya yöntem başına elle kod yazar ya da ortak bir arayüzden geçer. O ortak arayüz DIF'in Universal Resolver'ıdır. Ona bağlı değiliz, dolayısıyla bizimkilerden birini çözümlemek, onu diğer her yöntemin yanında elde etmek yerine doğrudan uç noktamızı çağırmak demektir.
Kendiniz çalıştırın
Hesap yok, API anahtarı yok, izin listesi yok. Belgelerimiz zincirin durum ağacında yaşar, dolayısıyla bu bir işlem değil bir okumadır:
curl -X POST https://rpc.solidus.network \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"solidus_didResolve",
"params":["did:solidus:testnet:46Hzv2Ek4MXwj1Kenvix4tWCPr1J"],"id":1}'
Yanında iki kontrol çalıştırın, yoksa çalışan bir yoklamayı bozuk olandan ayırt edemezsiniz. Uydurma bir tanımlayıcı koyun, yanıt "result": null olur. Var olmayan bir yöntem adı koyun, yanıt -32601 hatası, "Method not found" olur. Bunların ikisi de canlı bir uç noktanın dürüstçe cevap vermesini, sessizce başarısız olan bir ağ yolundan ayırır, ki bu kendimizin yaptığı ve başka yerde yazdığı bir hatadır.
Hiç var olmamış bir DID ile hiç demirlenmemiş bir DID dışarıdan aynı görünür: ikisi de null döndürür. Aradaki farkın üzerine bir şey inşa etmeden önce bunu bilmekte fayda var.
Bu sayfanın bulduğu kusur
Geri gelene bakın. Belge, standardın @context belirttiği yerde context kullanıyor ve standardın deve harfi belirttiği yerlerde verification_method, assertion_method, key_agreement kullanıyor. Anahtarın kendisi publicKeyHex olarak yayımlanıyor, kendi şartnamesi publicKeyMultibase gerektiren bir doğrulama yöntemi tipi altında.
Yani uç noktamıza standart bir çözümleyici kütüphanesi yönelten üçüncü bir taraf, o kütüphanenin ayrıştırabileceği bir belge almıyor. İnce bir uyumsuzluk değil. Özellik adları uyuşmuyor.
Kendi SDK'mız düğümün çıktısını standart biçime dönüştürüyor, ki bu şu demektir: SDK'mızı benimsemiş herkes için her şey çalışır ve kendi kütüphanesini kullanan hiç kimse için hiçbir şey çalışmaz. İstemcide yaşayan uygunluk, ekosistemin göremediği uygunluktur. Bunun iki yarısı da canlı sisteme karşı mühendislik bulgusu olarak dosyalanmıştır; biri daha önceki bir sayfayı yazarken ortaya çıktı, bu ise çalışan uç noktaya karşı doğrulandı.
Bunu bir kütüphaneyi bize yönelterek keşfetmenizdense burada okumanızı tercih ederiz.
Çözümleme konusunda bir satıcıya sorulacaklar
"Tanımlayıcılarınızdan birini şu anda, hesap açmadan çözümleyebilir miyim?" Cevap bir satış görüşmesi içeriyorsa, çözümleme açık değildir ve yalnızca ödeme yapan tarafların çözümleyebildiği açık bir tanımlayıcı işini yapmıyordur.
"Tel biçiminiz şartnameye uyuyor mu, yoksa SDK'nız mı çeviriyor?" Çoğu satıcıdan bunları ayırması hiç istenmemiştir. Bizimki çeviriyor.
"Universal Resolver üzerinden erişilebilir misiniz?" Bizde: hayır. Çözümlenebilir olmak ile sizi hiç duymamış yazılım tarafından çözümlenebilir olmak arasındaki farktır.
"Var olmayan bir tanımlayıcı ne döndürüyor?" Geçerli ama demirlenmemiş olanla aynı şeyi döndürüyorsa, aradaki farka güvenmeden önce bunu bilmeniz gerekir. Bizimkiler aynı şeyi döndürüyor.
Bu karar için ne anlama geliyor
Standart araçların bugün tüketebileceği tanımlayıcılara ihtiyacınız varsa, bizimkiler yolda SDK'mız olmadan uyumlu bir kütüphanece okunamaz ve bu, beklemek için gerçek bir sebeptir.
Buradaki herhangi bir şeyin gerçekten açık ve kontrol edilebilir olup olmadığını değerlendiriyorsanız, sınavın tamamı yukarıdaki komuttur: bir yabancının makinesinden çalışır, tek bir aramayla cevap verir ve döndürdüğü şey size kendi kusurunu gösterecek kadar dürüsttür.