這是NEO News Today 釋出的第二份NEO社群開發報告。本報告涵蓋了在2018年12月和2019年1月期間,NEO核心協議和社群開發者建立的獨立專案的主要貢獻。
社群通過了一項新倡議,各NEO開發小組、NGD團隊和NEO創始人之間將每月舉行一次會議。會議旨在改善NEO生態系統中不同團隊之間的溝通,為遷移到NEO3.0平臺做好準備。
會議也為指導各小組在之後幾個月應該關注的內容提供了一個溝通平臺。NEO News Today在接下來的一篇文章中將進一步探討這些內容。
會議代表如下:
- NEO基金會– 達鴻飛、張錚文(Erik Zhang)
- NEO全球發展(NGD)– 桂海芳 (Grace Gui)
- City of Zion(CoZ)– Fabio Canesin、Tyler Adams、Chris Hagar
- Neo Research – Igor、Vitor Coelho
- Red4Sec – Shargon,Belane
- NewEconoLabs(NEL新經濟實驗室)– 劉永新、王祥劍(Robbie Wang)
- NEO SPCC – Sergei Liubich、Anatoly Bogatyrev
- AxLabs – Guil Sperb Machado
- NEO•ONE – Alex DiCarlo
- NEO News Today – Dean Jeffs
NEO協議貢獻
dBFT和neo-cli 的改進
在整個12月至1月,社群開發者繼續優先NEO的dBFT共識機制和neo-cli客戶端。由NeoResearch牽頭的第一版ODBFT更新已經完成進一步測試。
1月29日,NEO網路遇到了一個歷史遺留的區塊問題,導致區塊瀏覽器和RPC節點資訊與區塊鏈不同步。該問題將在第三個共識階段釋出之前得到永久性修復,該階段已通過Cityof Zion和Red4Sec的Shargon所做的工作成功測試。
這些關鍵更新將在單個pull請求中完成,準備與主程式碼合併。正在完成再生策略的工作,該策略將通過允許共識節點在失敗時自動恢復以應對其他變化。
NEL新經濟實驗室(NewEconoLabs)也在其LightDB專案上取得了進展,該專案取代了目前NEO節點使用的LevelDB資料庫。本地測試已經完成,NEL聲稱它將來會在其節點上使用LightDB。NEL團隊希望它能“大幅提升NEO的TPS”。
去中心化勞務平臺Moonlight的開發者釋出了其Asteroid負載均衡器的原始碼。負載均衡器充當反向代理,幫助輕型應用程式與正常執行的完全同步的NEORPC節點保持連線。有關Asteroid負載平衡器的更多資訊,請點選此處。neonewstoday.com/general/moo…
最後,City of Zion和Splyse的開發者Joe Stewart (@hal0x2328)建立了兩個可選的neo-cli外掛,旨在對dApp生態系統有所幫助。第一個外掛實現了一個名為findstorage的RPC方法,該方法允許dApps在查詢和分頁需要大量結果的情況下快速從智慧合約讀取資訊。
第二個外掛是NeoPubSub,它將智慧合約通知實時傳送到RedisPub/Sub佇列。這就建立了一個簡單的介面,dApps可以使用這個介面通過websocket接收來自多個智慧合約的通知。
記憶體池更新
Aphelion的開發者Jsolman對NEO的記憶體池系統提出了一些修改,這些修改旨在解決當記憶體池達到高容量時所引起的效能問題。這些問題將降低NEO處理突發網路負載的能力,並可能延遲已傳送的具有優先順序費用的轉賬,因為在新轉賬獲得優先順序之前,現有轉賬將被重新驗證。
這些更改將轉賬限制為與填充塊所需的數量(當前為500)相等的轉賬子集,從而防止需要對每個塊重新驗證所有轉賬。轉賬現在也在記憶體池中保持排序,減少了節點檢驗哪些轉賬應該具有優先順序的需要。
這些更新將顯著提高NEO的效能,並有助於在網路負載較重時穩定區塊時間。預計neo-cli2.9.5版本將包含這些更新。
社群專案
O3實驗室
O3實驗室釋出了對其NEO dAPI的更新,該協議的建立是為了讓dApps方便地訪問現有的NEO錢包。這消除了dApp建立者構建自己錢包的需要,並有可能改善使用者體驗和使用者安全性。
該團隊的目標是將該協議設定為NEO生態系統的標準,並已開始與NEL新經濟實驗室(NewEconoLabs)合作開發一個可供開發者使用的可訪問包。
O3還在其地址掃描器中新增了一個特性,允許NEO使用者輕鬆檢視記憶體池中當前有多少轉賬。如果積壓超過500個轉賬,就可以解釋轉賬延遲的原因。
City of Zion
在1月中旬,CoZ釋出了neo-python 0.8.3版本,一個由Python語言編寫的NEO節點和SDK。這是一次大規模更新,包括一個完整的CLI重構以及各種穩定性/可用性改進。有關更新的詳細介紹請點選這裡。neonewstoday.com/development…
Neo-local專案在1月份也有了相當大的進展,可以快速部署個人NEO區塊鏈,以便在事先無經驗的情況下執行測試。Neo-local已經更新為使用最新的neo-python版本,目前正在進行對多系統支援的測試。
CoZ 開發者@cryptotuga向Docker容器新增了自動修復功能,允許它們在遇到不健康情況自動重啟。這項更新旨在避免neo-local使用者在出現故障時需要手動除錯系統。此外,還向neo-local新增了停止命令,允許在堆疊啟動後停止容器。該命令將在將來進行擴充套件,以允許停止單個容器。
Neon Wallet v2.1候選版本已推遲釋出,等待對傳送功能、使用者體驗和QR功能的改進。一月份的大部分時間都花在瞭解決小bug、提高程式碼質量、改進測試覆蓋率和實現新的主要特性的初始研究/步驟上。這些改進可以在這裡點選檢視。github.com/CityOfZion/…
這些主要特性包括手動節點選擇、支援多樣Ledger硬體錢包公共地址,以及用於待定轉賬的潛在UI解決方案。
NEL新經濟實驗室(NewEconoLabs)
除了替換NEO節點的LightDB資料庫之外,NEL還發布了一個基於NeonDebug工具包的NEO智慧合約線上除錯工具NeoRay,目前只支援c#程式碼。更多關於NeoRay的資訊可以點選這裡。neonewstoday.com/general/nel…
NEL在1月份的開發報告中指出,Teemo瀏覽器擴充套件錢包的開發已經開始。除了為使用者提供一個可訪問的瀏覽器錢包,讓使用者在不暴露私鑰的情況下訪問dApp外,它還將作為dApp開發平臺,旨在簡化dApp開發。
NEO聖彼得堡能力中心
最新加入NEO生態系統的開發團隊NEO SPCC釋出了一份報告,報告涵蓋了其在2018年第四季度取得的進展。該報告記錄了其去中心化檔案儲存平臺的當前進展、對neo-go和neo-storm專案的貢獻,以及官方NEO文件的俄文翻譯。NEO News Today 對該報告的摘要點選這裡檢視。neonewstoday.com/development…
研究員Alexey Vanin發表了一篇關於BFT協議中的任務分佈的文章,目的是通過最小化NEO節點上的任務池大小來提高NEO的可伸縮性。摘要可以在這裡檢視。neonewstoday.com/development…
該小組還參加了在聖彼得堡舉行的MICSECS-2018大會,在會上他們展示了他們關於去中心化檔案系統的研究。展示了三個作品:
- 基於同態雜湊函式的零知識資料驗證方法
- 網路地圖和資料放置模型
- 提高分散式系統中流言式協議的效率
1月31日,NEO SPCC釋出了一個教程,介紹如何設定一個成熟的環境來自動匯入智慧合約。在原來的CoZ私有網路docker中,可以使用neo-python提示符輕鬆匯入智慧合約,但是每次設定環境時都不方便這樣做。NEO SPCC的NEO私有網路具有自動智慧合約匯入功能,可在此下載。github.com/nspcc-dev/n…