📜 [專欄新文章] 0xDonate — An Ethereum donate service for streamers
✍️ Alvin Hou
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
給實況主的區塊鏈斗內服務
透過 Ethereum Smart Contract,讓觀眾可以一鍵斗內給實況主,並讓斗內訊息在實況中即時推播出來的小服務
0x Donate
前言
現在的實況主大多是透過PayPal、歐付寶等第三方支付來接受觀眾斗內。但如果實況主不想被抽手續費,或想讓觀眾直接斗內加密貨幣給他呢?直接留下錢包地址是一個方法,但誰斗了多少很難即時查看也缺乏跟觀眾的互動。
因為最近剛好有點閒時間,所以就寫了個網站,透過智能合約讓實況主也能跟斗內的乾爹們互動。
How it works
網站的架構相當簡單,只要有一個錢包地址就可以開始使用了。實況主輸入錢包地址就產生對應的3個連結
1. Donate Page
就如同傳統的第三方支付,實況主將斗內連結放在個人的介紹頁面中,觀眾直接透過那個連結捐款。填完想說的話和金額,按下按鈕使用 Metamask 送出交易就完成了。
以Twitch為範例
2. Notification Page
這個頁面會監聽合約上的event,當有人斗內時就會跳出斗內訊息、斗內人名稱和金額。實況主只須於OBS Browser source把這個連結設定好即可。
3. History Page
誰是最大乾爹? link
不免俗的每個實況主都有他的Top donation list,這個頁面會把鏈上的斗內紀錄抓下來彙整成一個排行榜,讓實況主輕鬆看出誰是最大乾爹,乾爹們也不用擔心自己的心意不會被看到,都已經寫在鏈上了。
Features
0 fee, 0 setup, only a 0x address required
0 fee
對比現在第三方支付,本服務不抽手續費。以歐付寶為例,如果有人信用卡斗內十元,就有高達五元會被抽走。而0xDonate只需送出交易的人負擔交易本身gas費用,實況主可以獲得全額捐款。
0 setup
不需要註冊,不需要綁定任何API Key。不論是Twitch、Youtube Gaming 或是其他平台都能夠使用。
0x address
有一個錢包地址就可以開始使用了!
The Contract
其實合約本身也蠻簡單的(?),目前是部屬在Ropsten Testnet上。
donate 負責將ETH轉到實況主的地址,並觸發NewDonation ,讓斗內資訊可以在實況中顯示出來。而為了省gas,合約並沒有將斗內訊息的內容寫到鏈上。
getDonation 查看鏈上的紀錄,以用來產生乾爹排行榜。
一些開發上的雜談
在半年前於Reddit上看到類似的服務 NanoTwit.ch,就有想說來玩玩看一個ETH版本的。最早的prototype是之前寫的 SimpleEth,一個一鍵打交易的jQuery插件。雖然拖了很久我猜市面上已經有類似的服務了,不過秉持著『頂著幹,做中學』的精神,還是把這個專案寫完了。
都2018年了寫網頁怎麼能不用框架呢?
平常寫前端沒什麼在用框架,這次嘗試看看用快過氣的React 把半成品 ETH-Stream-Donations 包得更現代化些。過程中要特別感謝 @wingemerald 提供技術上的支援。但不得不說React跟一些雜七雜八的dependency真是肥大,有時候webpack跑一跑小筆電的風扇就轉起來了。
開發上有遇到一些小阻礙,一個是web3的雷,為了要支援火狐所以就換了版本。另一個是新版本web3為了要監聽合約的Event必須要使用 Websocket Provider,就改成使用infura的ws節點。
其他都還算順利,畢竟合約部屬好前端包一包就差不多完工了,資料都在鏈上不用處理後台也是挺方便的。
結語
很多人說區塊鏈是不是過譽了,但我相信Ethereum健康的開發者社群,總是會有些新的點子生出一些有趣的DApp或應用出來。
雖然是個寫好玩的 side project,但歡迎不論是有在實況或是有興趣的朋友都去玩玩看,在測試鏈上人人都可以當乾爹!
網址: 0xdonate.io
CryoliteZ/0xDonate
0xDonate — An Ethereum donate service for streamers was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
「jquery event」的推薦目錄:
- 關於jquery event 在 Taipei Ethereum Meetup Facebook 的最佳解答
- 關於jquery event 在 天元的543專頁 Facebook 的最佳解答
- 關於jquery event 在 天元的543專頁 Facebook 的最佳解答
- 關於jquery event 在 jQuery find events handlers registered with an object - Stack ... 的評價
- 關於jquery event 在 GitHub - stephband/jquery.event.move 的評價
- 關於jquery event 在 jQuery - 事件處理| 樂遊前端趣 的評價
- 關於jquery event 在 How does jQuery's mechanism of event handlers work 的評價
- 關於jquery event 在 How to Trigger an Event using trigger() Method in jQuery 的評價
jquery event 在 天元的543專頁 Facebook 的最佳解答
實務上我常看到許多客戶為了查看一頁式網頁的表現績效,常用到 Track Virtual Pageviews 的方式去做記錄,這樣的方式我個人非常不推薦,因為Track Virtual Pageviews會把GA的網頁其他數據給搞的變大、變得亂七八糟的,反到讓評估其他成效上會帶來很大的麻煩和綑擾。
所以特別整理了這篇 "呼叫 jQuery語法 的方式" 請以後用這部分來滿足需要吧!
Google Analytics universal 通用版 事件 Event Tracking 進階教學 另外推薦 Scrolling Depth 滾動深度 jQuery語法
http://bit.ly/1E9l1xG
jquery event 在 天元的543專頁 Facebook 的最佳解答
Google Analytics universal 通用版 事件 Event Tracking 進階教學 另外推薦 Scrolling Depth 滾動深度 jQuery語法 http://9i543.com/?p=14795
jquery event 在 GitHub - stephband/jquery.event.move 的推薦與評價
#jquery.event.move. Move events provide an easy way to set up press-move-release interactions on mouse and touch devices. UPDATE 2.0: move events are now ... ... <看更多>
jquery event 在 jQuery - 事件處理| 樂遊前端趣 的推薦與評價
jQuery 對事件有許多特別的貼心設定。 ... 事件物件(event object),當一個或多集合jQuery 物件觸發事件時,會記錄著該物件包含與該次事件有關的 ... ... <看更多>
jquery event 在 jQuery find events handlers registered with an object - Stack ... 的推薦與評價
... <看更多>