使用ipns 解決ipfs 內容更新的問題


ipds 可以使用dnslink 解決域名訪問的問題,但是內容變更我們就會有新的hashid
解決方法我們可以使用ipns ,同時解決dnslink 解決域名的問題

環境准備

  • docker-compose 文件
 
version: "3"
services:
  ipfs:
    image: ipfs/go-ipfs:latest
    hostname: ipfs_host1
    volumes:
    - "./export:/export"
    - "./data/ipfs:/data/ipfs"
    ports:
    - "5001:5001"
    - "4001:4001"
    - "80:8080"
  • 啟動
docker-compose up -d
 
  • 添加內容
    inside 容器,docker-compose 文件指定的是export 目錄,方便數據倒入的
 
ipfs add -r /目錄
 

效果

/ # ipfs add -r /export/user/
added QmV96U2JtqpmJnPkR4Qpx6soWUH25jM7tAaBY4E8sGNL3A user/index.css
added QmYdF665gYwhAD5XxBWi73fddxyk2uZTk22DzpajU9grbo user/index.html
added QmeqDjW8oPsTHedRLmwcW8TULJgYQFTZu5dHqAamtpVjKo user
 
  • 訪問

添加ipns 發布

  • ipns 發布
    稍有點慢
 
ipfs name publish /ipfs/QmeqDjW8oPsTHedRLmwcW8TULJgYQFTZu5dHqAamtpVjKo
ipfs name publish /ipfs/QmeqDjW8oPsTHedRLmwcW8TULJgYQFTZu5dHqAamtpVjKo
Published to QmfAvGbLuXbjZhy8PKSHTS5C55uGpS3WMg6YSLgd9aTKJP: /ipfs/QmeqDjW8oPsTHedRLmwcW8TULJgYQFTZu5dHqAamtpVjKo
 
 ipfs add -r /export/user/
added QmV96U2JtqpmJnPkR4Qpx6soWUH25jM7tAaBY4E8sGNL3A user/index.css
added QmcCiftPwAC4VU3URL8cckniXrez3jbaoStnhh9gwDvRCb user/index.html
added QmXgvQL7bNXY58yBW4QvdFFhpTPhoG1Jhn2crBVjgNtm3d user
 
  • 重新publish
    從結果可以看出ipns 的id 是不變的
 
ipfs name publish  /ipfs/QmXgvQL7bNXY58yBW4QvdFFhpTPhoG1Jhn2crBVjgNtm3d
Published to QmfAvGbLuXbjZhy8PKSHTS5C55uGpS3WMg6YSLgd9aTKJP: /ipfs/QmXgvQL7bNXY58yBW4QvdFFhpTPhoG1Jhn2crBVjgNtm3d

說明

結合ipns 以及txt 記錄我們可以靈活的擴展我們的系統,同時可以靈活的進行切換(使用不同hashid 的publish訪問)

參考資料

https://docs.ipfs.io/reference/api/cli/#ipfs-name-publish
https://github.com/ipfs/ipfs


免責聲明!

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



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