こんにちは~! 僕は、C-VoxelというDID/VC系のプロダクトを開発しております、みなもとこうきと申します!
こんにちは~! 僕は、C-VoxelというDID/VC系のプロダクトを開発しております、みなもとこうきと申します!
Share Dialog
Share Dialog

Subscribe to Kouki Minamoto

Subscribe to Kouki Minamoto
前回はこちらから↓
どうもこんにちは、僕はC-Voxelというプロダクトを開発しております、みなもとと申します。 C-Voxelはトランザクションに「こんな仕事をした報酬だよ~」みたいなコンテキストを紐づけることによって、オンチェーン上の職務経歴書を作ろうぜっていうプロジェクトです。↓
さて、今日のお題は、**「DIDの文法」です!前回やった通り、DIDってのは、did:example:123456 みたいな奇妙な文字列で表されます。今回はこの文字列の文法(書き方)**についてです!
DIDは以下のような三つのパートに分かれていることは前回説明した通りです。

この文字列を使って結局何ができるの?って話なんですけど、これはDIDの仕組みを提供しているシステムにたいして、「こいつのこの情報くれーー!!!」っていう命令みたいなものなのです。その命令を用いて以下のような情報をゲットできたりします。
DID subject(DIDを持ってる人)
DIDの検証方法
DID document(DIDに紐づいた個人情報)の一部
その他もろもろ、、、、
さて、では上記のような情報をゲットするための要求である DID URL の書き方を実際に見ていきましょう。(感覚的には一般的な https://hogehoge/~ と同じような感じです)
DID URLとは、ある特定の情報にアクセスするためのネットワーク上での場所を示すものである。
DID自体の文法はざっくりと、
DIDは did:[method-name]:[method-specific-id] の形で表される
Method-name は 1文字以上の文字列で、小文字英数字のみ
method-specific-id は1文字以上の文字列で英数字に加え、. - _ が使える。
特定のDIDにに紐づいた、特定の情報を引き出すためには Path を指定します。PathはDIDの後に / をつけることによって表現できます。また、pathの解釈は DID Method によって異なります。
例) did:example:123456/path
DIDに対して特定の要求を出したいときには ? をもちいてQueryを表現します。(Queryは要求っていう意味です)。例えば、以下の例では、example っていう DID Method 上の 123456 のIDに VersionIdが 1 のDID ducumentにアクセスしてねっていう意味になります。
例) did:example:123456?versionId=1
DID Fragment は DID document や外部リソースへの DID method に依存しない参照として使われます。(path は DID method に依存してます) DID Fragment と同じ文字列を DID document 側で定義しておくことによって、その部分にアクセスできるようになります。
例1) DID document 内の特定の検証方法を表現
did:example:123#public-key-0
例2) DID document 内の特定のサービスを表現
did:example:123#agent
先ほどやった Query (? つけるやつ) を使って、特定の DID method に依存せず、すべてのDID methodで共通して使える DID parameters がいくつかあります。実装は任意なので、DID methodによってはサポートしていない場合もありますが、サポートしている場合は全てのDID methodにおいて、同様の機能を果たします。
service : サービスIDによって、DID documentからサービスを指定します。
relativeRef : サービスのエンドポイントを特定する相対URLです。サービスエンドポイントとは、service パラメータを用いて選択される DID documentを指します。
versionId : 解決される DID document のバージョンを指定します。
versionTime : 解決される DID document の特定のバージョンのタイムスタンプを指定します。つまり、その DID document はそのタイムスタンプの時間に承認されたということになります。
hl : 信頼性を守るための DID document のリソースのハッシュです。
相対 DID URL とは、DID document の中で、did:<method-name>:<method-specific-id> で始まらない URL です。ベースとなる URI は、 DID subject に紐づいた DID です。
相対 DID URL は検証方法やサービスをDID document の中で参照するときに用いられます。
以下の例では、 #key-1 が相対 DID URL に当たります。

今回も読んでいただきありがとうございました!よろしければ僕らのプロダクト C-Voxel の discordやTwitterのフォローよろしくお願いします!
Discord:
Twitter:
前回はこちらから↓
どうもこんにちは、僕はC-Voxelというプロダクトを開発しております、みなもとと申します。 C-Voxelはトランザクションに「こんな仕事をした報酬だよ~」みたいなコンテキストを紐づけることによって、オンチェーン上の職務経歴書を作ろうぜっていうプロジェクトです。↓
さて、今日のお題は、**「DIDの文法」です!前回やった通り、DIDってのは、did:example:123456 みたいな奇妙な文字列で表されます。今回はこの文字列の文法(書き方)**についてです!
DIDは以下のような三つのパートに分かれていることは前回説明した通りです。

この文字列を使って結局何ができるの?って話なんですけど、これはDIDの仕組みを提供しているシステムにたいして、「こいつのこの情報くれーー!!!」っていう命令みたいなものなのです。その命令を用いて以下のような情報をゲットできたりします。
DID subject(DIDを持ってる人)
DIDの検証方法
DID document(DIDに紐づいた個人情報)の一部
その他もろもろ、、、、
さて、では上記のような情報をゲットするための要求である DID URL の書き方を実際に見ていきましょう。(感覚的には一般的な https://hogehoge/~ と同じような感じです)
DID URLとは、ある特定の情報にアクセスするためのネットワーク上での場所を示すものである。
DID自体の文法はざっくりと、
DIDは did:[method-name]:[method-specific-id] の形で表される
Method-name は 1文字以上の文字列で、小文字英数字のみ
method-specific-id は1文字以上の文字列で英数字に加え、. - _ が使える。
特定のDIDにに紐づいた、特定の情報を引き出すためには Path を指定します。PathはDIDの後に / をつけることによって表現できます。また、pathの解釈は DID Method によって異なります。
例) did:example:123456/path
DIDに対して特定の要求を出したいときには ? をもちいてQueryを表現します。(Queryは要求っていう意味です)。例えば、以下の例では、example っていう DID Method 上の 123456 のIDに VersionIdが 1 のDID ducumentにアクセスしてねっていう意味になります。
例) did:example:123456?versionId=1
DID Fragment は DID document や外部リソースへの DID method に依存しない参照として使われます。(path は DID method に依存してます) DID Fragment と同じ文字列を DID document 側で定義しておくことによって、その部分にアクセスできるようになります。
例1) DID document 内の特定の検証方法を表現
did:example:123#public-key-0
例2) DID document 内の特定のサービスを表現
did:example:123#agent
先ほどやった Query (? つけるやつ) を使って、特定の DID method に依存せず、すべてのDID methodで共通して使える DID parameters がいくつかあります。実装は任意なので、DID methodによってはサポートしていない場合もありますが、サポートしている場合は全てのDID methodにおいて、同様の機能を果たします。
service : サービスIDによって、DID documentからサービスを指定します。
relativeRef : サービスのエンドポイントを特定する相対URLです。サービスエンドポイントとは、service パラメータを用いて選択される DID documentを指します。
versionId : 解決される DID document のバージョンを指定します。
versionTime : 解決される DID document の特定のバージョンのタイムスタンプを指定します。つまり、その DID document はそのタイムスタンプの時間に承認されたということになります。
hl : 信頼性を守るための DID document のリソースのハッシュです。
相対 DID URL とは、DID document の中で、did:<method-name>:<method-specific-id> で始まらない URL です。ベースとなる URI は、 DID subject に紐づいた DID です。
相対 DID URL は検証方法やサービスをDID document の中で参照するときに用いられます。
以下の例では、 #key-1 が相対 DID URL に当たります。

今回も読んでいただきありがとうございました!よろしければ僕らのプロダクト C-Voxel の discordやTwitterのフォローよろしくお願いします!
Discord:
Twitter:
<100 subscribers
<100 subscribers
No activity yet