Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
IPFS 安装
7 F( z$ A, q+ [$ v( b$ r/ F6 j$ T/ M. O! ]0 J( ?5 Y" C6 ~
要使用IPFS, 第一步肯定是先把IPFS安装好,IPFS在Mac OS X 、Linux及Window平台均有提供, 可以通过这个链接下载对应平台可执行文件的压缩包。/ C% S0 Z6 w+ Q& f) ^

/ ^7 t) R9 b  i: m# S对于Mac OS X 及 Linux 平台,使用一下命令进行安装:
. v, x; H% Q! Q0 T$ Z9 b' m
, ]$ D! o1 P4 }: \$ tar xvfz go-ipfs.tar.gz2 {% g8 D/ |/ C4 B
, ]- |- X% {" @: C, [  u( y- W
$ cd go-ipfs) z2 ]; t& u6 s. `, B! p) h: z
) E/ X4 F8 P  s( f: C4 T2 x
$ ./install.sh
4 B4 x. ^9 ~* S4 u- Z4 W; T7 d3 _( W: d, E4 R* `6 m
上面先使用tar 对压缩包进行解压,然后执行install.sh 进行安装,安装脚本install.sh其实就是把可执行文件ipfs移动到$PATH目录下。安装完成之后,可以在命令行终端敲入ipfs试试看,如果显示一堆命令说明,则说明IPFS安装成功。
9 D5 a  l& C' _' {' K; X" e
1 R' ~: u. G/ J' M在Windows平台也是类似,把ipfs.exe移动到环境变量%PATH%指定的目录下。
- v: s% P; _! ^! p8 J% r# s
$ |4 d) X9 k9 K5 C9 g' MIPFS 基本用法# n# ~8 w% O( g3 z9 \& o5 i
) p" I; F  \1 G: R
IPFS初始化' X5 F( K( o( |; r1 ~7 L

% r) p$ R$ \) D# I; e- @% |安装完成之后,要使用IPFS第一步是要对IPFS进行初始化,使用ipfs init进行初始化
% r4 e) Z* C) y2 o6 a- Y( g* V) j1 x: Q5 l. n- D9 Z
> ipfs init5 f4 p4 J7 U3 a9 M9 t

3 d; B# w" D$ f$ k" r+ k3 ^; linitializing ipfs node at /Users/Emmett/.ipfs
8 \- K. b$ a' B) G; ?. }1 M1 O9 g" W* T- h. q; M% s
generating 2048-bit RSA keypair...done, z( f" o1 R( j. o8 Q( m- W5 C
5 }( w9 ^' o( i8 h$ j6 ]& e
peer identity: QmYM36s4ut2TiufVvVUABSVWmx8VvmDU7xKUiVeswBuTva# w5 k2 j# b/ I
7 h$ k4 P+ {% a# A
to get started, enter:) Q# q9 ^; j! w$ E7 S

7 y' Y3 W8 }3 X/ N" M7 Q" X  ipfs cat /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv/readme
6 T, n8 [# W( O7 N2 ?1 C# @+ r/ W* m
上面是执行命令即对应输出,在执行ipfs init进行初始化时,会有一下行为:
5 H8 F! S4 _  ^9 L5 ~5 j* U. |: u
生成一个秘钥对并产生对应的节点id, 即命令提示:peer identity后面的hash值。
, |7 h4 v9 M0 h( z1 y5 `) J: R4 l# w5 t
节点的id用来标识和连接一个节点,每个节点的id是独一无二的, 因此大家看到的提示也会和我的不一样。
2 [8 I8 S: D. Q, t) z- D9 @& ~
2 R* Q1 ]2 I4 }4 K* C! D" a在当前用户的主目录(~ 目录)下产生一个.ipfs 的隐藏目录,这个目录称之为库(repository)目录,ipfs 所有相关的数据都会放在这个目录下。
1 P$ T/ }% Z. \; ]$ _1 C" W# R" R
- p2 m: t# V$ U9 B# F/ P' `如同步文件数据块放在.ipfs/blocks 目录,秘钥在.ipfs/keystore 目录,ipfs配置文件为:.ipfs/config。
+ H& N' c2 g: Q. U
" |) K4 x7 s' S. L) W/ K" J' M6 {IPFS 配置修改
1 j2 g0 }' g& v" z" H, `+ |- b- z) x+ w0 v# ^& @! c* Q
在IPFS初始化之后,可以根据需要修改配置(可选),修改方法如下:) `4 k6 K; ?" m0 p' W* x7 `4 v
. z0 Q: E% s1 j
cd ~/.ipfs
+ {/ N' W3 v/ x2 a) j% y4 X) n: W, n2 M- H( A" l  M% E
export EDITOR=/usr/bin/vim
. ~$ n0 _8 f! L; o7 B2 c8 o/ `& E% V  B( t# _2 Y6 ]8 h$ F  [) ~
ipfs config edit
% b1 l. Y6 x, r/ I2 |; ]7 v8 X! y8 w+ p5 A, d& c2 ~$ H5 G6 c
或者直接编辑 ~/.ipfs/config 文件。' _% B* z* ^3 A8 W8 n
" p% d4 S: d8 @5 p0 a: g
上传文件到IPFS2 |' N; n+ n$ n) p7 H. Y
: E+ @# D; ~% Z7 s* D
我们先创建一个upchain.pro.txt文件,可以使用如下方式:
  a. J7 s9 T) F9 v& ], G1 p& T) u; D* x  w: N9 F
> echo "比特池塘:www.bitmere.com" >> upchain.pro.txt# H9 g6 M0 O0 v* w, r

! c5 f0 H. N8 c, b/ }ipfs 使用add 命令来添加内容到节点中,  在命令行输入:5 R9 ]3 Z+ i! e  v  T9 h

; ]# {& S+ A% i: T7 u% i8 d> ipfs add upchain.pro.txt  \+ i/ M& L; }$ W+ [8 ~
  R7 ]; f. W% B/ |9 y6 q
added QmQgMZKqHzyEdyJja5ioF8WaXrbUDVjqhJDoaUKDymgioi upchain.pro.txt
( W$ y. e8 y5 {9 y+ D; }9 G7 a2 S0 o4 x
43 B / 43 B [=====================================================] 100%0 }* ~; t. Z+ A$ x
8 Q* V/ Y/ Z2 y5 o& L) y% a
当它文件添加到节点时,会为文件生成唯一的hash: QmQgMZKqHzyEdyJja5ioF8WaXrbUDVjqhJDoaUKDymgioi, 可以使用ipfs cat 查看文件的内容:/ d' x$ c9 |0 P$ [8 J
: w6 N; k1 x/ Q2 E" \: Q
> ipfs cat QmQgMZKqHzyEdyJja5ioF8WaXrbUDVjqhJDoaUKDymgioi
- Y) j- b! u9 E( w
6 D* U8 A6 h7 Y. @4 M# k( {$ U! \- k+ }1 W3 X( U
注意,此时文件仅仅是上传在本地的IPFS节点中,如果需要把文件同步到网络,就需要开启 daemon 服务, 使用命令:
3 }, J: z& G& c6 z
" u, K0 }$ s" b7 b, q3 r  i> ipfs daemon
& f/ U7 x" B# s
  n' H- O+ K$ [Initializing daemon...
3 b. b3 `4 w5 c1 X0 P- x: {1 x5 g+ \) g: N" G# Q3 f
go-ipfs version: 0.4.18-; w9 X1 c. T/ j. o
4 p7 l& K1 s6 R5 y4 Q0 F4 j
Repo version: 74 o# e3 }; Z/ z4 E

: {. ~4 D" ]8 W: y9 r, ]System version: amd64/darwin
: M( z1 b) G; A. E4 h# A* T5 s- Y3 N. t% Q  i5 S( R4 ?
Golang version: go1.11.1
7 V8 c( I  r9 M6 N$ h) n' b
6 ]8 ]% N/ J' z; P' I! aSwarm listening on /ip4/127.0.0.1/tcp/4001; S  B4 F4 b1 Q$ L4 n
/ ?$ r; g* y3 |
Swarm listening on /ip4/192.168.8.105/tcp/4001
; k- K3 P9 H% V5 I# }! K, t/ }, }. a5 Y2 {8 H
Swarm listening on /ip6/2408:84f3:82e:cfcd:409:fee2:e261:4dc3/tcp/40011 F: n! C( Q' A7 s0 f
( l, v9 U' U2 {' l8 m0 n
Swarm listening on /ip6/2408:84f3:82e:cfcd:a9c6:116b:349f:8c2b/tcp/4001
& G# x) ^& Q8 @6 o, ^2 h2 F3 I% T
; F  ^; E1 U/ G8 y" @% xSwarm listening on /ip6/2408:84f3:82e:cfcd:ec89:145d:cf27:4/tcp/40014 w4 u+ ^4 b/ ~+ S' B4 A( u, ^$ ]

' ?% f* q" x7 \% {Swarm listening on /ip6/::1/tcp/40017 ]# n/ h4 N2 q5 ^
. ?' v5 K8 X6 l) `6 u
Swarm listening on /ip6/fd1d:43b:e89b:eb9b:c405:56af:8f52:67df/tcp/4001
, a5 C4 |% Y- l+ s1 ?- X8 v" p& |  z8 T6 F' \4 @* Q" p, `
Swarm listening on /p2p-circuit* @4 y0 G% Y; ~" C  X, C

0 L! Z' K* @5 R" Y( ]Swarm announcing /ip4/127.0.0.1/tcp/4001
- i% K! J* S: d- Y* f1 b; J+ z  \3 G8 B
- N5 `/ ^1 y3 B0 `2 [3 `8 DSwarm announcing /ip4/192.168.8.105/tcp/4001
# W, |% q# w# Z7 `+ D7 V% t' G2 F# c% W
Swarm announcing /ip6/2408:84f3:82e:cfcd:409:fee2:e261:4dc3/tcp/4001% Q2 I# w* M; k8 ]

$ K2 u, F7 J6 Z; p# ESwarm announcing /ip6/2408:84f3:82e:cfcd:a9c6:116b:349f:8c2b/tcp/4001( l8 b* ]' m0 c' n
, g* n! Y2 @- \8 q2 r
Swarm announcing /ip6/2408:84f3:82e:cfcd:ec89:145d:cf27:4/tcp/4001& n$ a4 |7 ^- ~8 P3 a
# R4 U0 M( l# m) N6 f3 D
Swarm announcing /ip6/::1/tcp/4001
1 V0 R7 C, U" ?9 U& C# h* D8 B! c! m3 m6 K# j8 P+ E
Swarm announcing /ip6/fd1d:43b:e89b:eb9b:c405:56af:8f52:67df/tcp/4001
5 k8 ?" i. G8 M2 _* Z+ m  h
  L0 U; P" t6 l6 B- N* fAPI server listening on /ip4/127.0.0.1/tcp/5001
0 N# j6 ]( J. ?+ w6 p3 ]
* s3 |# F4 m  JGateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080  q6 U: b5 R0 S
: K! k8 y/ s! x9 u1 U
Daemon is ready
1 H2 I# j& ]. ]! [! C0 n+ I4 r( y) J4 s3 R0 [
开启 daemon 之后,Swarm 就会尝试连接其他的节点,同步数据,同时在本地还会开启两个服务:API服务及Web网关服务,下面分别介绍下:/ V: G! O" V( M, E) H5 ~& t4 a& Y
  j! S1 ]+ R. p( ]5 N/ @
API服务,默认在5001端口,可以通过 http://localhost:5001/webui 进行访问,界面如:
  r: A% O& {- M  ^- x4 ~9 x! y. u! U- n! F
这也是IPFS的一个Web版的管理控制台, 可以通过这个控制台添加文件,查看节点连接情况等等。
! O8 z* e. r* m8 h- d# N9 t; t" T4 N+ R4 Z  f  \" ?* ]
网关服务,默认在8080端口, 由于当前浏览器还不支持通过IPFS协议(ipfs://)来访问文件,如果我们要在浏览器里访问文件的话,就需要借助于IPFS 提供的网关服务,由浏览器先访问到网关,网关去获取IPFS网络杀过了的文件。 有了网关服务,就可以通过这个链接:http://localhost:8080/ipfs/QmQgMZKqHzyEdyJja5ioF8WaXrbUDVjqhJDoaUKDymgioi 来访问刚刚上传到ipfs 的文件。
' x' L1 V# b) t) p! l# j( O8 \9 }5 y, }! Y
ipfs 也提供了官方的网关服务:https://ipfs.io/, 因此也可以通过 https://ipfs.io/ipfs/QmQgMZKqHzy ... UDVjqhJDoaUKDymgioi (需要翻墙)来访问刚刚上传到ipfs 的文件。. \" }2 F2 O- X3 c

/ c7 p, v% e, K1 ], R. }- ~; L上传目录到IPFS' e* b8 X& N8 V; g' j. R5 y
2 h1 Q. A8 K& o, A3 a9 Y7 p* [
我们先创建一个文件夹upchain, 并把之前的 upchain.pro.txt 放进目录。+ B3 h- ~* P6 A: b/ h7 ?

; ~- j9 p! Y# s! v9 g> mkdir upchain; Y; F; c- p% l3 ~

- z; r$ J# `; Q- A0 u& y2 B> mv upchain.pro.txt  upchain
8 ?+ c& k% a% O! {( O- v
1 j5 R/ O1 k8 _- Y8 C4 H上传目录到IPFS 需要在使用 add 命令时加上 -r ,如下:
% ?1 \% n1 n0 i
' P) O5 d6 a" P5 [2 H5 ?> ipfs add -r upchain
# \# N7 Y1 M, G: X( N! a8 m4 P9 J/ H8 K  {+ P# ]  q: v+ @
added QmQgMZKqHzyEdyJja5ioF8WaXrbUDVjqhJDoaUKDymgioi upchain/upchain.pro.txt$ \- ^/ L# g) A. c6 R2 G

: u7 p' A  [5 W4 ~0 V) O2 Fadded QmQYpGRFBpHVzoShpwU5C3XgGAxJKqY83X8VXfMbyktdbP upchain* p  Q- S# f' j% j3 P

% L! H2 _) E4 U/ W3 w( R9 ?43 B / 43 B [===========================================================================] 100.00%
/ k% G* F5 p% \6 ~. Y7 q- K: J2 w. @/ ~1 T- C- P- L
在上传时文件夹,文件夹也会生成一个对应的hash,可以通过hash后接文件名来进行访问, 如:
% H$ _+ z9 P" L' Q2 v4 P5 V) l+ W$ L5 D  u8 O* e4 u( F" a0 o& H
>ipfs cat QmQYpGRFBpHVzoShpwU5C3XgGAxJKqY83X8VXfMbyktdbP/upchain.pro.txt5 {; E0 k9 j+ _6 O6 v4 s- n
) q( U  _6 F0 A/ C. Q  [

( [, d. _; \9 G' |" a: O在浏览器可以链接:http://127.0.0.1:8080/ipfs/QmQYp ... dbP/upchain.pro.txt 来访问。
. t: i9 L( J1 I) P: H2 w
! `( N0 a9 ?: N- o通过上传目录的方式,可以把整个静态网站的根目录上传到IPFS网络,这样就可以省去托管服务器,例如可以直接通过以下链接访问深入浅出区块链博客:/ ^3 T$ k( w( R) x$ X' m* E; g4 f
6 Q8 D* G3 A: R! m& C) W8 _: Z
https://ipfs.io/ipfs/QmaFWgfpRNz ... uCphq2ua/index.html
/ `5 x4 m% U2 f2 J9 g6 }/ z: ~2 T
使用IPNS解决文件更新问题
. N: i' V# m8 N8 Y
. k& e" u/ W- J! I. o因为IPFS在IPFS中,对一个文件的内容修改后(如升级),会生成一个完全不同的新Hash,使用IPNS就可以利用同一个链接总是指向更新的内容,其实使用也很简单,只需要每次在内容更新之后使用ipfs name publish hash 发布到节点。( Q. X1 Y/ T, Z1 K3 ]8 D
% s2 |  n" `; ^+ y7 |5 i
例如把upchain.pro.txt发布到节点,使用下面的命令:
/ O6 S8 i! x: G6 E& z
) [. ^0 z: _3 k> ipfs name publish QmQgMZKqHzyEdyJja5ioF8WaXrbUDVjqhJDoaUKDymgioi4 t3 H( i3 Y8 \, b: I: \) `

3 [$ f; n& ^8 a! @# t) V: hPublished to QmYM36s4ut2TiufVvVUABSVWmx8VvmDU7xKUiVeswBuTva: /ipfs/QmQgMZKqHzyEdyJja5ioF8WaXrbUDVjqhJDoaUKDymgioi2 @0 E) c) }9 h

& c- b) D- X, P. H0 n3 W命令中的QmQgMZKqHzyEdyJja5ioF8WaXrbUDVjqhJDoaUKDymgioi是upchain.pro.txt的hash, 命令提示中的QmYM36s4ut2TiufVvVUABSVWmx8VvmDU7xKUiVeswBuTva是当前节点id(大家可以回看一个前面ipfs init 的输出)。
* O: ]0 l' r! @
) M$ ]4 E2 i, Y" Q发布之后就可以使用http://127.0.0.1:8080/ipns/QmYM3 ... VvmDU7xKUiVeswBuTva 或 https://ipfs.io/ipns/QmYM36s4ut2 ... VvmDU7xKUiVeswBuTva 来访问upchain.pro.txt的内容,如图:1 {, ?# j0 j3 q0 h# v

3 |8 F4 o& c& X; @9 E+ p# x其实理想下是使用 ipns://QmYM36s4ut2TiufVvVUABSVWmx8VvmDU7xKUiVeswBuTva 来访问,通过网站还是前面提到的浏览器暂不支持ipfs协议。
; Y- g# H( b" M* m9 a- t0 Y$ w5 U. f+ `, M! g) d
现在我们来更新一下upchain.pro.txt 加入文字:“创办人:Tiny熊”
5 J, P: J" [: B& O6 T+ H' V5 A" G7 t' J+ W& M1 U4 S1 p' F. g
> echo "创办人:Tiny熊" >>  upchain.pro.txt
" O2 a+ T5 ?+ E) p4 |+ Y$ I
2 R; {1 g0 J+ N% Y' C5 E> ipfs add upchain.pro.txt0 ~: t7 d6 t/ T9 \! G

+ u* U# w# }; Q9 ]  G* |4 i! \added QmUUiDN6tWtj89xmUw1iCK2NczBqE6m3zH9QnbhHoMvZ5S upchain.pro.txt
" \8 t  i& z4 ~- D. X
# F$ p( X) ^9 U) a9 k8 E% G63 B / 63 B [=============================================================] 100.00%/ u, q% n5 |1 T; G! j
1 n, W* ^! ~9 s5 z, {* ~# y, {
重新发布一下:' H! P; n) J$ z  R: e
$ D7 D: d2 _0 m6 X& s$ q6 N/ [: q6 D
> ipfs name publish QmUUiDN6tWtj89xmUw1iCK2NczBqE6m3zH9QnbhHoMvZ5S
, c9 U6 T3 {: r: _& [' \* b# E! K: Y+ G+ t$ B3 W
Published to QmYM36s4ut2TiufVvVUABSVWmx8VvmDU7xKUiVeswBuTva: /ipfs/QmUUiDN6tWtj89xmUw1iCK2NczBqE6m3zH9QnbhHoMvZ5S
- V/ c: C# Z( \% ?6 w' X0 ?& o) I" N' V; G' M( P  ~
再次访问 http://127.0.0.1:8080/ipns/QmYM3 ... VvmDU7xKUiVeswBuTva (这个链接和上面的链接一样)可以看到内容更新了。
- O5 b# l- R+ x9 X  k+ e
/ K1 \# {4 e: D6 _5 _7 Q) m如果我们要查询 节点id 指向的hash 可以使用 ipfs name resolve  进行查询:
7 T. Z9 {" F) X" B' ]. M' [
7 j) Z+ S2 N( K3 Q, ]" Y6 r> ipfs name resolve" n* I7 W% @0 P$ U8 Q2 s# ^

9 b/ C: s1 }% @/ipfs/QmUUiDN6tWtj89xmUw1iCK2NczBqE6m3zH9QnbhHoMvZ5$ ]9 v; R6 J# `( Y8 z
0 G, E1 `% J9 R
有一点值得大家注意: 节点id其实是公钥的hash,它的关联信息是需要经过私钥签名才可以发布,因此只有我们自己才可以更新节点的指向。: f8 a  `* s7 |1 }

; z: V. J6 O" H* k) ]) ]# a. c如果我们有多个站点需要更新,可以新产生一个秘钥对,使用新的key 发布,如:
$ E' W+ T$ e/ d) `# G1 D' e: X% E+ w% Q' Q+ Q- W6 u! s
> ipfs key gen --type=rsa --size=2048 mykey
" G% d; i& ^% [9 R2 D' o. F; T' a, k/ r2 Y/ _
QmVZvdYEsdfHSR43Qm1fY8eDFrhB3UNZ2oVyEuVUH3VHrg6 v$ h& I: F  x6 M* W* ~+ y/ A

$ F$ q3 F; @, J# @3 ?> ipfs name publish --key=mykey  hashxxx9 m( N% e3 B7 G. a

# R5 X5 j8 M6 s4 P! _1 z0 Y' A' PPinning
  c8 [3 g9 c- D. v8 B( n
' R: q( T/ ?& D/ Y2 \: ^* y' M) zPinning 在IPFS里是一个很重要的概念,当我们每次请求一个网络上的内容的时候,IPFS总是会把内容先同步的本地提供服务,而为了防止 IPFS 存储空间不停增长,实际上使用cache 机制来处理文件, 如果文件在一段时间内没有被使用,文件会被”回收“。 Pinning 的作用就是把文件”钉“住,确保文件在本地不被”回收“。 如果是重要的文件,就可以使用 Pinning 防止文件被删除。; v. |& s+ j0 }# J6 k) v1 A% u
; b: p  ?6 m' _, ^* Z( W* c
当我们使用ipfs add 添加文件时,默认会进行Pinning(使用其他命令获取的文件不会进行pinning),2 }. i1 R$ P- U: O9 W
4 K, W/ {) s8 P4 I
IPFS 提供了pin命令进行Pinning操作, 比如我们查询下某一个hash 是否被pin:
  J6 f% a* y8 [( l( G4 m8 T# q6 w
  J2 n) g% U1 x" a1 _4 _9 _# U> ipfs pin ls QmUUiDN6tWtj89xmUw1iCK2NczBqE6m3zH9QnbhHoMvZ5S6 V6 @5 l. O  n/ @8 H
* J  t! S: F" a. O+ v  A" a. x
QmUUiDN6tWtj89xmUw1iCK2NczBqE6m3zH9QnbhHoMvZ5S recursive: M, l) \6 ^2 U, f9 |( |! r+ u

+ {* B' L; M* P, h. V! V> ipfs pin ls QmWnrAEKyDVUQ1jh9vDtQhtBSNEgUnQhAJyMmo3JjwJZK7
) F8 F1 L& M1 T: `
9 d4 N* T+ l, ~$ {. |8 x* C2 Y4 bError: path 'QmWnrAEKyDVUQ1jh9vDtQhtBSNEgUnQhAJyMmo3JjwJZK7' is not pinned
( f  V1 _% ^) J! Y. q4 R
7 i6 U; x- Q8 N- o: H6 w! l可以使用 pin add 手动钉住一个文件,如:
8 w+ e" Q; g- d* O4 {" ^, W
+ H4 J! H$ j7 z' c, {& w7 h> ipfs pin add QmWnrAEKyDVUQ1jh9vDtQhtBSNEgUnQhAJyMmo3JjwJZK71 O9 T& |- `6 N! Z8 ^; [) B
! u' U4 B- D9 z
pinned QmWnrAEKyDVUQ1jh9vDtQhtBSNEgUnQhAJyMmo3JjwJZK7 recursively+ O% M% q: Z: m! ?8 |# F" f. ]
$ Z- c! Y2 v) e9 t& E
如果要删除pin的状态,使用pin rm , 如:
& b# o0 s, @2 Q: F1 `
, x, P4 n- D1 a1 ^6 D& u> ipfs pin rm -r QmWnrAEKyDVUQ1jh9vDtQhtBSNEgUnQhAJyMmo3JjwJZK7* Z" h/ y: I! S. K8 ?# }% L

1 a; Q) m; u) [. N) ^+ kunpinned QmWnrAEKyDVUQ1jh9vDtQhtBSNEgUnQhAJyMmo3JjwJZK7& }: C0 }2 L. i% d; G  a$ f5 `8 `6 q4 h
& T' @8 o- F0 _+ v' j! k$ D
pin rm 的参数 -r 表示递归的删除pin 状态,对于没有pin住的文件, 如果执行GC操作 ipfs repo gc 文件会被删除。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

在冰雪中的玫瑰 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    2