DCloudnotes是一个去中心化云笔记应用。用户可以把自己的笔记内容上传到ipfs,用户只需要花费少量的eth就可以把对应笔记内容的ipfs地址保存到以太坊区块链中(kovan测试网络),同时也保存到moralis的数据库中,便于用户更快速地查看到笔记的列表,然后根据ipfs地址获取自己上传的笔记内容的详情。笔记内容是一个富文本文档,用户除了编写文字,也可以上传图片到ipfs,然后把笔记的内容构造成一个json格式的文件,上传到ipfs分布式存储网络。
在我们平时学习或工作当中,我们都会经常需要做笔记,笔记对于我们来说是非常重要的信息,它会提高我们学习或工作的效率,所以我们觉得有必要把笔记上传到ipfs & filecoin。传统的云笔记应用是把用户的笔记内容保存到中心化的数据库,而数据库是由某个公司管理,用户不能自己掌握自己的数据,存在数据丢失的可能,中心化的数据库也存在存储空间局限性的问题。而DCloudnotes是一个去中心化云笔记应用,用户可将自己的笔记内容保存到ipfs去中心化分布式存储中,然后把ipfs地址记录到以太坊区块链网络中,让用户数据更安全,不可篡改,也可以永久存储;而且ipfs & filecoin也具有庞大的存储空间。解决了传统的云笔记应用存在的问题。
链接: https://hidden-sunset-4510.on.fleek.co/ ( 代码已部署到fleek的ipfs上 )
- 登录页面,用户连接MetaMask钱包即可登录进入首页。在首页中,用户可以看到自己的笔记列表,笔记列表是从数据库中获取的,笔记的详情是读取ipfs地址返回的json格式数据来获取的。
- 在首页,可查看自己的笔记列表,和查看笔记的内容详情,也可对笔记内容进行修改更新,也可以删除笔记。更新笔记时,是将新的笔记内容以json数据格式上传到ipfs,生成新的ipfs地址。
- 在添加页面,用户可以添加笔记,笔记内容是一个富文本文档,除了可以编写文字,也可以上传图片到ipfs,然后把笔记的内容构造成一个json格式的文件,上传到ipfs。
- 回收站页面,用户可查看已删除的笔记和笔记的详情,也可恢复笔记到自己的笔记列表,也可把笔记彻底删除。
- 在个人页面,用户可修改自己的用户名,用户也可用自己的NFT作为自己的头像。
- Solidity - 编写智能合约
- Javascript - 使用reactJs编写前端页面
- React routers - reactJs 路由组件
- react-moralis - 运用moralis快速开发web3
- Hardhat - 智能合约开发框架
- Quill - 富文本编辑器
- 安装 NodeJS
- 安装 Hardhat
- 安装 ReactJs
- 安装 MetaMask 在浏览器
-
Clone/Download the Repository
-
安装依赖:
npm install
cd app & npm install -
测试合约:
npx hardhat test
-
编译合约:
npx hardhat compile
-
部署合约:
npx hardhat run ./scripts/deploy.js --network kovan (部署到kovan测试网络)
-
运行应用
cd app & npm run start