前段時間終於試著復活了下eosvoterstracker,過程艱辛
本文僅從該項目的需求來選擇的,讀者應按自己實際情況和應用來決定使用哪個~eosvoterstracker
在去年 6 月 eos 主網剛啟動,投票還未滿足 15%抵押的時候,我出於對投票行為的好奇,於是想能不能提供乙個工具來分析節點到底被誰投了,是什麼導致了排名的變化,而且那會兒我們也在參與節點競選。
對投票過程也很感興趣。說幹就幹,大概 2 小時就寫好了資料收集部分:
再就是後來 block 越來越多,重來一次就要遍歷從頭到尾的 block 找出和投票相關的 action
以上的種種問題一直都存在,技術債越積越深
voters 記憶體表
後來沒辦法只能尋求更簡便的辦法,早在上線沒多久就知道還有個 voters 表儲存了所有選民的 stake 情況 vote_weight 情況。
後面就考慮:
當時在本地節點測試了下:
後來還沒來得及繼續完善,我們節點就關了,因為一直沒拉到票~
eosinfra 社群** api
該 api 是對社群節點健康檢查並進行負載均衡的乙個服務。由 blockmatrix 和 eos asia 提供,此外他們還提供私有的部署服務 eosinfra.io
社群node一番測試下來,dump voters 表太慢了。。
eospark
提供免費key申請,測試了一下:
測試下來:
最後扔 aws 上才發現。。。該 api 部署的在國內阿里雲。國外訪問太慢了…
dfuse
最後才看 dfuse,翻了一遍:
測了一下:
正當我準備放棄的時候,又掃了一遍 rest api.
抱著試試看的心態呼叫了下,很快就返回了 50w voters 接近 120mb 的 snapshot 資料及截止到什麼位置的 block number。
那麼到這裡基本上:
redis
之前在 node 裡用記憶體來儲存關係,在後面看來還是很亂。
吸取教訓後,決定還是用 redis 來儲存。
畢竟 redis 的有序集合還是很適合來儲存投票關係的。 缺點
dfuse 雖然好用但他是乙個非標的 api,倘若某天他倒閉了那麼也就。。。
到時候再說吧,畢竟走 dump rows 也是可取的。只是有延遲而已!
Python Excel 模組哪家強?
從網頁爬下來的大量資料需要清洗?成堆的科學實驗資料需要匯入 excel 進行分析?有成堆的 等待統計?作為人生苦短的 python 程式設計師,該如何優雅地操作 excel?得益於前人的辛勤勞作,python 處理 excel 已有很多現成的輪子,使用較多的有 xlwings 由於設計目的不同,每個...
前端框架哪家強?
它就像是todomvc,只是使用全棧技術實現。realworld 向大家展示了如何使用 react angular 等框架在 node django 等平台上構建真實的部落格平台。開發者可以把它們混合起來,因為它們都遵循相同的 api 規範。realworld 基準測試始於 2017 年,最近更新了...
巨集與函式哪家強?
說到巨集與函式,我們首先來了解一下它們的定義 define包括乙個規定,即允許把某一特定輸入根據預定義的規則進行輸出,巨集即是一種規則與模式,也可以稱為語法替換。在計算機中,函式是乙個固定的程式段,也可以成為乙個子程式,擁有自己特定的功能,在被呼叫時將傳入的引數進行運算,再返回值給呼叫它的程式。在某...