# Planet：基于IPFS，能够让你自由创作和阅读的新工具

By [John.Joe](https://paragraph.com/@john-joe) · 2022-06-11

---

![](https://storage.googleapis.com/papyrus_images/a6999c95eaccc6945b884713a1f5ef7055b30001a8c7989c680b7cd49ef89aed.png)

1/ 关于 Planet：
=============

Planet 是由一群分布在世界各地的 IPFS 爱好者开发并开源的 macOS 原生 App，可以让用户直接在自己的电脑上发布一个网站或者博客到 IPFS。

整个过程操作过程非常小白（1. 创建Planet；2. 创建并发布文章），用户不需要了解任何 Web3 或者区块链的知识。

这款产品可以让创作者的内容直达读者，中间没有任何人可以干涉，实现创作自由，阅读自由。

注：这是一款比较早期的产品，功能还不稳定，整体体验下来，会有一种互联网早期产品的错觉。

2/ 关于 IPFS：
===========

Planet 是基于 IPFS 特性来实现，理论上并不是一个真正意义上的区块链项目。

IPFS 全名 InterPlanetary File System 星际文件系统，是一种去中心化的文件存储系统。目的是取代 HTTP 协议，成为 Web3 时代的基础协议。

> 现在互联网访问方式：[https://域名或IP](https://xn--IP-mn6cx8lv2p)
> 
> IPFS 访问方式：ipfs://文件哈希

### IPFS 工作原理：

当你将文件发布到 IPFS 网络时，IPFS 会计算文件的哈希值，并存储在节点（区块）上。 内容寻址：现在的网络服务里，内容是基于位置（IP）寻址的，就是在查找内容的时候，需要先找到内容所在的服务器（根据IP），然后再在服务器上找对应的内容。但是 IPFS 是通过内容寻址的，每个文件都有对应的哈希值，不需要知道文件存在哪里，通过哈希值就能找到这个文件。

### IPFS 特性：

**pin**：因为 IPFS 是一个分布式文件存储系统，并不是所有人都需要保存所有文件，因此 IPFS 允许节点清理文件（以节省空间）。所以为了避免（节点感兴趣的）文件被清理而无法访问，IPFS 提供 pin 的功能，允许节点可以“钉”住内容，以便于用户永久访问。

**IPNS**：文件的哈希值是根据文件内容生成的，如果文件内容发生了变化，就会生成新的哈希值。这样处理的优点是保证文件的不可篡改，提高数据的安全性。缺点是对于需要经常更新内容的用户（如网站）非常不友好。为了避免这个问题，IPFS 提供了 IPNS (Inter-Planetary Naming System 星际命名系统)功能，允许基于用户或节点的私钥构建一个节点ID，指向具体的文件哈希，当有新的内容更新时，可以更新节点 ID 的指向。（这个类似于DNS、域名、IP的关系） 发布订阅：IPFS 任一节点订阅了某个主题，其他节点往这个主题发布消息，订阅的节点就能收到。

3/ Planet 能做什么：
===============

基于IPFS特性：

1.  Planet 可以直接创建内容发布到 IPFS
    
2.  由于它基于 IPFS 协议，传文件并非上链，因此 Planet 不需要钱包地址，发布内容也是免费的。
    
3.  当你把 IPNS 发给其他人，让其他人 follow 时，要求你的 App 必须处于打开状态，也就是节点必须在线。
    
4.  可以用 Pin 的方式解决节点在线问题。Pinata 提供1GB的免费存储空间 [https://pinata.cloud/](https://pinata.cloud/)
    
5.  你的 follow 越多，相当于节点越多，访问速度就越快
    
6.  你发布的内容，你的 follower 会很快获得更新。
    
7.  你发布的内容是可以修改的，但修改的不是原来的文件，而是新增了一个文件，并修改了节点ID 的指向。
    

4/ 如果你想体验 Planet：
=================

*   官网下载：[https://www.planetable.xyz/](https://www.planetable.xyz/)
    
*   github 下载（和获取源码）：[https://github.com/Planetable/Planet](https://github.com/Planetable/Planet) \\
    
*   Livid 的帮助文档：
    
    *   [https://olivida-eth.ipns.dweb.link/](https://olivida-eth.ipns.dweb.link/) （可以使用 Chrome 直接打开)
        
    *   [https://ipfs.io/ipns/olivida.eth/](https://ipfs.io/ipns/olivida.eth/) （可以使用 Chrome 直接打开）
        
    *   [ipns://olivida.eth/](https://ipns://olivida.eth/) （需要安装 IPFS Companion 插件，或者使用 Brave 浏览器，需要在 Brave 设置中将 Method to resolve IPFS resources 设置为 Brave local IPFS node）
        
*   注意事项：
    
    *   记得常备份你的 IPNS Key，如果备份失败，可能是因为没有发布过任何内容。
        
    *   如果你体验的版本仍然是 0.6.15-3，如果你发现你的 save 按钮是灰色，那么大概率是因为你没有写 title。
        
*   如果你感兴趣可以加入 Planet 的中文社群：[https://t.me/+5bl7FIsxeChlOWIz](https://t.me/+5bl7FIsxeChlOWIz)

---

*Originally published on [John.Joe](https://paragraph.com/@john-joe/planet-ipfs)*
