IPNS和DNSLink的使用說明


IPNS和DNSLink的使用說明

IPNS說明

IPNS全稱InterPlanetary Name System,就是IPFS下的一個名稱解析系統,類似於互聯網的DNS,但是與DNS不同的是,IPNS是由節點自己維護的。

  • 一個IPNS解析后會得到一串文本,里面是IPFS地址。
  • 一個IPNS Name,對應了一個ID,一對密鑰和一個本地的key name。
  • 每個運行中的IPFS節點,都有一個默認的IPNS Name,其key name就是self,其ID等於自己的PeerID,其密鑰對就是節點的密鑰對

IPNS使用

一個節點通過ipfs key gen命令可以創建無數個IPNS Name

ipfs key gen --type=rsa --size=2048 keyname

外界可以通過網關訪問到IPNS對應的內容,例如

https://ipfs.io/ipns/QmeJHrUbuLEwB4YGw58ELE5BZYFw2zM6CsoZLxRQd8NZiL/

(所以在設置nginx轉發的時候,記得除了要轉發/ipfs,還要轉發/ipns)

將IPFS內容發布到IPNS,通過ipfs name publish命令,例如

# 將IPFS CID發布到節點默認IPNS Name
ipfs name publish /ipfs/QmatmE9msSfkKxoffpHwNLNKgwZG8eT9Bud6YoPab52vpy
   
# 將CID發布到其他IPNS Name,需要加上--key=xxx 參數,其值可以是key name,也可以是hash
ipfs name publish --key=mykey /ipfs/QmatmE9msSfkKxoffpHwNLNKgwZG8eT9Bud6YoPab52vpy

注意:這個命令的執行時間很長,在使用--enable-namesys-pubsub參數的情況下,需要50秒左右,在未使用該參數的情況下,需要兩到三分鍾。

DNSLink說明

DNSLink的介紹 https://dnslink.io/

這個技術簡單地說, 就是讓軟件訪問目標域名 A.COM 的時候, 自動去讀取 _dnslink.A.COM 這個TXT記錄, 通過這個TXT記錄得到的地址信息去加載對應的頁面.

DNSLink的使用

使用DNSLink, 需要一個可用的域名, 在域名(或二級域名)上添加一個高一級的記錄, 名稱為 _dnslink, 類型為 TXT, 值為為 dnslink=/ipfs/bafybeiejgrxo4p4uofgfzvlg5twrg5w7tfwpf7aciiswfacfbdpevg2xfy 或者 dnslink=/ipfs/QmaHbGR2PQwtAPL4BcbjuS2RkPsWxnhc2fGWx9fKoNSxnD, 注意這里值前面沒有下划線.

添加好之后, 可以使用以下的命令來查看添加的結果(如果沒設置成功, 可以用這些手段檢查是哪里出問題了)

# 檢查域名解析的TXT值是否正確
dig +short TXT _dnslink.libp2p.io
# 可以指定使用那個NS服務器來檢查
dig @8.8.8.8 +short TXT _dnslink.libp2p.io
# 檢查ipfs的解析結果是否正確
ipfs resolve -r /ipns/libp2p.io
# 檢查ipfs解析的結果, 這個地址對應的內容
ipfs ls /ipns/libp2p.io

這些都沒問題后, 就可以從瀏覽器訪問了, 訪問地址格式為 http://網關地址/ipns/libp2p.io, 例如

https://ipfs.drink.cafe/ipns/libp2p.io

將來有新內容發布時, 只需要更新_dnslink.libp2p.io 的TXT值.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM