[譯] Dweb: Beaker--去中心化的瀏覽器 (中英)

原文Dweb: Serving the Web from the Browser with Beaker
做者Tara Vancil 發表時間:August 22, 2018
譯者:西樓聽雨 發表時間: 2018/8/25
原文是 Mozilla 開發者網站發佈的關於 Dweb 的概念、應用及使用案例介紹的系列文章中的第四篇。(轉載請註明出處)html

本系列各篇章的翻譯連接以下:git

  1. [譯] Dweb: 什麼是 Dweb?(中英)
  2. [譯] Dweb: 基於 Secure Scuttlebutt 的社交消息流 (中英)
  3. [譯] Dweb: 用 WebTorrent 搭建一個可復原的 Web (中英)
  4. [譯] Dweb: Beaker——去中心化瀏覽器 (中英)
  5. [譯] Dweb: 基於 IPFS 的去中心化 Web 文件系統 (中英)
  6. 待發布······

譯註:下面是斜體文本爲原文的編者按。github

展開原文 In this series we are covering projects that explore what is possible when the web becomes decentralized or distributed. These projects aren’t affiliated with Mozilla, and some of them rewrite the rules of how we think about a web browser. What they have in common: These projects are open source, and open for participation, and share Mozilla’s mission to keep the web open and accessible for all.

這個系列中,咱們會講到一些正在嘗試探索在 Web 變爲去中心化或分佈式的時候存在哪些可能性的項目,這些項目不附屬於 Mozilla,其中一些項目還從新定義了咱們對 web 瀏覽器的認識。他們都有共同點:這些項目都是開源的,開放參與的,而且和 Mozilla 」keep the web open and accessible for all (讓 Web 對全部人保持開放和可訪問)「 的宗旨一致。web

展開原文 So far we’ve covered distributed social feeds and sharing files in a decentralized way. with some new tools for developers. Today we’d like to introduce something a bit different: Imagine what an *entire browser experience* would be like if the web was distributed… Beaker browser does exactly this! Beaker is a big vision from a team who are proving out the distributed web from top to bottom. Please enjoy this post from Beaker co-creator Tara Vancil. – Dietrich Ayala

到這篇文章爲止,咱們已經講到過分佈式的社交消息流去中心化的文件共享兩個主題。今天咱們想要介紹一些不同的東西:想象一下,若是整個 web 都是分佈式的······瀏覽器將會變成怎樣一種體驗。 Beaker 瀏覽器就是這樣一款瀏覽器!它表明了其背後開發團隊的一個宏圖願景,這個團隊旨在提供從頂層設計到基礎設施各層面的去中心化 Web。這是一篇出自 Beaker 的聯合制做人 Tara Vancil 的貼文,請盡情享閱。——Dietrich Ayalajson

藍鏈實驗室及 Beaker 瀏覽器

展開原文We’re Blue Link Labs, a team of three working to improve the Web with the Dat protocol and an experimental peer-to-peer browser called Beaker.

咱們是藍鏈實驗室團隊,咱們是一個3人團隊,咱們的任務是用Dat 協議及一個叫作Beaker的點對點瀏覽器來讓 Web 變得更好。api

Blue Link Labs team

展開原文We work on Beaker because publishing and sharing is core to the Web’s ethos, yet to publish your own website or even just share a document, you need to know how to run a server, or be able to pay someone to do it for you.

Web 的基礎就是發佈和分享,如今若是你想發佈屬於本身的網站或者分享一些文檔,你仍然須要懂得如何運營一臺服務器,或者具有因僱人幫你作這些而支付報酬的能力。瀏覽器

So we asked ourselves, 「What if you could share a website directly from your browser?」服務器

因此咱們開始思考「是否咱們能夠僅在瀏覽器裏就能搭建一個網站?」網絡

展開原文 Peer-to-peer protocols like `dat://` make it possible for regular user devices to host content, so we use `dat://` in Beaker to enable publishing from the browser, where instead of using a server, a website’s author and its visitors help host its files. It’s kind of like BitTorrent, but for websites!

dat:// 這類點對點 (P2P) 協議使得實現這種想法變爲可能,普通的用戶設備也能夠用來提供內容服務,因此咱們沒有使用服務器——那種須要網站做者和他的訪客來支持其文件供應服務的形式 ,而是採用了 data:// 及 Beaker 來支持在瀏覽器中發佈內容。這有點像 BitTorrent,不過是針對瀏覽器的!架構

架構

Beaker uses a distributed peer-to-peer network to publish websites and datasets (sometimes we call them 「dats」).

Beaker 採用的是一種點對點(P2P)式的網絡來發佈網站及數據的(有時候咱們也稱之爲 「dats」)。

展開原文 `dat://` websites are addressed with a public key as the URL, and each piece of data added to a `dat://` website is appended to a signed log. Visitors to a `dat://` website find each other with a tracker or [DHT](https://en.wikipedia.org/wiki/Distributed_hash_table), then sync the data between each other, acting both as downloaders and uploaders, and checking that the data hasn’t been tampered with in transit.

dat:// 網站的地址是以公鑰做爲 URL 來標識的。每份添加到 dat:// 網站的數據都會被追加到一個簽名的日誌本上。訪客們經過 tracker 協議或 DHT 網絡來相互找尋各方,而後相互進行數據同步,同時充當下載者(流量下行)和上傳者(流行上行),在此過程當中還會對數據是否被篡改作檢查。

a basic illustration of the dat:// network

展開原文 At its core, a `dat://` website isn’t much different than an https:// website — it’s a collection of files and folders that a browser interprets according to Web standards. But `dat://` websites are special in Beaker because we’ve added [peer-to-peer Web APIs](https://beakerbrowser.com/docs/apis) so developers can do things like read, write, and watch `dat://` files and build peer-to-peer Web apps.

從本質上講,一個dat://網站和一個 https:// 網站沒有什麼不一樣——都是瀏覽器按照 Web 的系列標準來解釋一系列文件及目錄的形式。可是 dat:// 網站特殊的地方就在於 Beaker,由於咱們爲其附加了「點對對 Web 接口」, 以便開發者能夠進行讀取、寫入及監測 dat:// 文件從而構建出點對點 Web 應用。

建立一個 P2P 網站

展開原文Beaker makes it easy for anyone to create a new `dat://` website with one click (see our [tour](https://beakerbrowser.com/docs/tour)). If you’re familiar with HTML, CSS, or JavaScript (even just a little bit!) then you’re ready to publish your first `dat://` website.

Beaker 使得任何人建立一個 dat:// 網站都變得容易——只需一次點擊便可完成(查看咱們的教程)。若是你對 HTML、CSS 及 JavaScript 熟悉的話(哪怕只一丁點熟悉),你就能夠開始發佈你的第一個 dat:// 網站了。

Developers can get started by checking out our API documentation or reading through our guides.

開發人員能夠經過查看咱們的 API 文檔或者查閱咱們的指導教程來入門。

展開原文This example shows a website editing *itself* to create and save a new JSON file. While this example is contrived, it demonstrates a common pattern for storing data, user profiles, etc. in a `dat://` website—instead of application data being sent away to a server, it can be stored in the website itself!

下面這個例子展現了一個能夠自我編輯以此建立和保存文件的網站。雖然這個例子不貼實際,但它完整地展現了一個 dat:// 網站在數據排序,用戶信息等數據處理方面所共有的操做模式,和那些把應用數據傳輸至一臺服務器去處理的形式不同,這種形式能夠把數據存儲在這個網站自己。

// index.html 文件

發送消息

<script src="index.js"></script>

複製代碼
// index.js 文件

// first get an instance of the website's files
// 首先實例化該網站的文件集合對象
var files = new DatArchive(window.location)

document.getElementById('create-json-button').addEventListener('click', saveMessage)

async function saveMessage () {
    var timestamp = Date.now()
    var filename = timestamp + '.json'
    var content = {
    timestamp,
    message: document.getElementById('message').value
}

// write the message to a JSON file
// this file can be read later using the DatArchive.readFile API
// 將消息寫入一個 JSON 文件
// 這個文件在以後還能夠經過 DataArchive.readFile 接口進行讀取
await files.writeFile(filename, JSON.stringify(content))
}
複製代碼

更多信息

展開原文 We’re always excited to see what people build with `dat://` and Beaker. We especially love seeing when someone builds a personal site or blog, or when they experiment with Beaker’s APIs to build an app.

每次看到你們用 dat:// 及 Beaker 創造出一些東西來的時候,咱們都很激動,特別是當有人用其製做出網站或博客的時候,或者當他們嘗試用 Beaker 提供的 API 來製做 App 的時候。

展開原文 There’s lots to explore on the peer-to-peer Web!

關於點對點 Web 的信息還有不少!

關於 Tara Vancil

展開原文 Tara is the co-creator of the [Beaker browser](https://beakerbrowser.com/). Previously she worked at Cloudflare and participated in [the Recurse Center](https://recurse.com/).

Tara 是 Beaker 瀏覽器的聯合制做人。她以前在 Cloudflare 工做過,另外她還參加了 the Recurse Center

相關文章
相關標籤/搜索