鏈上數據分析到底有多麻煩 | 善用 Footprint Analytic 幫你省時間
前言
鏈上數據的分析不管是對於要了解一個項目或是你自己就是項目方都很有幫助。
試想你想要投資一個某個幣,你可能會擔心幣的代幣經濟狀況是否優良,這時候你就需要有鏈上分析的能力去看實際的現況,而不僅是在DC裡面看著項目方跟支持者互相吹捧。
如果你是項目方的話,你可能發行了NFT,剛開始也賣得很好,但是過了幾個月之後可能你就對於你的項目現況一片迷茫,透過分析鏈上數據,可以讓你的項目不僅僅停留在發行成功,而是可以根據後續狀況做出最適當的決策。
但是這件事是一件麻煩透頂的事情,本文會分享從零開始做數據分析需要經歷的步驟與痛苦,以及如何可以善用工具快速達到你的目標避免這些無謂的麻煩。
從零開始的鏈上數據分析
取得資料
最麻煩的方法是自架一個節點,並且用這個節點同步區塊鏈的歷史資料,上圖是目前以太坊歷史資料的資料大小,因此最少需要準備1TB的SSD儲存空間,同時還要準備其他的硬體設備(詳細硬體需求可以參考),另外同步時間會根據硬體設備的速度有差異,根據經驗需要花一週左右的時間可以同步到最新的區塊。
由於自架節點太痛苦,因此有些服務供應商例如 Alchemy, Moralis 都有提供讓你可以去從他的節點取得鏈上資料,但是這些節點都有取得資料的限制,大部分時間免費方案都夠用,不過就需要花比較多時間等待。
解碼資料
取得資料之後,就到了第二步-清洗資料。在這個時間點,你手邊會有上千萬筆 Transcation 的資料。
這時有著全世界的參與者跟鏈互動的資訊,下一步就是要能夠將input Data解碼(Decode)人能夠看懂的樣子。要做到這件事就需要有那些你想要解碼項目的ABI。
取得ABI需要靠項目方提供,另外如果項目方有上傳Etherscan,也可以用Ethersan api去大量取得,解碼不同的項目合約需要不同的ABI,因此如果你好奇的是世界百大NFT的資料,那就會需要搜集這一百種ABI。又是一段麻煩又辛苦的旅程,但是解碼後就能夠看到transcation究竟是發生了哪些互動,往分析數據快樂找洞見又往前了一大步。
整理資料
資料解碼完成後,還需要進一步的整理成容易使用的表格或是資料庫。
由於在取得資料的時候手上的是世界上所有交易數據的資料,因此在這一步要將這些資料按照需求整理成好取用的格式,並存進資料庫中方便接下來進一步的分析。
這一步可以參考 Ethereum-ETL 工具來根據你的需求設計 Schema 整理資料成表格資料(csv) 或是關聯式資料庫。到這一步,資料終於變成可以用的形式啦!
資料分析
到了這一步,各位資料科學家應該迫不及待了,可以用各種統計甚至機器學習工具來從整理好的資料中提取洞見,解開心中的疑惑,驗證自己的假設。
呈現結果
分析完成後,可能會想要將你的發現發到twitter或是個人blog上,這時候不可或缺的就是一張精美的,配合你的故事的圖表。常用的工具像是 Matplotlib, plotly 都可以幫助你。
以上就是一個從零開始分析鏈上數據的過程,但是整段過程充斥著太多麻煩與痛苦,整段過程需要3~4週的時間,最後的結果可能就是發一則tweet,或是你問的問題已經失去時效性了,接下來會分享善用工具的舒爽體驗。
善用工具的鏈上數據分析 -- Footprint Analytics
取得資料 & 解碼資料 & 整理資料
通通不用自己來,Footprint Analytics 已經整理好了。
資料分析
資料分析除了使用SQL的指令計算一些統計值以外,也支援透過 Playground 開一個 jupyterlab 來做資料分析,這樣就可以盡情用 Python 強大的套件了!目前這個功能還是 beta,期待以後更好用的樣子!
呈現結果
透過強大好用的內建功能,可以輕鬆建立可互動的儀表板。也可輕鬆將你的結果分享給其他人看,也可以看其他人對什麼有興趣,是如何著手分析的。
https://www.footprint.network/dashboards
結語
早期要做鏈上數據分析真的花了很多時間嘗試,直到近年像是這樣省時間好用的產品開始出現,真的可以省下大部分處理資料的時間,將時間專注在資料分析本身。
接下來我會持續分享分析鏈上數據的工具跟方法,喜歡的話請幫我讚賞或留言,謝謝看到這邊。
https://www.footprint.network/@motif