如何在IPFS上尽快搜索内容_Filecoin社区_火星财经
2023年04月16日 08:55
今天我要和大家分享的是一篇技术性很好的文章,是一种在IPFS系统中快速搜索内容的方法。
此处假设想要尝试此方法的读者已经拥有自己构建的IPFS系统,并且拥有多个节点所有这些节点都在Ubuntu 16操作系统上运行。
本文
-希望让读者能够在已建立的IPFS系统中快速搜索内容
-在由读者构建的IPFS系统中,节点总是与其他节点断开或断开连接,并且正常节点和IPFS网关都在运行
IPFS是一个强大的协议,用于集中管理文件分发和存储,具有强大的功能,但IPFS有几个缺点,包括并非所有节点都始终互连。
此缺点意味着,如果在整个系统构建时启动了所有节点,这些节点最终可能会彼此失去联系,从而降低内容搜索的速度。
在这种情况下,如果系统正在使用网关然后将用户引导到网关,使网关搜索用户需要的内容时出现问题---如果网关与所有节点没有直接关联,用户搜索的内容需要很长时间才能被发现。
如何解决这个问题?
第一步:获取节点的“多地址”
,在每个IPFS节点上打开命令行工具,然后执行以下命令: [ xy 002 ] [ xy001 ] IP fsid [ xy 002 ] [ xy001 ]
{ID: YourNodeID,PublicKey: YourPublicKey, addresses 3360 [/ip4/127.0.0.1/TCP/4001/ipfs/ypfs ]/ip4/XXX.XXX.XXX.TCP/4001/ipfs/your NFS/ip6/yyyy : yyyy : yyyy : yyyy : yyyy : yyyy : yyyy/TCP/4001/ipfs/your nodeid,/ip6/yyyy : yyyy : yyyy : yyyy : yyyy : yyyy : yyyy/TCP/4001/ipfs/your nodeid,/ip6/yyyy : yyyy : yyyy : yyyy : yyyy : yyyy/TCP/4001/ipfs/your nodeid,/ip4/XXX.xxxx
注意此处的“地址”数组。 包含" multiAddress "的值。 这些值是外部IPFS节点用于连接到节点的数据。 这些结果可能重复,但这没关系。 其中一些值包含外部IP地址,而另一些值包含本地IP地址。 记录包含外部IP地址的值。 如果您的系统使用IPv6,请记录该IPv6的“multiAddress”,如果您的系统未使用IPv6,并记下IPv4中的“multiAddress”。
步骤2 :连接您的IPFS节点现在可以将
系统中的IPFS节点互相连接。 假设您有
节点a和节点b,如果有多个节点,则以下方法也适用: 执行以下命令: [ xy 002 ] [ xy001 ] ipfsswarmconect/ip4/BBB.BBB.BBB.BBB/TCP/4001/ipfs/nodebid [ xy 002 ]
将上面示例中的“多地址”替换为节点b的IP v4“多地址”。 如果“xy 002”“xy001”节点使用的是IPv6,请执行以下命令:
[ xy001 ] ipfsswarmconect/ip6/bbbb : bbbb : bbbb : bbbb : bbbbb : bbbb/TCP/4001/ipfs/nono将以上示例中的“multiAddress”替换为节点b的IPv6 “multiAddress”。 使用“xy 002”“xy001”命令可以获得以下结果:
[ xy001 ] conectnodebidsuccess [ xy 002 ] [ xy001 ]您可以使用以下命令测试这些节点是否互连: [ xy 002 ] [ xy001 ] ipfsswarmpeers [ xy 002 ] [ xy001 ]节点a现在,你应该可以在返回的结果中看到节点b的“multiAddress”; 同样,在节点b上,在返回的结果中应该可以看到节点a的“multiAddress”。当前,节点a和节点b已互连。 如果a搜索的内容位于b中,则搜索将立即进行,并且不能再像普通IPFS那样通过多个节点的中介搜索内容。 这将是节点a搜索内容时,节点b首先查询的对象。
步骤3 :自动化操作在
之前,我们的所有操作都是通过在命令行中手动输入命令来实现的,但有什么方法可以让它们自动运行并使节点永远互连?
Linux服务的计时器可以实现这个目标。
此处假设有一个网关节点。 我希望所有IPFS节点自动连接到此网关。 在每个直接连接到网关的节点上,在该节点中添加以下两个文件:
第一个文件为/etc/systemd/system/gateway-conector.service [ xy 002 ] [ xy 001 ]其内容如下:
[ xy001 ] [ unit ] description=jobthatperiodicallyconectsthisipfsnodetothegatewaynode [ service ] execstart=/home/your注意:在以上文件中,某些值将被您自己的值替换。 [ xy 002 ] [ xy001 ]在execstart中,您的IPFS执行路径将替换为您安装“go /”ipfs可执行文件的路径。
在execstart中,“multiAddress”将替换为通过在网关上运行“ipfs id”获得的返回值。 这里也可以使用IPv6的多地址。 [ xy 002 ] [ xy001 ]在环境中,然后将其替换为安装IPFS repo的路径。 运行" ipfs repo stat "将返回" RepoPath "的返回值。 是这个值。
第号文件为/etc/systemd/system/gateway-conector.timer [ xy 002 ][ xy001 ] [ unit ] description=timerthatperiodicallytriggersgateway-conector.service [ xy 002 ][ xy 001 ] [ timer ] on boot sec=3minonunitactivesec=1min [ xy 002 ] [ xy 001 ] [ install ] wanted by=timers.target [ xy 002 ],“OnBootSec”是您的机器启动后要等待多久才能启动计时器的时间设置。 OnUnitActiveSec是在执行每个“gateway-conector.service”后,在执行下一个“gateway-conector.service”之前等待的时间。
步骤4 :自动运行
创建并运行自动文件。
将上面列出的两个文件添加到每个节点的命令行中,然后运行以下命令:
[ xy001 ] sudosystemctlenablegateway-conector.timer [ xy 002 ] [ xy001 ] sudosystemctlstartgateway-conector.timer要验证我们加入的文件是否有效,请运行以下命令: [ xy 002 ] [ xy001 ] systemctllist-timers [ xy 002 ] [ xy001 ]现在就可以看到“网关控制器”按一下以完成[ xy 002 ] [ xy001 ] systemctlstatusgateway-conector [ xy 002 ] [ xy001 ]。 这样,系统就构建好了。
本文来源: Filecoin社区n原文标题:如何在IPFS上尽快搜索内容声明:本文为入驻“火星”号作者作品,不代表火星财经官方立场。 n转载请联系网页的下部。 内容合作栏,用邮件许可。 许可后转载时,请注明出处、作者、正文的链接。 擅自转载本网站文章,将追究相关法律责任,追究侵权行为。 提示:投资有风险,入市须谨慎,该信息不能作为投资理财的建议。 免责声明:作为区块链信息平台、本站提供的信息不代表任何投资暗示,本站发表的文章仅代表个人观点,与火星财经官方立场无关。 虚拟货币不具有与法定货币同等的法律地位,参与虚拟货币投资交易存在法律风险。 火星经济反对炒作各种代币请投资者理性看待市场风险。 n语音技术由科大讯飞提供关键词:IPFS合法吗? IPFS可靠吗? IPFSFILECOINIPFS开采
推荐阅读
-
企业币和虚拟货币?有什么本质区别吗?
1970-01-01
如果“xy 002”“xy001”节点使用的是IPv6,请执行以下命令: [ xy001 ] ipfsswarmcon...
-
不是虚拟货币可以赚钱吗 你身边有没有玩虚拟币的人。他们都有挣到钱了吗?
1970-01-01
如果“xy 002”“xy001”节点使用的是IPv6,请执行以下命令: [ xy001 ] ipfsswarmcon...
-
虚拟币挖矿交易平台(虚拟货币挖矿是什么意思)
1970-01-01
如果“xy 002”“xy001”节点使用的是IPv6,请执行以下命令: [ xy001 ] ipfsswarmcon...
-
虚拟货币合约交易软件下载 巅峰极速合约150个合约币怎么获得
1970-01-01
如果“xy 002”“xy001”节点使用的是IPv6,请执行以下命令: [ xy001 ] ipfsswarmcon...
-
虚拟币平台哪个好用(虚拟币平台哪个好用点)
1970-01-01
如果“xy 002”“xy001”节点使用的是IPv6,请执行以下命令: [ xy001 ] ipfsswarmcon...
-
北交所换虚拟货币(北京证券交易所的落地将带来哪些机遇?有什么影响和意义?)
1970-01-01
如果“xy 002”“xy001”节点使用的是IPv6,请执行以下命令: [ xy001 ] ipfsswarmcon...