从Brave迁移到IPFS桌面版:完整数据迁移指南

本文详细介绍了如何将IPFS节点从Brave浏览器迁移到IPFS桌面版的完整过程,包括迁移原因、时间预估、系统要求、具体操作步骤以及配置调整,确保用户数据完整迁移并继续访问IPFS资源。

从Brave迁移到IPFS桌面版

2024年8月26日

#brave #browsers #IPFS Desktop

背景

2021年,IPFS维护者与Brave团队合作,在Brave浏览器中添加了对IPFS的原生支持。这是IPFS节点在浏览器中的首次深度集成。经过三年多的时间,Brave团队决定移除对运行IPFS节点的支持,因为我们无法找到双方同意的条款来使这种集成可持续。该移除已在8月22日发布的最新稳定版本(v1.69.153)中实施。

虽然这一变化可能让一些人失望,但它提供了一个采用更强大和灵活的IPFS设置的机会。本指南将引导您完成将IPFS数据从Brave迁移到IPFS桌面版的过程,确保您不会丢失任何重要文件,并保持对浏览器中IPFS资源的访问。

为什么需要迁移?

即将移除:Brave中的IPFS节点功能正在逐步淘汰,一旦您更新到v1.69.153或更高版本,就会发生。虽然升级不会删除与IPFS节点相关的数据,但迁移是确保不间断访问IPFS数据所必需的,特别是如果您固定了某些内容或使用IPNS发布了内容。

功能改进:迁移到独立的IPFS解决方案(如IPFS桌面版)具有多个优势:

  • 自动安全性和性能更新,不依赖浏览器更新
  • 能够自定义IPFS节点配置,无供应商特定的覆盖
  • 浏览器无关的后台服务,允许节点独立于任何特定浏览器运行
  • 通过系统状态栏图标轻松访问WebUI中的文件,以及右键文件管理器集成(在Windows上)

时间投入

迁移IPFS节点是一个相对快速的过程。大多数用户可以在5到15分钟内完成转换,具体取决于他们对IPFS和系统配置的熟悉程度。

前提条件

在开始之前,您需要安装两个关键组件,以替换Brave中的功能,使用仍然可以在Brave中工作,但也可以在大多数其他浏览器中工作的IPFS堆栈。

IPFS桌面版是一个完整的节点应用程序,在您的计算机上运行Kubo,管理您的IPFS存储库,并为IPFS操作提供图形界面。请按照此处的安装指南下载IPFS桌面版。选择适合您操作系统的版本(Windows、macOS或Linux)并按照安装说明操作。

IPFS Companion是一个浏览器扩展,允许您直接从Web浏览器与IPFS内容交互,从本地IPFS节点加载内容,并在地址栏中保持对ipfs://和ipns://的临时支持。安装IPFS Companion的最简单方法是通过浏览器的特定扩展和附加组件商店。

移动Brave IPFS存储库

IPFS存储库,通常称为$IPFS_PATH(又名~/.ipfs),包含您所有的IPFS数据、IPNS密钥和IPFS节点的PeerID身份。Brave的IPFS节点使用与Kubo相同的存储库格式,使得迁移到IPFS桌面版相对容易。

如果您以前没有使用过IPFS桌面版,您可以简单地将IPFS桌面版创建的.ipfs与来自Brave节点的.ipfs交换。这是迁移节点的最简单方法,所有数据、固定、IPNS密钥、地址和PeerID将保持不变,IPNS发布将继续工作。

首先,我们需要定位您的Brave IPFS存储库。Brave管理的IPFS节点的配置目录可以在浏览器的配置文件目录中找到,位于名为brave_ipfs的子文件夹中。您可以通过打开brave://version/,找到"Profile Path",并将/Default替换为/brave_ipfs来找到您的IPFS目录:

Windows%LOCALAPPDATA%\BraveSoftware\Brave-Browser\User Data\brave_ipfs 示例:C:\Users\YOURUSERNAME\AppData\Local\BraveSoftware\Brave-Browser\User Data\brave_ipfs

macOS~/Library/Application Support/BraveSoftware/Brave-Browser/brave_ipfs 示例:/Users/YOURUSERNAME/Library/Application Support/BraveSoftware/Brave-Browser/brave_ipfs

Linux~/.config/BraveSoftware/Brave-Browser/brave_ipfs 示例:/home/YOURUSERNAME/.config/BraveSoftware/Brave-Browser/brave_ipfs

要确认您找到了正确的目录,请打开brave_ipfs/config并记下PeerID的值,它将作为您的Brave存储库的唯一标识符。

现在,我们将此存储库移动到IPFS桌面版的默认位置:

Windows%USERPROFILE%/.ipfs 示例:C:\Users\YOURUSERNAME\.ipfs

macOS~/.ipfs 示例:/Users/YOURUSERNAME/.ipfs

Linux~/.ipfs 示例:/home/YOURUSERNAME/.ipfs

在继续之前,请确保目标位置不存在.ipfs目录。如果您已经有.ipfs,请关闭IPFS桌面版并将.ipfs重命名为.ipfs.old作为预防措施,以避免数据丢失。

现在,将brave_ipfs目录从Brave配置文件移动到IPFS桌面版期望的位置。您可以在终端或命令提示符中使用以下命令:

Windows

1
IF NOT EXIST "%USERPROFILE%\.ipfs" MOVE "%LOCALAPPDATA%\BraveSoftware\Brave-Browser\User Data\brave_ipfs" "%USERPROFILE%\.ipfs"

macOS

1
test ! -d ~/.ipfs && mv ~/Library/Application\ Support/BraveSoftware/Brave-Browser/brave_ipfs ~/.ipfs

Linux

1
test ! -d ~/.ipfs && mv ~/.config/BraveSoftware/Brave-Browser/brave_ipfs ~/.ipfs

使用迁移的IPFS存储库启动IPFS桌面版

移动完成后,如果您的home目录中存在.ipfs/config,并且包含您的Brave节点的PeerID,则可以确认迁移成功。如果.ipfs/config存在,您现在可以启动IPFS桌面版。如果一切按预期进行,您的IPFS节点应该启动并在没有Brave的情况下运行。

可选:调整配置

Brave集成的IPFS节点有一些缺点。对WebUI的访问隐藏在brave://ipfs-internal后面。DNSLink检测基于HTTP头部而不是DNS TXT查找。运行IPFS节点需要Brave浏览器打开才能进行内容和IPNS公告功能,并且在早期,甚至在首次使用ipfs://之前甚至没有启动ipfs守护进程,导致本地存储库的内容无法提供给IPFS主网对等节点。存储库缓存人为限制为1GiB大小,并与浏览器缓存一起被驱逐,降低了共同托管随意浏览数据的对等节点的效用。

切换到IPFS桌面版+Companion解决了这些缺点中的大部分,但是您可能需要调整一些设置以获得独立IPFS节点的全部好处。

更新缓存大小

Datastore.StorageMax控制分配给未固定数据(如访问的IPFS网站或您已查看但不想永久固定的其他内容)的空间量。拥有更大的缓存提高了网络上的数据可用性,使网站更具弹性。

要将IPFS块缓存大小(Datastore.StorageMax)从1GB增加到至少100GB(Kubo中的当前默认值):

1
2
3
$ ipfs config Datastore.StorageMax
1GB
$ ipfs config Datastore.StorageMax 100GB

更新IPFS Companion中的RPC URL

Brave使用自定义端口:45001用于RPC,48080用于网关。如果IPFS Companion浏览器扩展在从Brave迁移存储库后未检测到您的节点,您需要在Companion首选项中更新RPC和网关URL。

将Kubo RPC URL从http://127.0.0.1:5001更改为http://127.0.0.1:45001 将本地网关从http://127.0.0.1:8080更改为http://127.0.0.1:48080

或者,更新.ipfs/config并将所有出现的45001替换为5001,48080替换为8080。在更改之前,请确保没有任何东西在这些端口上监听。

结论

恭喜!您已成功将IPFS数据从Brave迁移到IPFS桌面版。如果您在迁移过程中遇到任何挑战或需要进一步帮助,请随时在下面的线程中留言。社区在这里提供帮助,您的反馈也可以帮助其他可能经历相同过程的人。

常见问题解答

是否可以将brave_ipfs移动到.ipfs以外的不同位置?

是的,但您需要在运行IPFS桌面版之前设置IPFS_PATH环境变量以指向新位置。请参阅IPFS桌面版如何选择IPFS存储库位置?

在哪里可以找到IPFS桌面版的FAQ/故障排除?

请参阅github.com/ipfs/ipfs-desktop/#faq–troubleshooting

可以使用Kubo代替吗?

是的,熟悉命令行的高级用户可以使用Kubo代替IPFS桌面版,并针对自定义IPFS_PATH运行它以运行无头守护进程,或通过CLI执行选择性手动迁移。

如何使用Kubo CLI导出我的文件(MFS)?

要将MFS的内容导出到CAR,请运行以下命令:

1
2
3
$ export IPFS_PATH=/path/to/brave_ipfs
$ export MFS_ROOT="$(ipfs files stat / | head -1)"
$ ipfs dag export $MFS_ROOT > mfs-backup.car

然后,可以在另一个节点上导入并添加到MFS:

1
2
3
4
$ export IPFS_PATH=/path/to/some/other/.ipfs
$ ipfs dag import ./mfs-backup.car
$ ipfs files cp /ipfs/$MFS_ROOT /brave_mfs_backup
$ ipfs pin rm $MFS_ROOT

注意:低级固定(由dag导入创建)可以在导入后移除(pin rm),因为MFS中的存在足以保护数据不被垃圾回收。

如何使用Kubo CLI手动迁移我的IPNS名称?

要导出IPNS密钥并使用它们重新发布,请参阅ipfs key –help和ipfs name –help。

如何修复错误:ipfs存储库需要迁移,请运行迁移工具?

IPFS桌面版应在您第一次启动时运行迁移,但如果您使用Kubo CLI,您可能需要运行ipfs daemon --migrate=true一次,以升级到最新版本。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计