GoForum🌐 V2EX

一個用 DIDComm 實現服務器間通信的 Rails demo

mizuhashi · 2026-03-04 07:17 · 0 次点赞 · 0 条回复

DIDComm是一個基於 W3C DID (去中心化 ID )的通信協議。如果一個服務器想和另一個實現了 DIDComm 的服務器通信,它會需要在/.well-known/did.json 提供一個 DID 文檔,文檔裏包含了公鑰以及 DIDComm 的 service endpoint 。我的 demo 服務器的 DID 文檔長這樣: https://dc.mbkr.ca/.well-known/did.json

擁有了這個文檔之後,did:web:dc.mbkr.ca 這個 DID 就會對應我的服務器,你只需要這個 id 就可以給我發信息,發信方會根據這個 id 解析到 DID 文檔,獲取公鑰構建信息,並推到 service endpoint 上。

我也做了一個公開的 demo 服務器,https://dc-public.mbkr.ca/ ,你可以用public做密碼登錄。

Demo 的 repo: https://github.com/onyxblade/didcomm-rails-demo

實現上,我本來是讓 AI 生成了一個 Ruby 版本的 DIDComm 實現,不過密碼學的內容很多,我最後還是決定直接用didcomm-rust這個標準的參考實現。這個 Rust 的實現可以輸出 wasm ,但 wasmtime-rb 好像還沒成熟到能直接用,所以最終我做了一個 HTTP 服務器didcomm-http,來把 wasm 接口包裝成 HTTP API 。

Happy Hacking!

0 条回复
添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: mizuhashi
发布: 2026-03-04
点赞: 0
回复: 0