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

mizuhashi · March 04, 2026 · Last by williamherry replied at March 04, 2026 · 37 hits

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!

第一次听说这个东西,请问用途是什么?

You need to Sign in before reply, if you don't have an account, please Sign up first.