IPFS 0.7.0发布,SECIO退役版

2020-09-24 23:50:15

8月份,我们宣布弃用SECIO安全传输。在此版本中,我们默认禁用了SECIO,这将对网络上较旧的节点产生影响。减轻此更改影响的最好方法是尽快升级您的IPFS节点!升级不仅可以确保您使用最新的安全传输,您还可以访问我们今年在内容路由方面所做的所有性能改进。

在此版本中,您还将开始在网络上看到更多以1开头的Peer ID和IPNS密钥,而不是典型的QM。这是因为默认情况下使用的是ed25519密钥,而不是RSA密钥,您可以在下面的重点内容中了解更多信息。

🚨对于那些在IPF中使用插件的人来说,构建过程有一个突破性的变化,详细说明如下。

作为弃用和删除对SECIO安全传输支持的一部分,我们在默认情况下禁用了它。TLS1.3仍将是默认的安全传输,并回退到噪声。您可以在博客帖子https://blog.ipfs.io/2020-08-07-deprecating-secio/.中阅读更多关于这一弃用的信息。如果您运行的是早于0.5的Go IPFS或早于0.47的JS IPF,这可能会开始影响您在公网上的性能,因此我们强烈建议您立即升级!

以前,Go-IPFS为新节点生成了2048位RSA密钥,但现在它将默认使用ed25519密钥。这不会影响任何现有的关键点,但是默认情况下,新创建的关键点将为ed25519。与RSA相比,使用ed25519密钥的主要好处是ed25519密钥具有内联公钥。这意味着某人只需要您的PeerId来验证您已签名的内容,例如您的Peer记录或将来签名的提供商记录,这意味着我们不必担心存储庞大的RSA公钥。

在切换默认密钥类型的同时,我们还添加了对轮换身份密钥的支持。如果要更改IPFS节点的关键点类型,现在可以使用旋转命令执行此操作。注意:这将影响您的Peer ID,因此请确保您要执行此操作!您现有的身份密钥将备份在密钥库中,以便它仍可用于IPNS记录之类的内容。

说到备份密钥,我们添加了一些命令,允许您将密钥从IPFS密钥库导出和导入到本地.key文件。这目前不适用于配置文件中包含的IPFS身份密钥SELF。

$IPFS密钥生成MyKey$IPFS密钥导出-o mykey.key MyKey#./<;name>;.key是另一个节点上$IPFS Key import MyKey mykey.key#的默认路径

以前,Go-IPFS将IPNS路径的密钥名称编码为base58btc多哈希(例如,Qmabc...)。我们现在按照peerID规范中的定义将它们编码为base36编码的CIDv1(例如,k51xyz...)。它还处理公钥的编码。这很好,因为这意味着IPNS密钥在默认情况下是不区分大小写的,并且它们将适合DNS标签(例如k51xyz...ipns.localhost),因此在默认情况下,子域网关重定向(例如从localhost:8080/ipns/{key}到{key}.ipns.localhost)对用户来说看起来更好。

许多命令将接受--ipns-base选项,该选项允许更改命令输出以使用特定编码(即base58btc多散列或以任何支持的基数编码的CIDv1):

$ipfs密钥列表-l--ipns-base b58mh12D3KooWCjhz69LskTZEC5vFWs8eDpHo7kYbGzrC5EjU75BHSmVK自身$ipfs密钥列表-l--ipns-base base36k51qzi5uqu5dh9ihj4p2v5sl3hxvv27ryx2w0xrsv6jmmqi91t9xp8p9kaipc2自身。

在为最终更改默认PeerID表示做准备时,多地址现在可以包含类似/p2p/k51xyz的字符串...。除了默认的/p2p/qmabc....。输出peerID的许多函数都有一个对应的--peerid-base选项:

添加了对ipfs dag stat命令的初始支持。运行此命令将遍历给定根CID的DAG并报告统计信息。默认情况下,将在遍历DAG时显示进度。当前支持的统计信息包括DAG大小和数据块数量。

我们已经更改了dis.ipfs.io(或/ipns/Dist.ipfs.io)上的官方二进制发行版使用的构建标志,以使用更简单、更可靠的-trimpath标志,而不是更复杂、更脆弱的-asmflag=all=-trimpath=";$(GOPATH)";-gcflag=all=-trimpath=";$(GOPATH)";标志,但是go-IPF中默认使用的构建标志保持不变。

Go-ipfs-example-plugin中的脚本已经更新,以反映此更改。这是一个突破性的变化,人们根据go-ipf和插件的dis.ipfs.io二进制文件构建插件的方式应该相应地更新他们的构建过程。有关详细信息,请参阅go-ipfs-example-plugin/Pull/9。

有关此版本中包含的更新的完整列表,您可以在https://github.com/ipfs/go-ipfs/blob/v0.7.0/CHANGELOG.md#v070-2020-09-22.查看更改日志

非常感谢在这个版本中贡献补丁和改进的所有人,53位!如果没有您的帮助和反馈,我们不可能做到这一点。❤。

根据您的技能、兴趣和可用性,参与IPF的方式有很多种。请查看我们在GitHub上的投稿页面,以获得指导和下一步行动。