2021-06-07 11:25

以太坊跨链基础项目Lighthouse,可通过Textile简化星际文件系统存储工作流程

Lighthouse(灯塔)的项目为Ethereum智能合约提供一种方式,它通过Textile.io的Powergate请求星际文件系统中的CID在星际文件系统上存储,大大简化了星际文件系统中的存储工作流程。

Lighthouse的出现能够使以太坊开发人员通过星际文件系统上进行可加密验证和激励的分布式存储,并且轻松扩展至IPFS存储中。据悉,Lighthouse是通过直接部署在以太坊上的智能合约进行交互,从而大大减少了与Ethereum开发人员与星际文件系统存储网络进行交互产生的摩擦。该项目最初是受[Quasar]项目的启发而开发的,目前该项目已针对Aragon和IPFS进行了研究。

项目整体运作流程

  1. 在以太坊上部署Lighthouse智能合约,可以通过传入现有IPFS CID并配置请求星际文件系统存储来触发交易。CID表示要存储文件的唯一ID,而config表示必须根据其存储文件进行的配置。
  2. 进行交易时,智能合约会发出带有CID和config的事件,该事件会被Vulcanize数据库实例拦截。Vulcanize DB是基于IPLD的以太坊链的开源Postgres数据库。
  3.  Lighthouse节点监测到Vulcanize实例,并从Vulcanize实例中接收CID和配置。然后,Lighthouse节点将CID和配置发送给Powergate实例,该实例已被设置为代表用户与星际文件系统网络进行存储交易的编码。随后, Lighthouse节点公开一个WebSocket,该WebSocket给出了特定CID的存储信息。并且此WebSocket还用于取回星际文件系统网络上存储的文件。
  4.  Lighthouse节点与Powergate实例进行交互后,会根据用户请求,从星际文件系统网络检索和存储信息、文件本身。
    如何使用Lighthouse
    Lighthouse的智能合约当前部署在以太坊Rinkeby测试网的地址如下:0xdFEa08D7c2B43498Bfe32778334c9279956057F0用户可以通过调用store函数来与合同进行交互,该函数通过Remix或其他IDE / web3库接受两个参数CID和Config。输入过程
    CID—QmTJYDuVWNnRn6g4AjRE5adZ9GwTm7Sgu2Zj75a3xibDRJ
    配置

注意,此CID是文件的唯一ID,而Config表示要存储在星际文件系统上的文件的配置。Lighthouse节点使用Textile.io的Powergate配置将数据存储在星际文件系统上,用户也可以在此处了解更多信息。

提交事务以调用Lighthouse时,用户可以接收存储状态并从Lighthouse节点公开的WebSocket检索和存储的文件。您可以运行以下客户端代码示例来实现此目的:

https://github.com/nandit123/lighthouse/blob/master/client.js上面的客户端代码连接到托管的Lighthouse后,该Lighthouse会在13.126.82.18:3002处公开一个Websocket,用户可以将其更改为自定义或本地主机。在上面的代码段中需提供CID,并将其返回当前的存储状态。另外再从星际文件系统网络中取回文件。此检索可能需要一些时间,具体取决于用户需存储的文件大小。

如何运行自己的Lighthouse节点

因为目前官方的设置中,Lighthouse节点是完全开源的,任何人都可以在上面运行。

Github链接:

https://github.com/nandit123/lighthouse

智能合约代码链接:

https://github.com/nandit123/lighthouse-contract

此外,要运行整个Lighthouse节点,还需要设置Powergate和Vulcanize才能使整个项目端到端地进行工作:

1.克隆这个项目

2.安装所有项

3.全局安装pm2

4.运行服务器

5.通过以下方式查看日志

1、设置Powergate要了解有关Powergate和设置的信息-Powergate Docs,当用户已运行Powergate时,请使用POWERGATE_URL,POW_ID,POW_TOKEN并将其替换为Lighthouse项目存储库中的环境文件。

2、设置Vulcanize用户可以通过聆听官方部署的智能合约中的事件,Lighthouse节点已经通过graphql订阅收听Vulcanize。如果仍然需要自行设置vulcanize watcher来侦听已部署的智能合约中的事件,则可以按照此处的步骤操作:

https://gist.github.com/nandit123/2cd44760cefb6061fb8a2a2e1894e72b。

应用领域

作为便利的基础架构,该项目对于以太坊开发人员在无需设置自己的星际文件系统节点的情况下请求可验证的文件数据存储是非常有用。这将让各种应用部署在星际文件系统存储,并且Defi应用程序的记录长期存储NFT,这些NFT主要存储在IPFS或集中式固定服务在星际文件系统存储并且与当前dapp集成,而无需在堆栈中添加新技术Dapps,这样一来,两个或两个以上的参与者之间互相交换数据,以换取以太坊区块链上的以太币或其他代币。

未来目标

Lighthouse的出现只是连接以太坊和星际文件系统的开始,在未来还会有更多功能组合在一起。其中一些措施包括将星际文件系统存储交易状态发布以太坊区块链,或从外部智能合约自动续订存储交易,或是通过为用户赢得利益的外部defi智能合约付款。我们欢迎任何意见和反馈,并努力做出您希望看到的功能。

本文链接:https://www.8btc.com/media/6646008
转载请注明文章出处

评论
登录 账号发表你的看法,还没有账号?立即免费 注册
下载
阅读
分享
评论
点赞
上一篇
下一篇