1 of 33

LikeCoin 開發誌

LikeCoin X JavaScript

2018.11.17

David Ng - @nwingt

LikeCoin Foundation

2 of 33

什麼是 LikeCoin?

3 of 33

4 of 33

為何選 JavaScript?

5 of 33

Service Providers

為何選 JavaScript?

  • 寄生在Web的生態
  • Web3.js
  • 統一前端至後台的開發語言

6 of 33

Service Providers

我們選用的Stack

  • Web3.js
  • Node.js + Express.js
  • Nuxt.js
  • Firebase (App + Firestore)

7 of 33

Service Providers

今天介紹的產品

  • 門戶網站 (like.co)
  • LikeButton (讚賞鍵)

8 of 33

門戶網站

9 of 33

10 of 33

Service Providers

門戶網站

  • 設置帳戶資料
  • 參興成就/任務系統獲得小量LikeCoin奬勵
  • 傳送LikeCoin至其他用戶
  • 檢視交易資訊
  • 管理LikeButton設定

11 of 33

Service Providers

去中心化應用的困難

  • 交易未有提供實時的狀態資料
  • 交易在會Gas Price太低時卡住/消失

12 of 33

Service Providers

likecoin-prayer

  • 在一段時間內集合數筆交易一併發送
  • 經Infura發送交易

13 of 33

Service Providers

likecoin-tx-poll

  • 主動更新交易狀態
  • 重發失敗/消失的交易

14 of 33

Service Providers

去中心化應用的困難

  • 用戶需要安裝錢包(Wallet)� 例子: MetaMask, Trust
  • 誇平台相容性
  • 兼容流動裝置UX

15 of 33

Service Providers

去中心化應用的困難

  • 繁覆的登錄程序
    1. 檢查瀏覽器 是否Chrome?
    2. 是否有安裝MetaMask/Trust
    3. 是否登入了MetaMask
    4. 是否在Main Net

16 of 33

LikeButton

17 of 33

18 of 33

Service Providers

LikeButton

  • 需要更高的誇平台相容性
  • 能放置在不同的網頁上
  • 需獲取用戶登錄資訊

19 of 33

Service Providers

怎樣放置在不同的網頁上?

  • <iframe><iframe/>
  • oEmbed API� e.g. embed.ly

20 of 33

21 of 33

22 of 33

23 of 33

Service Providers

登錄方式

用戶簽名登入

驗證簽名

FRONTEND

BACK END

Session

簽名

24 of 33

錢包登入

傳統登入

  • 只能在指定瀏覽器
  • 繁瑣的認證過程

  • PageRank measures importance of web pages, while LikeRank measures creativity of creative contents�
  • Like button helps Facebook do targeted ads, while our reinvented Like button rewards content creators
  • 誇平台
  • 能使用第三方平台�一鍵登錄

25 of 33

Service Providers

混合式認證

  • 放棄以錢包作唯一登入方式
  • 先註冊,後綁定錢包

26 of 33

Service Providers

沒有錢包怎麼辦

  • 查詢時用 Web3.providers.HttpProvider
  • 交易時用 window.web3.currentProvider

27 of 33

Service Providers

Web Authentication API

  • W3C 標準� Chrome, MS Edge, Firefox, Safari (開發中) 流動及桌上平台
  • 支持多種認證工具(Authenticator)� 硬件Token,指紋認證等
  • 不只限於2FA中使用� 不需密碼

28 of 33

Service Providers

Web Authentication API

伺服器

Private Key

Public Key

Challenge

Response

29 of 33

demo

30 of 33

Service Providers

閱讀更多

31 of 33

32 of 33

https://like.co [ zh / en / jp / kr / ru ]

medium.com/likecoin [ zh / en / jp / kr ]

facebook.com/likecoin.foundation [ zh / en ]

telegram.me/likecoin [ zh / en / jp / kr / ru ]

twitter.com/likecoin_fdn [ jp / en ]

github.com/likecoin [ .sol / .js / .go ]

33 of 33

David Ng

david@like.co

@nwingt

GitHub

Medium

Telegram

Twitter

LinkedIn

Instagram

Facebook