DFINITY | 網際網路計算機的“去中心化的TikTok”CanCan

買賣虛擬貨幣

“CanCan”是TikTok的去中心化替代品,是基於DFINITY的去中心化的TikTok。CanCan展示了開發人員如何在網際網路計算機上構建開放的、去中心化的應用程式,從而提供了出色的使用者體驗。

基於DFINITY的「去中心化的TikTok」CanCan已經開源。可檢視具有JavaScript前端和Motoko後端的全棧Web dapp,Motoko的高階功能,例如Motoko軟體包管理器容器等。

CanCan透過通證激勵使用者製作,並可能會每24小時給每位CanCan使用者10個「超級贊」,可供其獎勵給Feed中的影片,還可能會有定期「掉落日」,使用者可以在其中兌換獎勵積分以獲得獨特的物品。

CanCan是基於DFINITY的「去中心化的TikTok」,使人們可以直接從網際網路流式傳輸影片並將其共享到他們的移動裝置上,其dapp由多個有狀態模組或「容器」組成,在容器內部宣告標準資料結構「如陣列或對映」即可持久儲存所有資料。未來,CanCan計劃製作一個可以不受協議限制擴充套件的dapp。

CanCan是一種去中心化的影片共享社交網路服務,它使人們可以直接從網際網路流式傳輸影片並將其共享到他們的移動裝置上。DFINITY基金會開發了示例dapp來演示網際網路計算機的功能,網際網路計算機是世界上第一個以無限制的Web速度執行的區塊鏈。

CanCan展示了開發人員如何在網際網路計算機上構建開放的、去中心化的應用程式,從而提供了出色的使用者體驗。它展示了dapp可以使用令牌化來吸引和激勵使用者及其他受眾的多種方式中的一些方式,因而形成“病毒”迴圈,從而加深了參與度並吸引了更多使用者。

CanCan只是各種dapp的一個例子,這些dapp只能在無限擴充套件的區塊鏈(如網際網路計算機)上端到端開發。

現在,我們已經公開了CanCan的所有原始碼,並將其提供給開發人員社羣,以此作為激發在網際網路計算機上建立開放網際網路服務的模型。看過程式碼的開發人員將發現:

  • 具有JavaScript前端和Motoko後端的全棧Web dapp;

  • Motoko的高階功能,例如Motoko軟體包管理器容器;

  • API中的許多系統功能,例如時間和授權;

  • 與網際網路身份服務整合;

  • 端到端測試和持續整合的最佳實踐。

CanCan還展示了令牌如何激勵使用者製作、參與和稽覈內容-有效地使使用者成為管理dapp的團隊的成員。

每24小時,每位CanCan使用者都會獲得10個“超級贊”,他們可以將其獎勵給喜歡的影片。如果影片收到足夠多的“超級贊”,它就會“病毒”式傳播。當影片傳播開來時,早期的超級贊愛好者會收集獎勵積分,以便以後兌換獎品。

CanCan還允許使用者透過以獎勵積分的形式向他們傳送提示來向創作者表示感謝,影片創作者在上傳影片、獲得提示以及影片透過“超級贊”傳播時獲得獎勵積分。

使用令牌化來吸引使用者和其他受眾的可能性更大。例如,CanCan可能具有定期的“Drop Days”,使用者可以在其中兌換獎勵積分以獲得獨特的物品。如果他們要交換CanCan通證的獎勵積分,則使用者可以透過參與CanCan的治理來獲得更多獎勵。

CanCan可以類似地激勵使用者幫助管理內容。在dapp的配置檔案設定中,使用者可以選擇在其Feed中接收新上傳但未經稽覈的內容,只要他們可以驗證自己已年滿18歲即可。

當他們看到自己認為不適當的內容時,可以對其進行標記。如果其他主持人的某個閾值將內容標記為不適當,則使用者將因採取了措施而獲得獎勵積分。

CanCan不需要Web伺服器、內容交付網路、防火牆、外部資料庫來保持狀態,也不需要我們已經接受的舊軟體中不可避免的任何其他複雜性。dapp由多個有狀態模組或“容器”組成,只需在容器內部宣告標準資料結構(如陣列或對映)即可持久儲存所有資料。

一個容器正在為前端資產提供服務,這些資產是我們使用React框架在TypeScript中編寫的,但是沒有什麼可以阻止您使用Vue或Angular甚至是原始JavaScript。

第二個容器正在儲存資料-所有資料。請注意,它不僅是後設資料或內容雜湊,還包括影片位元組本身,被切成塊並儲存以供以後在前端應用程式中檢索、重構和播放。

我們給自己帶來的另一個挑戰是製作一個可以不受協議限制擴充套件的dapp,這意味著要處理數百萬個影片和數萬億個位元組。我們的第一種方法是基於Kademlia並在Motoko中實現的分散式雜湊表(DHT)。

前端將請求來自後端的影片,該影片將直接以資料作為響應,或者以遞迴方式從DHT中的一個對等方請求資料。

跨多個容器分片和重新平衡儲存的能力為我們提供了我們一直在尋找的可擴充套件性,但是我們一直在努力。我們能夠在沒有傳統後端API的情況下編寫CanCan,前端直接建立在DHT相對簡單的介面及其“獲取”和“放置”方法的頂部。

實際上,如果您保留相同的介面,則可以用一種完全不同的語言編寫的實現(例如用Rust編寫的容器)完全替換實現。這正是我們所做的。

每個演示dapp旨在教人們一些新穎的概念。隨著我們開始構建越來越多的功能,我們意識到擴充套件並不是我們想與人們共享的更大的創新,因為對於企業家來說,最大的問題是牽引力第一,然後是擴充套件。

因此,我們開始圍繞Motoko中CanCan的後端進行重寫,以圍繞我們在網際網路計算機入門中討論的主要故事進行,以重點關注乾淨的API和牽引力。

CanCan演示了開發人員如何在使用令牌吸引和激勵使用者和廣告商使用dapp的同時,在網際網路計算機上端到端構建強大的開放式網際網路服務。這只是網際網路計算機上可能發生的情況的一瞥。


- END-

作者:,來源:IPFSUnion星際聯盟

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读