使用IPFS和IPNS更新文件夹而不改变哈希
IPFS
开启本地节点
进入localhost:5001
公钥生成
ipfs key gen -t rsa -s 2048 test_key
1
| k2k4r8mk2m9yeoc9rkrtv8mtkgz2f64xegx1juhu64gymr4rpupz5s4w
|
查看ipfs管理的所有密钥对
ipfs key list
1 2
| self #ipfs节点使用的 test_key #本次生成的
|
添加文件夹到IPFS
ipfs add -r .\ID\ -w
1 2 3 4 5 6
| 17.38 KiB / 52.13 KiB [============================>---------------------------------------------------------] 33.33%added QmPPccUJ3LYgpQR1KbgJusgTDSjGoF4Gc1Krys6hotEhzo ID/id1.json 34.75 KiB / 52.13 KiB [=========================================================>----------------------------] 66.67%added QmPPccUJ3LYgpQR1KbgJusgTDSjGoF4Gc1Krys6hotEhzo ID/id2.json 52.13 KiB / 52.13 KiB [======================================================================================] 100.00%added QmPPccUJ3LYgpQR1KbgJusgTDSjGoF4Gc1Krys6hotEhzo ID/id3.json 52.13 KiB / 52.13 KiB [======================================================================================] 100.00%added QmPdjDJnVWZ66bgEmNgomFFGTjK4f92RqLTz3X49PYkY4P ID 52.13 KiB / 52.13 KiB [======================================================================================] 100.00%added QmTyB4zdsgtqiEbSjzzBk6dTbgjfpLQAy43CWfDa6HZsmE 52.13 KiB / 52.13 KiB [======================================================================================] 100.00%
|
IPNS
IPNS
类似于域名系统,由IPFS节点
自己维护。IPNS
是一个PKI名称空间, IPNS名称
是公钥
的哈希
,私钥
则用来发布签名的名称
。 当发布
或解析名称
时,默认情况下总是使用发布者自身的节点ID,也就是节点公钥的哈希,但是可以更改。
使用自己的节点ID发布文件夹
ipfs name publish /ipfs/QmTyB4zdsgtqiEbSjzzBk6dTbgjfpLQAy43CWfDa6HZsmE
1
| Published to k51qzi5uqu5dm4jjl8g22b9n5xw8rzyuogczvn2r3iq12ismy325lhrw3rfpkw: /ipfs/QmTyB4zdsgtqiEbSjzzBk6dTbgjfpLQAy43CWfDa6HZsmE
|
再次添加一个文件并发布文件夹
ipfs add -r .\ID\ -w
1 2 3 4 5 6 7
| 17.38 KiB / ? [-------------------------------------------------------=---------------------------------------------] added QmPPccUJ3LYgpQR1KbgJusgTDSjGoF4Gc1Krys6hotEhzo ID/id1.json 34.75 KiB / 69.51 KiB [==========================================>-------------------------------------------] 50.00%added QmPPccUJ3LYgpQR1KbgJusgTDSjGoF4Gc1Krys6hotEhzo ID/id2.json 52.13 KiB / 69.51 KiB [================================================================>---------------------] 75.00%added QmPPccUJ3LYgpQR1KbgJusgTDSjGoF4Gc1Krys6hotEhzo ID/id3.json 69.51 KiB / 69.51 KiB [======================================================================================] 100.00%added QmPPccUJ3LYgpQR1KbgJusgTDSjGoF4Gc1Krys6hotEhzo ID/id4.json 69.51 KiB / 69.51 KiB [======================================================================================] 100.00%added QmbenETDgNe9Z6MHCiLA3efa2zzsia1JycDnUPPEXW4H91 ID 69.51 KiB / 69.51 KiB [======================================================================================] 100.00%added QmNRswcWMcHeUj9MureWc9mK36wsWHkubKikKkdRuQzV8u 69.51 KiB / 69.51 KiB [======================================================================================] 100.00%
|
ipfs name publish /ipfs/QmNRswcWMcHeUj9MureWc9mK36wsWHkubKikKkdRuQzV8u
1
| Published to k51qzi5uqu5dm4jjl8g22b9n5xw8rzyuogczvn2r3iq12ismy325lhrw3rfpkw: /ipfs/QmNRswcWMcHeUj9MureWc9mK36wsWHkubKikKkdRuQzV8u
|
查看更新结果
http://localhost:5001/ipfs/bafybeihcyruaeza7uyjd6ugicbcrqumejf6uf353e5etdkhotqffwtguva/#/ipns/k51qzi5uqu5dm4jjl8g22b9n5xw8rzyuogczvn2r3iq12ismy325lhrw3rfpkw/ID