<-

Decentralize Your Website

通常来说, 想要搭建一个网站, 首先需要租用一个云服务器, 云服务厂商大同小异, 如果选择中国大陆的云厂商还需要额外的 ICP(Internet Content Provider) 备案和公安备案。

中心化的云服务器 (AWS, Azure, etc.), 乃至部分打着去中心化概念的去中心化存储协议 (IPFS), 其本质也是存储提供商购买的云厂商服务, 这里将后者这种内容物联网定义为伪去中心化。这两类模式最核心的缺点在于内容隐私性和抗审查性的缺失。

What is Swarm

Swarm 是一个去中心化存储和内容分发的技术, 类似于一个服务器分散在全球的 AWS, 其内生一套激励机制鼓励机器提供为网络存储和带宽, 用户则需要为自己存储的内容购买支票, 按存储时长和内容大小付费, Swarm 利用技术做到存储提供商对存储的真实内容一无所知, 是自由主义精神的极致体现。

今天我们尝试在这样一套去中心化网络上发布自己的网站。将网站内容托管于 Swarm Network, 利用 Swarm 官方提供的 Gateway node 作为门户将网站提供给网上冲浪者。

Publish a website

首先在自己电脑上下载 Swarm Desktop 作为接入 Swarm Network 的一个 light node, 与 Swarm 上托管的内容进行交互。

安装好客户端之后该节点会自动创建一个以太坊钱包地址, Swarm Network 部署在以太坊侧链 Gnosis Chain 上, 该链的基础代币是 xDAI, 要想在这个链上交互, 首先我们需要在自己的钱包中从 Ethereum Mainnet 上将 DAI 跨链至 Gnosis Chain 成 xDAI, 再将 xDAI 转入 Swarm 节点钱包, 你也可以在本地 Swarm Desktop 安装包中找到这个节点钱包的私钥信息, 将其导入 Metamask, 直接对该钱包进行操作。

MacOS 你可以在: /Users/[your_username]/Library/Application Support/Swarm Desktop/data-dir/keys/ 中找到 swarm.key 的 json 文件, 在 Metamask 中选择 add account - import account, select type 选择 JSON File, 选择刚刚找到的 swarm.key 文件, 导入文件需要输入密码, 这时从: /Users/[your_username]/Library/Application Support/Swarm Desktop/config.yaml 中拿到 password, 节点钱包导入完成。将钱包网络切到 Gnosis Chain 应该就可以看到之前转入的 xDAI。利用 Honeyswap 将一部分 xDAI 转为 xBZZ 作为后续储存费的货币。 在 Swarm Desktop dashboard 中, 选择 Account - Stamp, Buy New Postage Stamp, 提前购买所需存储服务的内容大小以及存储时间, 并支付相应的 xBZZ。

再选中 File, 在 Upload 中选择 Add Website, 选中自己的网站文件夹, 选择上传。这时需要用到之前购买的 postage stamp, then proceed with that stamp, 上传完成之后会有一个 Swarm hash, 通过这个 hash, 你可以在 Swarm Network 中找到对应的资源。

因为安装 Swarm Desktop, 你的电脑本地运行着一个 Swarm Bee light node, 因此, 简单在浏览器中输入:

http://127.0.0.1:1633/bzz/[your_resource_swarm_hash]/

就可以访问之前的网站。

绑定 ENS Domains

如果你拥有 ENS Domains, 你可以将这个 Swarm hash 关联到你的 ENS 域名上, 在 Edit profile 中 Add profile fields 选择 Website, 在 Swarm 中输入:

bzz://[your_resource_swarm_hash]

点击确认这时你需要将该信息上链至以太坊主网, 需要支付的 gas 费和你提交时的网络拥堵情况以及你所同步的内容条数有关。

Welcome to the club

至此, 在浏览器键入:

https://api.gateway.ethswarm.org/bzz/[your_ens_domain]/

即可访问你的去中心化网站。