KOTET'S
PERSONAL
BLOG

#ipfs体験記 12:ブラウザ拡張のDNSLINKサポート

#ipfs体験記 #ipfs #tech

IPFSのブラウザ拡張について書いた以前の記事 には理解できなかったものが抜けている。 ipfs体験記12回めのこの記事ではその中のDNSLINK Supportという項目を理解できたので書く。

IPNSには普通のドメインを使ってコンテンツにアクセスする機能もある。 TXTレコードを読んで指定されたIPFS/IPNSアドレスを読むことができるのだ。 たとえばipfs.ioの場合TXTレコードは以下のようになっている。

$ dig TXT ipfs.io +short
"google-site-verification=RRzoSXE1iCp7EC--YGJ1hJlQHnUdRQPj7Q5LmlQSgBc"
"dnslink=/ipfs/QmQrX8hka2BtNHa8N8arAq16TCVx5qHcb46c5yPewRycLm"

IPFSはdnslinkを読んで以下のように解決をする。

$ ipfs resolve -r /ipns/ipfs.io
/ipfs/QmQrX8hka2BtNHa8N8arAq16TCVx5qHcb46c5yPewRycLm

/ipns/ipfs.io/ipfs/QmQrX8hka2BtNHa8N8arAq16TCVx5qHcb46c5yPewRycLmは同じコンテンツを指しており、 どちらのアドレスでもアクセスできる。 しかしあるドメインがIPNS用の情報を提供しているかはなかなか気づけない。

ブラウザ拡張の試験的機能であるDNSLINK Supportはその確認を自動的におこなって、場合によってはリダイレクトしてくれる機能である。 たとえばこの機能をオンにした状態でipfs.ioにアクセスするとアドレスバーがhttp://127.0.0.1:8080/ipns/ipfs.io/に書き換わる。

ブログなどの頻繁に変わるコンテンツはIPFS版のサイトには含まれていないらしく、404になる。 他のサイトでも画像などのコンテンツが含まれていなかったりして、見られないことが多い。 おそらくこれがDNSLINK Supportが試験的機能であるゆえんだろう。