总奖金超12万美元的HackFS开赛,这个项目获官方点赞

本文约1291字,阅读全文需要约2分钟
7月6日,Filecoin Ignite系列活动中的第二项赛事——HackFS,正式开始啦。

7月6日,Filecoin Ignite系列活动中的第二项赛事——HackFS,正式开始啦!Filecoin创始人胡安和ETH创始人Vitalik作为本次大赛的评委,向大会发来了贺电,并邀请全球开发者在活动中构建和展示自己的出色项目。

总奖金超12万美元的HackFS开赛,这个项目获官方点赞

HackFS是一个为期30天的虚拟黑客马拉松,旨在为去中心化网络奠定基础。开发人员将构建dapp、游戏、开发工具、DeFi集成以及其他利用分布式存储的技巧。据悉,本次活动奖金超过12万美元,令人激动!

其中有位叫Austin Thomas Griffith的开发小伙伴,带来了“用以太坊和IPFS来构建HackFS的入门指南——TL;DR”作品展示,受到了IPFS官方的点赞,以下是文字版的介绍。

总奖金超12万美元的HackFS开赛,这个项目获官方点赞

介绍

以太坊上的存储很昂贵。通常,您无需直接将文件放在以太坊上。您可将文件存储在其他位置,并在智能合约中提供对其的引用。但是,您的审查抵抗力是最薄弱的一环!

IPFS是用于在分布式网络中存储文件和从中检索文件的协议。没有人可以关闭的中央服务器,任何人都可以存储文件并参与其中。IPFS中存储的文件可以通过哈希内容寻址,因此,如果文件更改,则该文件的地址也将更改。

Scaffold-ETH非常实用,包括堆栈Buidler、创建-ETH-应用程序,和一堆有用的hooks和组件,可使构建一个去中心化应用程序非常简单!

总奖金超12万美元的HackFS开赛,这个项目获官方点赞

前提条件

您将需要安装NodeJS> = 10、Yarn和Git。

本教程将假定您对Web应用程序开发有基本的了解,甚至可能稍微了解以太坊核心概念。您可以随时在文档中阅读有关Solidity的更多信息,但请首先尝试以下方法:

Getting 入门

打开终端并克隆scaffold-eth repo。这包含了我们为原型和构建去中心化应用程序所需的一切:

git clone https://github.com/austintgriffith/scaffold-ethhackfs

cd hackfs

git checkout ipfs-example

yarn install

注意,在运行yarn install continue on并运行接下来的三个命令时,可能会收到类似错误的警告。它可能会工作!

  • 在您喜欢的编辑器中本地打开代码,然后上下检验:

  • 在packages/buidler/contracts你会发现Attestor.sol。这是我们的智能合约(后端)。

  • 在packages/react-app/src为App.js这是我们的Web应用程序(前端)。

  • 启动您的前端:yarn start

注意,如果不运行以下两行,CPU会运行至极限,在第二个终端中启动由👷Buidler提供支持的本地区块链:yarn run chain

  • 在第三个终端中,编译并部署Attestor合同:yarn run deploy

注意,此项目中有几个名为“contracts”的目录。请多花一点时间以确保已Attestor.sol在文件夹中找到packages/buidler/contracts。

总奖金超12万美元的HackFS开赛,这个项目获官方点赞

前端

在网络浏览器中打开 http:// localhost:3000:

总奖金超12万美元的HackFS开赛,这个项目获官方点赞

这个示例应用程序非常简单。顶部的文本区域允许您输入大量文本,然后可以将其上载到IPFS。上传完成后,您将获得内容的地址。然后,您可以将此哈希发送到智能合约以在链上证明它。

总奖金超12万美元的HackFS开赛,这个项目获官方点赞

代码

用于将文件发送到IPFS的代码非常简单。您将在我们带入ipfs客户端packages/react-app/src的文件中找到App.js以下内容:

const ipfsAPI = require(ipfs-http-client);

然后,我们通过Infura连接:

const ipfs = ipfsAPI({host:ipfs.infura.io,port:5001,protocol:https})

要从IPFS获取文件,请使用:

ipfs.get(hashToGet)

最后,要将文件发布到IPFS,可以使用:

ipfs.add(fileToUpload)

区块链

是时候将您的IPFS哈希写入以太坊了,我们Attestor.sol在packages/buidler/contracts以下方面有合约:

总奖金超12万美元的HackFS开赛,这个项目获官方点赞

如您所见,该合约非常简单。有一个attest接受一个的函数hash。这hash将保存在给定地址的存储器中,并且还会触发事件。(根据您的用例,您可能只想触发一个事件,因为它比在链上存储数据便宜得多。)

为了在我们的前端调用此函数,scaffold-eth有一个tx()包装简单合约调用的助手:

tx(writeContracts [“ Attestor”]。attest(ipfsHash))

这就是TL; DR。您必须深入研究代码以了解更多信息,但是此示例dapp应该可以帮助您入门!以太坊+ IPFS可以构建很多很棒的应用,欢迎留言发表您的想法💬。我们开始了一个Scaffold-ETH&IPFS HackFS支持聊天,欢迎加入我们!

本文翻译自 https://medium.com/@austin_48503/tl-dr-scaffold-eth-ipfs-20fa35b11c35原文链接如若转载请注明出处。

ODAILY提醒,请广大读者树立正确的货币观念和投资理念,理性看待区块链,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。

推荐阅读
星球精选