跳到主要內容

ArcBlock 駭客松 2020 參賽心得分享

ArcBlock
ArcBlockDevConDeveloperHackathon

持續 7 天的線上駭客松 2020 成功舉行並揭曉結果已過一週,在此發表 2 篇由選手與團隊撰寫的參賽心得,與大家分享。

ArcBlock 徽章分析 by 陳凱

這次參加 ArcBlock 駭客松,雖未獲得名次,仍有些許收穫。

團隊很重要

拿 Web 端產品來講,如果想在駭客松期間有完成度較高的作品,團隊裡至少需要前後端兩個角色。就我自己而言,也考慮過做 NFT 交易市場這樣的作品參賽,但苦於自己是後端技術棧,短期內無法找到合適的前端小夥伴,只好作罷。反觀做「幸運抽獎小遊戲」的娜娜她們團隊,四人優勢互補,成果也很不錯。

Idea 不要太大

Deadline 就在那裡,太大的想法無法保證足夠的完成度。這次駭客松為期 7 天,由於跟工作時間衝突,真正開始專案是在端午假期。當時列了 3 個想法:

  1. 識別徽章中的元素種類及個數
  2. 統計徽章生成發放及流轉
  3. 夢陽快訊封裝成 Blocklet

一方面考慮做點對大家有用的東西,另一方面考慮儘量能發揮自己在後端的優勢。

結合去年曾針對直播推薦做過一些視覺化和輔助決策工具,考慮做「統計徽章發放及流轉追蹤」,由於對 ArcBlock 工具鏈及 API 掌握度不高,想法 2 放棄。

由於尚未考慮清楚快訊的發展模式,加之快訊完成度不高,透過 Blocklet 開放出來意義不大,想法 3 放棄。

接著想到社區小夥伴們在徽章交易過程中,有識別徽章中特定元素種類及個數的訴求,上區塊鏈瀏覽器看了下,發現獲取帳戶資產的 API 使用起來很方便。獲取資產後的徽章過濾、識別完全是後端領域可以隨便玩,決定實現想法 1。

不要戀戰

駭客松往往時間緊任務重,遇到技術問題多準備幾個解決方案,方案 A 初步嘗試行不通及時換方案 B,不要戀戰。我在做徽章元素識別專案的過程中,遇到一個 Markdown 檔案在瀏覽器不解析的問題,嘗試解決半小時無果,果斷放棄,採用 Markdown 轉 HTML 的方式,雖在顯示效果上欠佳,至少沒影響專案完成度。

錄個影片

現場 Demo 往往會出問題,錄個影片穩妥一些,OBS 是非常優秀的錄影軟體。提前打個草稿多練幾遍,效果還是很明顯的。

Blocklet 是個很棒的設計

ArcBlock 的 Blocklet 是個很棒的設計。概念上講是一些可複用的組件,體驗上講更像是一塊塊樂高積木。大家可按自己的喜好利用這些積木(Blocklet)搭建出各種各樣的城堡(服務或應用),同時積木的創造者會在積木每次被使用時獲得回報。

Github:https://github.com/k1ic/ArcBlock-Badge-Analysis

幸運抽獎小遊戲 by 區塊動力

此次參加 ArcBlock 駭客馬拉松,我們廣州區塊動力小隊開發了一款叫幸運抽獎小遊戲(Lucky Ticket),在比賽過程裡我們每一位成員都有所收穫。我們就來跟大家分享一下這次比賽的心得。

隊長靜靜

1. 團隊合作分工合理是第一要素

在一個小隊中,我們每個人都是不可或缺的一部分,只有所有的人團結奮進,朝著目標出發,不怕困難。時間雖短,遇到的困難很多,但我們團結互助,不斷克服一個個難題,遇到困難不放棄,最終完成了整個專案。

在一個團隊中,每個人都有自己的職責。而作為一個小隊的隊長,需要去確認專案的規模及模組大小,以及專案每一部分內容的多寡,並對任務進行合理分配,對實現時間的掌握等等。對於每一個隊員,都必須要按時保質保量地完成自己的任務。合理的分工合作,共同學習,共同實現整個專案。

2. 目標清晰能少走彎路,時間管理保證進度

我們要根據開發的主題設定專案的題目立意,比如我們剛開始時就因為對題目沒有進行深刻的瞭解,導致出現原來的專案不太符合要求的狀況。後來重新確定專案和開發的過程,讓我們浪費了很多時間,最後任務緊急且繁重。所以想告訴大家一定要根據活動立意來設定創意。

對於這一週比賽,我深有體會,學到最多的是設立時間點,每次都要在時間點內完成,還要把握專案層層遞進。在最開始開發一部分後就將每一部分連接好,這樣雖然前面可能會有很多問題,但也能保證之後能有足夠的時間來解決,而不是最後把問題都堆在一起處理。

這邊給大家的建議是:首先我們要設立一個最基礎的目標,然後在時間點內完成,接著進行下一個目標,這樣層層遞進、層層深入,一步步去完成專案,這樣使專案開發更規範、更合理。

成員娜娜

過去的一個月裡,我們做了兩個 DApp,茶鏈用了三週,抽獎小遊戲用了三天。加上去年暑假在 ArcBlock 實習時做的自動販賣機 Demo,我已經做了三個 DApp 了。一連做下來的感覺是開發的過程越來越輕鬆,實現的功能也越來越強大。

應用開發語言及框架使用場景挑戰
自動販賣機python,前端:Plotly Dash,資料庫:sqlite多方合作,多方分成認識區塊鏈,設計 DApp,學習 ArcBlock 的開發工具
茶鏈後端:java,ssm 框架,前端:javascript,vue,資料庫:mysql資訊溯源從實際應用場景出發設計 DApp;開發前後端分離的應用,並部署在伺服器上
Lucky Ticket 抽獎小遊戲後端:javascript, express,前端:javascript,react,資料庫:mongodb多人參與,需要熱度、流量、趣味性的活動掌握從前不熟悉甚至陌生的語言和框架;短時間快速開發一個應用

1. 工具變簡單了

的確,和一年前相比,不僅我對區塊鏈應用的開發流程更加熟悉,ArcBlock 提供的開發工具使用起來也更加簡單了。ABT 節點的出現,無疑是將開發、部署一個 DApp 的門檻降低了。有了 ABT 節點,發鏈不再只是開發人員的事,任何看不懂程式碼的業務員,只需要跟著說明書操作幾步,也可以輕鬆地實現發鏈。此外,在應用開發完成後,也可以透過以 Blocklet 的形式在 ABT 節點中發布,這樣任何有 ABT 節點的用戶都可以下載並使用該應用。

2. 傳統應用開發經驗非常寶貴

DApp 的搭建,說白了就是在傳統的 App 當中加入與鏈互動的邏輯。而做一個完整的應用,需要前後端的配合。這一點,其實在夢陽的開發體會裡也有談到,而我的感觸也非常深刻。從茶鏈開始,我們所搭建的應用不再是概念版產品,這時候需要實現的功能都是非常實在的。雖然我們有相對明確的分工,但苦於應用開發的經驗少,在面對不同框架不同語言時需要花時間去適應,在實現各種基本功能時要花精力去學習。無疑在這過程中,我和我的小夥伴們的成長是飛速的。但如果是更有經驗的人,開發過程肯定會相對輕鬆一些。

3. 我已看到未來已來

區塊鏈 3.0 的時代真的來了。去年我還沒有那麼深的感悟,但透過這幾個專案的開發,透過對區塊鏈技術及其應用範圍有了更深入的瞭解和思考,我真真切切地感受到了新時代的來臨,原來區塊鏈技術真的可以運用到各行各業中。相信社區裡關注 DApp 的夥伴們也一定感受到了。看到大家更加熱切地討論著我和其他開發者展示的 Demo,看到大家能更加精準地探討著區塊鏈技術在應用中所能承擔的角色,我就更加確信未來已來。

成員鴻祥

透過本次駭客松的專案開發,作為一個新手的我感悟頗多。

1. 明確開發思路才不會東奔西撞

設計開發流程,要有一個明確的開發思路,確定好開發框架和資料庫及其資料表。這對於實現開發目標十分重要,保持清晰的思路,能夠使得開發工作有條不紊地進行。團隊中每個人都對專案開發準確把握,朝著共同的目標前進,自然也更能夠順利完成目標。

2. 要相信問題都是可以解決的

在開發的過程中,難免遇到大大小小的難題,每個人都有自己的「短板」,在團隊裡,對自己不懂的可以找團隊的小夥伴幫忙解決。如果小夥伴都不會,可以透過網路查資料尋找解決辦法。 另外可以將問題細化,逐步來解決問題。問題總會得到解決,所以在這個尋找解決辦法的過程裡,我們可以思考原因,嘗試各種辦法。

最後就是建議開發過程中儘量不偏離預先設計的開發方案,否則在開發過程中很容易造成思路混亂。

成員 Jimmy

這次參加 ArcBlock 駭客馬拉松,作為資歷最淺的小組成員,我也受益匪淺。

1. 儘管時間緊,團隊合作最要緊

這一次駭客松比賽,拿我們自己的專案來說,我覺得團隊的合作無疑是最重要的。此次駭客松 7 天的時間,我們團隊在時間過半才找到了合適的主題,這使得我們的參賽時間十分緊迫。然而,我們團隊的其他成員有條不紊地按時完成了自己分配的任務,同時整個團隊互幫互助解決難題,於是在最後還是讓專案得以成功實現。

2. 小白也能上手的 ArcBlock 開發工具

身為一個對於區塊鏈應用純小白的新手,ArcBlock 所提供的開發工具對於我來說,也並沒有很難上手。ABT 節點的使用並不複雜,只需跟著幾步簡單的 ABT 節點部署說明,即可輕鬆地創建節點並成功發鏈。有了 ArcBlock 提供的開發工具,我相信以後區塊鏈將會被更加輕鬆地運用到各個領域,實現越來越多大放異彩的專案。

以上就是我們小隊部分成員參與此次駭客松的體會,希望能給大家有所啟發。最後想感謝 ArcBlock 一直以來提供的支持,感謝社區夥伴們長期的關注和鼓勵。我們區塊動力小隊會繼續學習、努力、做出更好的 DApp,大家一起期待吧!

觀眾人氣獎評選揭曉

透過為期一週的觀眾人氣獎評選,總共回收了 433 張投票,評出最具人氣的前 3 個專案依次為:

  • 幸運抽獎小遊戲(181 票,41.8%)
  • IMNFT ABT 紀念幣(85 票,19.6%)
  • NFT 集市(66 票,15.2%)

延伸閱讀