见证 | IPFS 0.7.0 SECIO退役版

8月,我们宣布SECIO安全传输已弃用。在此版本默认情况下我们禁用了SECIO,这将对网络上的旧节点产生影响。减轻此更改影响的最佳方法是尽快升级IPFS节点!升

802w9ak0RtKmkrTmVtFSED3hOYSbq3ARyV051pan.png

原文链接:https://blog.ipfs.io/2020-09-24-go-ipfs-0-7-0/

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

在此版本中,你也将开始看到,随着在网络上启动更多的同行ID和IPNS键1而不是典型的Qm。这是由于默认情况下使用ed25519密钥而不是RSA密钥的开关,您可以在下面的突出显示中了解更多信息。

对于那些使用带有IPFS插件的人,下面将对构建过程进行重大更改。

Go-IPFS 0.7.0亮点

默认情况下已禁用SECIO

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

Ed️Ed25519键现在默认使用

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

Rotating keys

除了切换默认密钥类型外,我们还增加了对旋转身份密钥的支持。如果您想更改IPFS节点的密钥类型,现在可以使用Rotate命令进行更改。注意:这会影响您的对等ID,因此请确保您要执行此操作!您现有的身份密钥将在密钥库中备份,以便仍可为IPNS记录等引用。

$ ipfs key rotate -o my-old-key -t ed25519

密钥导出/导入

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

$ ipfs key gen mykey$ ipfs key export -o mykey.key mykey # ./<name>.key is the default path$ ipfs key import mykey mykey.key # on another node

#️IPNS默认将密钥名称编码为base36 CIDv1

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

许多命令都会接受一个--ipns-base选项,该选项允许更改命令输出以使用特定的编码(即base58btc multihash或以任何受支持的基本编码的CIDv1):

$ ipfs key list -l --ipns-base b58mh12D3KooWCjhz69LskTZEC5vFWs8eDpHo7kYbGzrC5EjU75BHSmVK self$ ipfs key list -l --ipns-base base36k51qzi5uqu5dh9ihj4p2v5sl3hxvv27ryx2w0xrsv6jmmqi91t9xp8p9kaipc2 self

多地址现在接受编码为CIDv1的PeerID

为了最终更改默认的PeerID表示形式,多地址现在可以包含/p2p/k51xyz...除default以外的其他字符串/p2p/Qmabc...。--peerid-base许多输出对等ID的功能都有一个对应的选项:

$ ipfs id --format "<id>" --peerid-base b58mh12D3KooWCjhz69LskTZEC5vFWs8eDpHo7kYbGzrC5EjU75BHSmVK$ ipfs id --format "<id>" --peerid-base base36k51qzi5uqu5dh9ihj4p2v5sl3hxvv27ryx2w0xrsv6jmmqi91t9xp8p9kaipc2

dag stat命令

最初的支持已添加到该ipfs dag stat命令。运行此命令将遍历DAG以获取给定的根CID并报告统计信息。默认情况下,遍历DAG时将显示进度。当前支持的统计信息包括DAG大小和块数。

$ ipfs dag stat bafybeihpetclqvwb4qnmumvcn7nh4pxrtugrlpw4jgjpqicdxsv7opdm6e # the IPFS webuiSize: 30362191, NumBlocks: 346

插件构建更改

我们已将dist.ipfs.io(或/ipns/dist.ipfs.io)上官方二进制发行版使用的构建标志更改为使用更简单,更可靠的-trimpath标志,而不是更复杂,更脆弱的-asmflags=all=-trimpath="$(GOPATH)" -gcflags=all=-trimpath="$(GOPATH)"标志,但是go-ipfs中默认使用的构建标志仍然存在相同。

go-ipfs-example-plugin中的脚本已更新,以反映此更改。这是人们根据go-ipfs的dist.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个!没有您的帮助和反馈,我们不可能做到这一点。

安装,升级并加入我们!

您可以通过安装go-ipfs或升级到go-ipfs 0.7来开始使用。

相关链接:https://docs.ipfs.io/recent-releases/go-ipfs-0-7/update-procedure/https://dist.ipfs.io/#go-ipfs

根据您的技能,兴趣和可用性,有很多方法可以参与IPFS。请查看我们在GitHub上的贡献页面以获取指导和后续步骤。

对于IPFS和整个网络来说,这是一个令人兴奋的时刻。加入我们!

声明:登载此文出于传递更多信息之目的,观点仅代表作者本人,绝不代表Hi区块链赞同其观点或证实其描述。

提示:投资有风险,入市须谨慎。本资讯不作为投资理财建议。