IPFS技术发展:go-ipfs 0.7.0发布

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


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


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


Go-IPFS 0.7.0 亮点


SECIO 现在默认禁用


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


Ed25519 键现在默认使用


以前 go-ipfs 为新节点生成 2048 位 RSA 密钥,但现在默认使用 ed25519 密钥。这不会影响任何现有的键,但是新创建的键默认为 ed25519。在 RSA 之上使用 ed25519 密钥的主要好处是 ed25519 密钥具有内联公钥。这意味着某人只需要你的 PeerId 来验证你已经签名的东西,比如你的对等记录或未来签名的提供者记录,这意味着我们不必担心存储大量的 RSA 公钥。


旋转密钥


除了切换默认密钥类型外,我们还添加了对旋转标识密钥的支持。如果您想更改 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…)。我们现在将它们编码为 peerID 规范(例如k51xyz…)中定义的 base36 编码的 cidv1,该规范也处理公钥的编码。很好,因为这意味着 IPNS 密钥默认情况下不区分大小写,并且它们将适合 DNS 标签(例如k51xyz...ipns.localhost),因此在默认情况下,子域网关重定向(例如从localhost:8080/ipns/{key}{key}.ipns.localhost)对用户而言会更好。


许多命令将接受-ipn -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这样的字符串…除了默认的/p2p/Qmabc…许多输出peerid的函数都有一个对应的--peerid-base选项:

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


dag stat命令


添加了对ipfs dag stat命令的初始支持。运行此命令将遍历给定根 CID 的 DAG 并报告统计信息。默认情况下,将在遍历 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 插件中的脚本已经更新以反映这一变化。对于人们一直在构建针对 dists .ipfs 的插件来说,这是一个突破性的变化。go-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 来开始使用。


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


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

End

非常感谢您对 IPFS&Filecoin 项目的持续支持。我们很高兴继续与您一起,为人类信息建立一个强大的,去中心化和高效的基础。

FilCloud 帮你迅速了解 IPFS 领域的热点技术和应用公众号:filcloud

24小时热点

“探宇”数字藏品简介

探宇数字藏品是一个专业的藏品收藏和管理社交网络,集藏品管理、 ...

9182

双子星交易所

热点专题

虚拟货币传销/诈骗案件的通常做法

当更多人似懂非懂的对虚拟货币有些模糊的概念,还搞不清比特币和 ...

4225595

瓦特(WBF)交易所

gpt4.0中文版免费

GPT-4(生成预可训练技术4.0)是一个由OpenAI开发 ...

3933665

维公链

iBox 链盒科技

据iBox官方消息,9月17日20:00,iBox将正式发布 ...

3410870

iBox

揭秘网络传销行骗七大套路!

不管网络传销打着什么旗号,戴着什么面具,即便有着“72变”, ...

3055365

A网(AOFEX)交易所

Gem和Genie功能大对比

2022年4月25日,OpenSea官方发推宣布收购NFT交 ...

2395214

TopHolder 头号藏家

Genie 就是一个 NFT 市场的交易聚合器

Web3 中的「聚合器」是一个非常重要的组件,例如 1inc ...

2361268

嗨艺购

一文读懂NFT 交易聚合器GEM

购买 NFT 的主要问题之一在于,限制了用户一次只能购买一个 ...

2321380

第九空间

fc2是什么网站?fc2点击在此访问

FC2是日本最大的乃至亚洲最大的域名服务商,也是一家全面的网 ...

1968787

币团交易所

亚洲最大成人平台“SWAG”网站关停,负责人被捕

2020 年,SWAG 发行了 6.25 亿枚治理代币 SW ...

1749969

NFT和元宇宙

afd爱发电是什么网站 afd登录入口在哪

为什么需要爱发电? 我们认为,长期耕耘一件事或几件事的创作 ...

1741276

SAN币