Kubo是IPFS的首个实现,也是目前最广泛使用的实现。它实现了星际文件系统——一个与HTTP兼容的Web3内容寻址标准。因此,它由IPLD的数据模型和libp2p网络通信驱动。Kubo使用Go语言编写。
功能集
/ipfs和/ipns)功能,用于可信和无需信任的内容检索/routing/v1)客户端和服务器,用于委托路由查找/api/v0)以访问和控制守护进程/api/v0)RPC API的命令行界面参见列表
IPFS是一个全球性的、版本化的、点对点的文件系统。它结合了之前系统的优秀理念,如Git、BitTorrent、Kademlia、SFS和Web。它就像一个单一的BitTorrent群,交换git对象。IPFS提供了一个像HTTP网络一样简单的接口,但内置了永久性。你还可以在/ipfs挂载整个世界。
更多信息请参见:https://docs.ipfs.tech/concepts/what-is-ipfs/
在提出问题之前,请考虑使用以下位 置之一,以确保您在正确的地方开启讨论:
请遵循SECURITY.md。
IPFS可以在大多数Linux、macOS和Windows系统上运行。我们建议在至少有4 GB RAM和2个CPU核心的机器上运行(kubo具有高度并行性)。在内存较少的系统上,它可能不完全稳定,您需要自行承担风险。
IPFS的标准下载说明位于:https://docs.ipfs.tech/install/。如果您不打算进行IPFS开发工作,**强烈建议**您遵循这些说明。
官方镜像发布在https://hub.docker.com/r/ipfs/kubo/:
master-latest始终指向master分支的HEADmaster-YYYY-DD-MM-GITSHA指向master分支的特定提交$ docker pull ipfs/kubo:latest $ docker run --rm -it --net=host ipfs/kubo:latest
要自定义您的节点,
通过-e传递必要的配置或通过挂载脚本到/container-init.d。
了解更多信息,请访问https://docs.ipfs.tech/install/run-ipfs-inside-docker/
官方二进制文件发布在https://dist.ipfs.tech#kubo:
从那里:
ipfs)移动到您的路径中(install.sh可以为您完成此操作)。如果您无法访问dist.ipfs.tech,您也可以从以下位置下载kubo(go-ipfs):
IPFS有一个可以通过ipfs update访问的更新工具。该工具不与IPFS一起安装,以保持该逻辑独立于主代码库。要安装ipfs-update工具,在此处下载。
列出可用的Kubo(go-ipfs)实现版本:
$ ipfs cat /ipns/dist.ipfs.tech/kubo/versions
然后,要查看上一个命令中某个版本($VERSION)的可用构建:
$ ipfs ls /ipns/dist.ipfs.tech/kubo/$VERSION
要下载特定版本的构建:
$ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_darwin-386.tar.gz # darwin 32位构建 $ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_darwin-amd64.tar.gz # darwin 64位构建 $ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_freebsd-amd64.tar.gz # freebsd 64位构建 $ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_linux-386.tar.gz # linux 32位构建 $ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_linux-amd64.tar.gz # linux 64位构建 $ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_linux-arm.tar.gz # linux arm构建 $ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_windows-amd64.zip # windows 64位构建
# pacman -S kubo
https://wiki.gentoo.org/wiki/Kubo
# emerge -a net-p2p/kubo
https://packages.gentoo.org/packages/net-p2p/kubo
使用纯函数式包管理器Nix,你可以这样安装kubo (go-ipfs):
$ nix-env -i kubo
你也可以通过它的属性名来安装包,属性名同样是kubo。
$ sudo eopkg install kubo
你也可以通过Solus软件中心安装它。
go-ipfs的社区包已过时。
不再支持,原因见kubo#8688。
Launchpad上的PPA主页。
sudo add-apt-repository ppa:twdragon/ipfs sudo apt update sudo apt install ipfs-kubo
sudo su echo 'deb https://ppa.launchpadcontent.net/twdragon/ipfs/ubuntu <<DISTRO>> main' >> /etc/apt/sources.list.d/ipfs echo 'deb-src https://ppa.launchpadcontent.net/twdragon/ipfs/ubuntu <<DISTRO>> main' >> /etc/apt/sources.list.d/ipfs exit sudo apt update sudo apt install ipfs-kubo
其中<<DISTRO>>是你的Ubuntu发行版代号(例如,22.04 LTS的代号是jammy)。在首次安装时,包维护脚本可能会自动询问你想使用的网络配置文件、CPU计数模型和/或现有节点配置文件。
注意:此方法也可能适用于任何兼容的基于Debian的发行版,只要它们内部有libc6,并使用APT作为包管理器。
不再支持,原因见kubo#9341。
Scoop在其'extras'仓库中提供了名为kubo的包。
PS> scoop bucket add extras PS> scoop install kubo
包ipfs目前指向kubo (go-ipfs)并正在维护。
$ sudo port install ipfs
在macOS中你可以使用纯函数式包管理器Nix:
$ nix-env -i kubo
你也可以通过它的属性名来安装包,属性名同样是kubo。
也维护着一个Homebrew配方ipfs。
$ brew install --formula ipfs
kubo的构建系统需要Go和一些标准POSIX构建工具:
要在没有GCC的情况下构建,请使用CGO_ENABLED=0构建(例如,make build CGO_ENABLED=0)。
如果需要更新:下载最新版本的Go。
你需要将Go的bin目录添加到$PATH环境变量中,例如,通过在/etc/profile(用于系统范围安装)或$HOME/.profile中添加以下行:
export PATH=$PATH:/usr/local/go/bin
export PATH=$PATH:$GOPATH/bin
(如果遇到问题,请参阅Go安装说明)。
$ git clone https://github.com/ipfs/kubo.git
$ cd kubo
$ make install
或者,你可以运行make build来构建go-ipfs二进制文件(存储在cmd/ipfs/ipfs中)而不安装它。
注意: 如果你遇到类似"fatal error: stdlib.h: No such file or directory"的错误,说明你缺少C编译器。要么使用CGO_ENABLED=0重新运行make,要么安装GCC。
为不同平台编译就像运行以下命令一样简单:
make build GOOS=myTargetOS GOARCH=myTargetArchitecture
git才能让go get获取所有依赖项。golang包通常是过时的。
确保go version报告的版本至少是1.10。有关如何安装go,请参见上文。ipfs commands completion子命令之一生成。阅读docs/command-completion.md了解更多信息。要开始使用IPFS,你必须首先在系统上初始化IPFS的配置文件,这是通过ipfs init完成的。有关它接受的可选参数信息,请参阅ipfs init --help。初始化完成后,你可以使用ipfs mount、ipfs add和任何其他命令来探索!
本地验证'ipfs工作'的基本证明:
echo "hello world" > hello
ipfs add hello
# 这应该输出一个看起来像这样的哈希字符串:
# QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o
ipfs cat <那个哈希>
有关与Kubo进行编程交互,请参阅我们的HTTP/RPC客户端列表。
如果你之前安装过IPFS并且在尝试使用较新版本时遇到问题,请尝试删除(或备份到其他地方)你的IPFS配置目录(默认为~/.ipfs)并重新运行ipfs init。这将重新初始化配置文件为默认值,并清除本地数据存储中的任何错误条目。
请将一般问题和帮助请求发送到我们的论坛。
如果你认为发现了bug,请检查问题列表,如果你没有在那里看到你的问题,要么来Matrix聊天与我们交谈,要么提交你自己的问题!
请参阅GO中的IPFS文档。
一些帮助你开始了解代码库的地方:
Add 命令解密进行中:这是该特定实现的各个子系统的高级架构图。将更新它们之间的交互方式。欢迎任何有建议的人在这里评论如何改进! <img src="https://docs.google.com/drawings/d/e/2PACX-1vS_n1FvSu6mdmSirkBrIIEib2gqhgtatD9awaP2_WdrGN4zTNeg620XQd9P95WT-IvognSxIIdCM5uE/pub?w=1446&h=1036">

描述:虚线表示"可能会去掉"。"Legacy"部分是一些命令的薄包装,用于在新系统和旧系统之间进行转换。"daemon"图中灰色部分表示代码是完全相同的,只是根据我们是在客户端还是服务器上运行而开启或关闭某些部分。
make test
如果您对协议缓冲区进行更改,需要安装protoc 编译器。
在docs中查找更多开发者文档。
我 们❤️所有贡献者;没有你们,这个项目就不会是现在的样子!如果您想帮忙,请查看 CONTRIBUTING.md。
本仓库遵循 IPFS 行为准则。
IPFS 社区成员在讨论论坛分类中提供 Kubo 支持。
需要 IPFS 本身的帮助?了解在哪里获取帮助和支持,请访问 https://ipfs.tech/help。
本项目采用 Apache 2.0 和 MIT 双重许可:


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。