我们十分高兴地推出“go-filecoin 0.2.1”版本。该版本着重于后台升级,其特点包括支持文件系统回购协议迁移以及解决存储争议、更好的消息池、证明改进、以及对libp2p版本的改进,以支持更可靠的中继。该版本还包括一些面向用户的改进,比如新指令、新选项、更好的状态消息,并且修复许多软件缺陷。太棒了!

链同步状态

初次创建filecoin节点时,必须下载并验证链。我们称之为“链式同步”。虽然可以立即运行初始命令,如轻击水龙头或仪表板流量,但是任何其他命令,如挖掘命令都会返回错误,直到完成链同步。目前,安装过程可能需要几个小时。 为了明确这一点,我们更新了维基百科的条目,提供更好的状态消息,使控制台的输出更加精练,以便进行链式同步。在未来的版本中,我们还将解决链同步慢的潜在问题。

扇区存储配置

您希望filecoin节点在何处存储客户的数据?现在就可以选择了!有两种方法可选择扇区存储目录的位置——“sectorbase. rootdir”配置项,或“sectordir option to go-filecoin ini”选项。 如果没有指定位置,数据将存储在”$$HOME#.filecoin_sectors”默认目录下。

可升级的回购协议

除了加密的客户机数据,Filecoin节点可在磁盘上存储其他数据,如配置数据、区块链块、交易状态和加密密钥。随着研发的进展,我们需要一种方法,以安全地更改数据类型和模式。在该版本中,我们针对文件系统回购迁移进行了可接受的设计,并且针对迁移工具做了初始布局。这为在生产环境中运行时无缝更新filecoin节点铺平了道路。 请查看帮助文本,了解更多信息: 网址:tools#migration#go-filecoin-migrate –help

仓储费

该版本可解决与存储协议有关争议。现在,支付通道可提出条件,在凭证被赎回之前问询另一参与者。付款人也可以撤销支付渠道。如果通道的一方拒绝付款,将触发通道提前关闭。以上特性可与块包含证明(这一功能即将推出)一起使用,以便在存储客户向存储矿工付费时强制执行存储证明。

您可在探险活动中,使用三项新的指令——“检查”、“协议”和“位交换”: “go-filecoin inspect all”功能可打印软件缺陷报告所需的所有必要信息(该报告可在GitHub公开发布),包括操作系统细节、当前go-filecoin配置和其他一些常用的统计信息。

“go-filecoin protocol”功能可打印关于节点协议参数的详细信息,比如自动输入间隔和扇区大小。这有助于调试Filecoin证明和协议系统内部的某些软件缺陷。

“go-filecoin bitswap”功能可打印节点的libp2p位交换系统的详细信息,例如块、数据、接收以及发送的消息。这些数据通常用于网络调试。 请运行紧随“help flag”之后的指令,以了解更多细节: 网址:For more details, run any command followed by the --help flag.

libp2p最近对中继功能进行了一系列改进,解决了在一些生产中继节点中资源大量耗费的问题。我们已经升级到go-libp2p 0.0.16,以便对filecoin进行相同的改进。

我们采取了多项步骤加固信息池。现在,信息池可拒绝那些显然会由于签名无效、资金不足、燃料告罄或不存在参与者等原因而无法处理的信息。信息池还可跟踪“nonces”值,以确保信息顺序的正确性,并确保信息池中的帐户没有滞留过多信息。最后,信息池可限制其接受的信息总量。

该版本在幕后为开发更灵活、更强大的存储证明做了许多基础性工作。在该版本中,向扇区写入大块时可更有效地利用内存。该版本还可对块包含证明、多扇区大小和可变证明长度提供初始支持。

围绕“rust-fil-proofs”协议的开发工作正在更全面、更高效地进行中,包括切换到“mmap”以获得更高效的“merkle”树、“hasher”抽象、在生成“groth”证明时限制并行性、以及跨分区计算、合计挑战等。

自上个版本发布以来,我们已经显著改进了Filecoin的快速测试系统。现在,在测试失败时,FAST可自动提供相关的日志数据以及来自测试节点的信息。FAST还提供了一个全新的局域网(localnet)工具,可以快速、轻松地设置本地Filecoin节点集群,并进行测试和实验。 请参阅“localnet readme”,以了解更多细节。

凭借Go 1.11对版本化模块的初步支持,我们切换到Go模块,以进行依赖管理。当处理来自上游的依赖更新时,可更容易地进行依赖性管理,并更迅速更新。

在开始为重要特性或组件编写代码之前,我们定期撰写设计文档。这些简短的文档在获取知识、形式化思维和共享设计意图方面起着非常重要的作用。接下来,您可在“designdocs repo”中找到新的设计文档。