请选择 进入手机版 | 继续访问电脑版
开启辅助访问
链路首页链路财经目前收录 币种 : 4908 交易所 : 310钱包 : 17 24H 交易量 : $43,403,137,051 总市值 : $245,388,183,835
2019
01/09
10:31
分享
评论
  • 通过在Unsplash上捕捉人类心脏的  照片


    星际文件系统(IPFS)是一个协议和网络设计成产生一个内容可寻址对等网络存储和共享的方法的超媒体在一个分布式文件系统。这是相当令人满意的,但它基本上归结为对互联网的重新想象,每个人都参与存储和内容共享。对等方通过协议连接和共享内容或数据,这些协议旨在确保Web上内容的实际位置不如内容本身重要。我们之前已经讨论过这个问题,它对互联网的未来有着巨大的影响。

    随着IPFS越来越受欢迎,添加到IPFS的任何给定内容的可能性将继续增加。但是,重要的是要记住节点将它们存储的数据视为缓存,这意味着无法保证数据将继续存储。对于我们需要或想要长期拥有的重要数据,我们可以它固定在我们的本地节点上,告诉我们的IPFS对等体数据是重要的并且不应该丢弃(也就是垃圾收集)。例如,textile.io在IPFS上有纺织品主机,但由于它对我们来说非常重要,因为它始终可用,我们确保它固定在我们自己的IPFS服务器对等体上!

    对于不经常更改的静态站点,或者由组织或开发人员组存储的数据,这一切都很好,但是对于我自己的个人文件呢?当然我可以在我的本地机器上运行一个IPFS对等体(我这样做,我强烈推荐使用IPFS桌面),但是如果我关闭了我的同伴呢?还是我下线了?或者我需要运行更新?您当然可以使用现有的基于付款的服务,例如PinataTemporalEternumConstellation(如果您不想自己托管任何东西,这些都很棒!)......但如果我能拥有自己的东西,那会不会很好个人固定服务?什么东西可以为我提供远程文件,最小化和最大的正常运行时间?当然可以,所以让我们设置一个!

    纺织咖啡馆

    Textile提供基于IPFSlibp2p构建的加密,可恢复,基于模式和跨应用程序的数据存储。我们认为它是一个分散的数据钱包,内置协议用于共享和恢复,或者更简单地说,是一个开放的可编程iCloud。就像iCloud拥有自己的存储后端一样,Textile使用IPFS在分散的,开放的同行网络中存储数据。

    随着最新版本的Textile,我们有了几个工具(了解我们维基上的命令行工具的更多信息),这使得设置您自己的个人(或公共)固定服务变得轻而易举。为此,您需要daemon咖啡模式下运行Textile 。这意味着节点(包装IPFS对等体)将打开供您连接,将消息中继到其他连接的“应用程序”,缓存较大的文件(例如加密图像),甚至帮助实现对等点发现一般的网络。但最重要的是,这意味着您可以获得Cafe pin内容!

    建立

    “手动”(但仍然很简单)的方式

    您可以按照以下步骤来设置您的Textile命令行工具。它应该只需要几分钟,具体取决于网络速度和您已安装的工具。完成设置后,我们可以将Peer设置为在Cafe模式下运行。目前,您可以在本地计算机上运行所有这些步骤,但是为了获得更好,更永久的解决方案,您可能需要设置基于云的计算机(请参阅下面的简单方法)。出于本演示的目的,我假设您已将其部署在“远程”机器上,并将其称为......

    运行远程Textile后台程序后,我们将更新配置文件以启用Cafe模式。如果需要,可以手动执行此操作(~/.textile/repo/textile直接编辑),但最简单的方法是使用textile config命令行工具。首先,将您的Host.Open条目设置为true:

    textile config Cafe.Host.Open true

    接下来,您需要确定Cafe节点的公共IP地址。这样,您就可以在提交PIN请求时直接访问Peer。如何访问它并不重要,但如果您在路由器或网关后面运行Peer,则可能必须设置端口转发或其他“技巧”以确保您的Peer可访问(如果您只是要通过LAN访问它,您可以使用其私有IP地址)。

    textile config Cafe.Host.PublicIP \“$ IP \”

    你也想改变你的默认Cafe,并Gateway Addresses本地主机的默认路由,实现server模式,并且,如果你通过HTTPS通过负载平衡器提供咖啡服务,你还需要指定一个公共HTTP URL(离开了这一点,如果这听起来像一个很多额外的工作)!

    textile config Addresses.CafeAPI \“0.0.0.0:40601 \” 
    textile config Addresses.Gateway \“ 0.0.0.0:5050 \”
    textile config IsServer true
    textile config Cafe.Host.HttpURL \“https://mycafe.io \”

    当你使用类似下面的单行内容(IP你在哪里导出的公共IP地址,URL如果你是如此倾向于你的公共网址)一次初始化Peer时,你也可以进行上述所有配置设置:

    textile init -s $(textile wallet init | tail -n1)\ 
     --server --cafe-open --swarm-ports = 4001 \
     --cafe-http-url =“$ URL”\
     --cafe-public- ip =“$ IP”\
     --cafe-bind-addr =
     0.0.0.0:40601 \ --gateway-bind-addr = 0.0.0.0:5050

    '自动'(绝对容易)的方式

    想在可公开访问的云计算机(如Amazon EC2实例)上部署Textile Cafe吗?我们帮你盖好了!这是一个脚本(你还需要这个配套安装程序),它将一次性为你设置整个过程。您所需要的只是您的实例的SSH密钥,其公共IP地址以及您要部署的Textile版本(例如v1.0.0),并且您很高兴(假设您的用户名已ec2-user准备好根据需要进行编辑)!唯一要记住的是,您必须在远程实例上打开Cafe和Swarm端口。默认情况下,这些是4001针对swarm和40601Cafe:

    ./init.sh -k key.pem -r 1.0.0.0 -p xx.xxx.x.xxx -u http://xx.xxx.x.xxx:40601

    快速测试

    无论使用何种方法,一旦您进行了咖啡馆设置,您就可以使用以下工具测试它是否正常运行curl

    卷曲“http://xx.xxx.xx.xxx:40601/health”

    204如果一切顺利,你应该得到回应。想更新/升级你的咖啡馆?我们也有你在那里!这是脚本(这里是配套安装程序)。

    注册

    现在我们拥有自己的个人(远程)纺织品咖啡厅设置,是时候用它注册我们的本地“应用程序”了。现在,我们将在本地运行一个vanilla Textile Peer,并以这种方式连接。如果您尚未设置本地对等方,则可以使用与以前相同的步骤,这次是在本地计算机上。我们将这个香草纺织品同行称为“本地”同行,并将上述Cafe Peer称为“远程”同行。

    因此,如果您的“远程”Peer实际上并不是远程的(即,您按照上面的手动步骤并在本地计算机上运行它们),那么您将必须通过指定备用存储库位置和端口来创建第二个单独的 Peer对于您的Peer命令API(--api=http://127.0.0.1:41600如果您使用的是替代API端口,则还必须将标志添加到以下命令中):

    textile init -s $(textile wallet init | tail -n1)--api-bind-addr = http://127.0.0.1:41600 --swarm-ports = 4101 --repo-dir = / full / path / to /回购

    在您当地的Peer准备好的情况下,只需将其注册到远程Cafe Peer即可。你需要Cafe Peer的ID,你可以通过它textile peer(在你的'远程'机器上运行)。现在,注册(本地):

    纺织品咖啡馆添加

    这将返回包含accessrefresh JSON Web令牌(JWT)的JSON响应,您可以在与远程固定服务进行通信时使用该响应。纺织品使用JWT来确保您不仅仅是为了咖啡馆里的任何人而无所事事地固定文件。JSON Web令牌是一种开放的行业标准(RFC 7519)方法,用于表示在(两个)方之间安全地断言一些索赔的访问令牌

    您可以通过以下工具列出您注册的咖啡馆textile cafes ls,甚至access使用jq (我们在之前的帖子中介绍过)中提供的工具提取特定的令牌组件:

    纺织咖啡馆ls | jq'。[]。access'

    您可以在多家咖啡馆注册,从而确保您的数据更加便捷和安全。您需要做的就是使用不同的远程咖啡馆重复上述步骤。您可以部署自己的,或使用Textile的咖啡馆之一。现在,有了您的access令牌,您可以 “手动”连接到您的Cafe的REST API并开始添加/固定文件......但是有一种更简单的方法!

    添加和固定

    一旦本地对等体注册到远程咖啡馆,添加到线程的任何文件将自动添加并固定到远程咖啡馆。实际上,实际上没有额外的工作需要自定义远程固定服务设置。开始,注册,创建,添加,完成。更妙的是,通过线程向您的远程咖啡馆添加数据,您可以获得结构化数据,加密工具,可修复性甚至可恢复性的好处!这是一些不错的功能。不想构建您的线程数据?只需使用简单的blob 架构并添加您想要的任何内容。

    要实现这种魔力,您需要创建一个带有(可能是自定义)架构的新线程。这非常简单,我们已经为此提供了基本的指南/演示(此外我们也在这里此处提到过)。对于初学者,如果你想创建一个私人线程来存储你的照片,你会做这样的事情(使用我们的内置media架构):

    纺织线程添加照片线程--media

    这将输出有关您的新线程的一些信息,包括它id。然后,只需逐个添加照片,或一次添加整个目录。您甚至可以使用--group标志创建相册(或任何类型数据的相册):

    textile添加照片/ --caption =“moar pics”--thread =  --group

    在引擎盖下,您添加的文件/数据将被推送到您的Cafe的商店请求队列中。这本质上是一个请求队列......你猜对了,存储和固定数据。Cafe会机会性地处理此队列,添加并固定您本地Peer发送的数据。对于繁重的流量应用程序,此队列可能需要一些时间来处理(例如,大型照片专辑),但是应该处理数据并在处理完成后通知本地对等体。

    不想手动添加数据文件吗?好吧,如何看一个简单的单行程序来查看新文件的文件夹,然后自动将它们添加到备份线程(需要fswatch 和你的线程id)?

    fswatch --event Created --event MovedTo path / to / folder | xargs -I {} textile add {} -t 

    多么酷啊。你基本上只用不到15行的命令行魔法创建了自己的自定义Dropbox。随着Textile的备份和恢复工具进入管道,您将能够从任何计算机登录并从远程咖啡馆同步您的文件!全部使用完全分散/联盟的对等网络。

    摘要

    毕竟,使用Textile设置自定义远程固定服务实际上只需几个简单的步骤

    1. 设置在Cafe模式下运行的远程Peer

    2. 设置本地默认对等方

    3. 使用远程咖啡馆注册您的本地同伴

    4. 创建一个Thread,然后开始添加数据

    5. 放松......您的数据现在在dweb上安全可靠!

    什么是IPFS?

    PFS全称是Inter Planetary File System,直接翻译的话叫做“星际文件系统”,它由Protocol Lab提出,是一种点对点(P2P)的分布式文件系统。不过虽然说它是文件系统,是一种用来存储数据的技术,但更确切的说IPFS是一种传输协议。IPFS将HTTP视为对手,宣传上要对飙HTTP,而HTTP(超文本传输协议)就是一种传输协议,现在大家都在用,这里就不再另行科普。类比HTTP,我们要在网上找到想要的内容,就要输入网址,网址是多是HTTP开头,所以也必须经过它。HTTP通过域名、IP及多个中心服务器的中转,再进行文件的上传下载。HTTP的功绩无可取代,现在我们上网都要依赖于HTTP。但HTTP也存在一些问题,比如性能效率不是非常高,过度依赖于中心服务器与主干网络等等。IPFS与之相比,它是一种多中心化的解决方案,内容寻址不是通过域名、IP,而是通过唯一HASH密钥来进行数据寻找。IPFS是个分布式文件存储系统,文件数据并不储存在一个中心化的服务器中,而是存储在网络上所有符合条件的电脑上。这一点有点像P2P种子下载,比如你下载一部小电影,下载资源来自网络上许许多多也在下载该电影的用户的电脑,而不是从某个电影网站的中心服务器下载。当然,IPFS不止如此,还有很多其他的特性,层次与应用范围并不是P2P下载可相比的。



    各位喜欢IPFS或者对区块链这方面感兴趣的小伙伴们,你们有福利啦!扫描下方二维码,加入我们的IPFS线下沙龙交流群,我们会不定期邀请区块链及IPFS行业专家进行直播讲课,具体的时间和地址请大家进群等候通知!


    更多IPFS最新相关信息请关注微信公众号:区块星球BlockPlanet

主题帖 73 关注 0 粉丝 0
情感指数

链路大数据分析置信度 23.65 %

TA的主题帖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表