# jLab：郭宇的Web3开发最佳实践阅读笔记-9

### jLab：郭宇的Web3开发最佳实践阅读笔记-9

### 概述

阅读大牛郭宇的文章

https://guoyu.mirror.xyz/RD-xkpoxasAU7x5MIJmiCX4gll3Cs0pAd5iM258S1Ek

第八篇笔记见这里：[here](https://blog.jlab.tech/jjlab-web3-fullstack-engineer-8)，主要合约部署在哪条链的评估list。

本篇主要说另外一个重要部分：去中心存储方案，也讨论下应用在去中心存储的可能。

郭宇划分出了三个：IPFS，FileCoin和Arweave，实际前两个都是Protocol Labs的，本身可以视为一个方案。

而技术方案上，就有多个了：

1. [Web3.storage](https://web3.storage/) 基于 Filecoin 的免费储存服务。
2. [NFT.storage](https://nft.storage/) Web3.storage 提供的 NFT 元数据针对性储存服务，提供网页界面上传与 SDK。
3. [Filebase](https://filebase.com/) 整合了多个去中心化储存网络的服务，接口类似 AWS S3，提供丰富的 SDK 与 API，支持信用卡付费。
4. [Bundlr](https://docs.bundlr.network/) 基于 Arweave 构建的永久储存服务，支持用多链 token 结算。

OpenSea 目前支持 IPFS 与 Arweave 的储存协议。

需要计算预先[CID](https://car.ipfs.io/)，郭宇建议用IPFS CAR,实际上有几个计算方式，ipfs-go或者js版本，也有类似接口。

这里吐槽下Ar,为了生态发Token无可厚非，但是开发者需要每次折腾钱包，签名等等的，zhe感觉很不友好。

还有其他去中心化存储方案，例如周博士的web3q、storj等，未来可能会有更多竞争对手，因为存储成本逐步下降和存储介质等技术提升会降低门槛。

#### 扩展阅读

0. 所有郭宇提到的git repo地址：https://github.com/stars/guo-yu/lists/dapp-best-practice-stack

1. [合约安全风险指南 Ethereum Smart Contract Security Best Practices](https://consensys.github.io/smart-contract-best-practices/)
2. [合约 Gas 优化指南 Awesome Solidity Gas-Optimization](https://github.com/iskdrews/awesome-solidity-gas-optimization)
3. [brownie](https://github.com/eth-brownie/brownie)：一个 Python 语言的合约工作流工具。
4. [ethers-rs](https://github.com/gakonst/ethers-rs)：一个 Rust 的钱包实现。
5. [juice-interface](https://github.com/jbx-protocol/juice-interface)：著名众筹网站 juicebox 的前端界面。
6. [starknet.js](https://github.com/0xs34n/starknet.js): StarkNet 的 JS SDK。
7. [DFK/contracts](https://github.com/DefiKingdoms/contracts): 著名 DeFi 游戏 DFK 的智能合约。
8. [thirdweb-dev/contracts](https://github.com/thirdweb-dev/contracts): ThirdWeb 开源的合约代码。
9. [OpenZeppelin/nile](https://github.com/OpenZeppelin/nile): OZ 为 StartNet Cairo 语言编写的工作流工具。
10. [Argent X](https://github.com/argentlabs/argent-x)：StarkNet 的开源钱包。

-----


