BTFS节点配置
在文件资源管理器窗口中,导航到您的.btfs
文件夹。这是您设置BTFS路径的目录。应该有一个config
文件,用于管理BTFS节点的配置设置。在你偏好的文本编辑器中打开此配置文件。以下是配置参数的说明。
身份Identity
这两个参数是PeerID
和PrivKey
。PeerID是指节点的标识信息,而PrivKey是节点的base64编码的protobuf,用于描述节点的私钥。这是不可改变的。
数据存储Datastore
数据存储配置选项配置磁盘存储系统。StorageMax
指的是BTFS存储库数据存储区大小的软上限。StorageGCWatermark
指的是StorageMax
在启用自动垃圾收集的情况下运行BTFS节点时自动触发垃圾收集的值的百分比(默认值为false)。GCPeriod
指的是指定运行垃圾收集频率的持续时间。
地址Addresses
这三个地址类型Swarm
,API
和Gateway
。Swarm地址是节点用于侦听来自其他BTFS对等体的连接的地址。这些地址应该可以从外部机器访问(即没有防火墙阻塞)。API地址是您可以将API命令发送到BTFS节点的本地IP地址。这些地址不应该通过外部机器访问。网关地址是用户可以向BTFS网络发出HTTP请求的地址。
发现Discovery
MDNS是指多播DNS对等方发现,这对于在本地网络上启用对等方发现很有用。路由类型dht指的是分布式哈希表。如果将Type
值更改为dhtclient
,则会使您的节点不是DHT节点(这意味着它不会向BTFS网络提供请求),并有助于减少内存,CPU使用和带宽使用。
引导Bootstrap
此配置数组指定了节点在启动时将连接的BTFS对等项列表。
网关Gateway
假设在Addresses
配置中打开网关地址,此配置管理网关选项。默认情况下,HTTP仅支持GET方法,允许用户通过哈希获取数据,但如果启用了Writeable
设置,则用户也可以使用POST,PUT和DELETE方法。这允许客户端将数据添加到BTFS网络。通过设置Gateway.Writeable
为启用此功能true
。
集群Swarm
在连接管理器配置器(Swarm.ConnMgr
),有四个参数Type
,LowWater
,HighWater
,和GracePeriod
。您可以在此处管理节点的对等连接数。LowWater
指的是尝试和维护的最小对等连接数。HighWater
指的是连接阈值,当超出时,触发垃圾清理(丢弃连接)。GracePeriod
指连接管理器不能关闭新连接的持续时间。
提供者Reprovider
此配置有两个参数Interval
和Strategy
。Interval
控制重新提供本地内容到路由系统的轮次之间的时间。例如,如果设置Interval
为“0”,它将禁用内容重新生成,这会导致网络上的其他节点无法发现文件存储库中的对象。
Strategy
可以取“全部”,“固定”或“根”的值。"all"
宣布所有存储的数据,"pinned"
仅宣布固定数据,并"roots"
直接发布递归引脚的固定密钥和根密钥。
修改演练
在Routing
配置中,调整Type
为dhtclient
。这有助于减少DHT流量,从而有助于减少带宽使用。
"Routing":
"Type""dhtclient"
在Datastore
配置中,将最大存储空间从10GB调整为5GB。这应该有助于减少CPU使用率,内存使用率和过多的带宽。
"Datastore":
"StorageMax""5GB"
"StorageGCWatermark"90
"GCPeriod""1h"
"Spec"
"mounts"
在Swarm
配置中,将LowWater
值调整为100 ,将值调整HighWater
为300.这将设置最小和最大对等连接数。减少对等连接有助于减少过多的带宽。
"Swarm":
"AddrFilters" null
"DisableBandwidthMetrics" false
"DisableNatPortMap" false
"DisableRelay" false
"EnableRelayHop" false
"EnableAutoRelay" false
"EnableAutoNATService" false
"ConnMgr"
"Type""basic"
"LowWater"100
"HighWater"300
"GracePeriod""20s"
,
启动节点
通过执行命令启动节点 btfs daemon
btfs daemon
// Output:
Initializing daemon...
go-btfs version: 0.0.1-4c3123f7f
Repo version: 7
System version: amd64/darwin
Golang version: go1.12.4
Swarm listening on /ip4/10.10.0.91/tcp/4001
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
Swarm listening on /p2p-circuit
Swarm announcing /ip4/10.10.0.91/tcp/4001
Swarm announcing /ip4/127.0.0.1/tcp/4001
Swarm announcing /ip6/::1/tcp/4001
API server listening on /ip4/127.0.0.1/tcp/5001
WebUI: http://127.0.0.1:5001/webui
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Daemon is ready
打开一个单独的终端。再次设置环境路径:
export PATH=${PATH}:${HOME}/btfs/bin
运行以下命令检查btfs swarm peer列表:
btfs swarm peers
文件管理
上传文件
要上传文件,请导航到包含您的文件的文件夹,然后运行以下btfs add
命令:
btfs add infographic_eng.png
added QmPUccHn3Jb2XspQZCzqM3CLnhtE6oAiWT1HkmEXPjoVXt infographic_eng.png
830.81 KiB / 830.81 KiB [=================================================================================================================] 100.00%
该文件被散列为内容标识号。
下载文件
要检索文件,请使用该btfs get
命令并指向文件哈希:
btfs get QmPUccHn3Jb2XspQZCzqM3CLnhtE6oAiWT1HkmEXPjoVXt
Saving file(s) to QmPUccHn3Jb2XspQZCzqM3CLnhtE6oAiWT1HkmEXPjoVXt
830.81 KiB / 830.81 KiB [==============================================================================================================] 100.00% 0s
Web UI
通过以下btfs daemon
命令成功初始化BTFS守护程序后指定WebUI地址:
WebUI: http://127.0.0.1:5001/webui