NEO海外開發者社群CoZ 6月至8月專案報告

City of Zion(CoZ)是一個開原始碼愛好者全球社群,其共同目標是幫助NEO充分釋放潛力。CoZ主要通過Discord和CoZ Github等社群平臺進行協作,共享資訊和為專案貢獻力量。
| CoZ 既不是公司,也不是諮詢公司或開發者商店 / 僱傭小組。
…
由於我們一直很忙,對於釋出最新專案進度的延遲,我們深表歉意!這是專案維護者編寫的過去幾個月的報告。
…
neo-go : ofollow,noindex">https://github.com/CityOfZion/neo-go
neo-go開始構建2.0版
在更好地理解區塊鏈技術以及NEO如何工作之後,便從核心部分著手開始,並使用正確的程式語言和程式碼工程實踐來實現它。
建立了處理網路協議的包
建立了新的加密包
開始編寫輕節點的核心基礎
]使每個模組均可獨立匯入
neo-storm專案啟動
neo storm的Github連結: https://github.com/CityOfZion/neo-storm
在NEO宣佈它將改變NEO協議的一些核心語言之後,我認為開發者應該有一個好用的、簡潔的智慧合約框架,因為專注於智慧合約開發比繼續把埠寫入Golang更有意義。目前,幾乎所有NEO開發者都使用Python或C#來編寫合約,然而,NEO最大的優點是能夠用多種語言編寫智慧合約,所以為什麼不改進Golang編譯器,讓它可媲美同類編譯器(Python和C#)。
| neo-storm不僅僅是Golang到AVM的編譯器
Golang到AVM位元組碼編譯器
完全存根的NEO虛擬機器(不需要節點)
智慧合約偵錯程式
部署到測試和生產環境的工具(SDK)
用Go語言編寫的智慧合約模組的軟體包管理器
完成neo-storm的1.0版本
Neo storm已經發展到版本4,這使它成為了一個完全可用的從Golang到AVM的編譯器。但由於還沒有經過充分的壓力測試,目前還不適合生產。
啟動新的、改進的VM
新版本的VM具有更高的安全性和完全獨立工作的能力,這意味著使用neo-storm的開發者無需啟動私有網路即可測試他們的合約。VM將內建和模擬所有執行時的狀態和NEO API,就彷彿它是一個完全工作的區塊鏈。
…
neo-sharp : https://github.com/CityOfZion/neo-sharp
6月,由8名成員組成的neosharp團隊繼續構建和完善平臺,特別是在密碼學、網路訊息傳遞和永續性方面。
當團隊實現了Genesis區塊的生成並開始測試來自測試網和主網源的區塊穩定性時,意味著發展達到了一個重要的里程碑。此外,團隊還致力於網路訊息傳遞、單元測試覆蓋以及貢獻指南和最佳實踐的更新,從而使新的貢獻者能夠參與到專案中,並使程式碼庫為團隊赴上海和NGD開展聯合開發衝刺做好準備。
7月,該團隊真正開始neosharp開發並赴上海NGD一起合作開展聯合開發衝刺,團隊也新增了5個貢獻者,7月份在GitHub上有近100個pull/commit的請求。
本月主要關注的領域是:錢包功能、應用程式和控制檯功能的整合,任務排程程式框架的新增,RPC的實現,VM整合,區塊的處理/永續性以及單元測試的覆蓋。該框架也升級到了dotnet核心2.1,上海聯合開發之行標誌著NGD資源開始整合到neosharp開發工作,它是非常成功的,期望在未來幾個月內可以對專案進行更深入的整合和資源的分配。
8月,貢獻者隊伍在設計、測試和neosharp實現方面增加到了13個常規貢獻者/參與者,並且專案轉移到Github來進行問題的跟蹤和專案的管理,早期貢獻者使用的傳統Trello版本已經落伍了。
此外,測試覆蓋率越來越受到人們的關注,新的計劃是利用容器來促進網路配置中節點的功能測試,使用動態分配的容器將使開發者能夠以新的方式測試節點,這種方式目前還未出現於NEO社群中。
除了測試之外,還進一步實現了永續性,使Redis資料庫的永續性模組在功能上與RocksDB實現相容,並且第一個JSON永續性模組是利用Redis實現的,這為開發者提供了更方便的第三方的互操作和除錯。
…
neoscan:https://github.com/CityOfZion/neo-scan
從外部主機(用於neoscan.io、neoscan-testnet.io、coz.neoscan-testnet.io和nex.neoscan-testnet.io的5臺伺服器)切換到Google
Kubernetes Engine叢集上更加統一的部署,實現了更快的部署、回滾、資料庫備份、複製和測試。
利用區塊並行插入改善neoscan的同步時間(從4天到24小時)。
提高單元測試的穩定性和速度
各種修正/重構
新增已棄用的Token列表並在UI上顯示它(例如,用NRVE支援NRV Token)
更新neoscan文件並從單元測試中自動生成該文件
為所有的環境neoscan.io,neoscan-testnet.io,coz.neoscan-testnet.io,nex.neoscan-testnet.io)配置和建立部署指令碼(以便所有這些端點從neoscan獲得最新的更新)
啟動時更快的區塊一致性檢查
使用segment_tree結構進行地址gas計算
各種錯誤修正
neoscan程式碼庫已經完全用新的postgresql資料結構重寫,給出了以下改進:
更快的區塊鏈同步(快2倍)
更好的資料一致性/崩潰恢復方案
詳盡的測試(超過90%的程式碼覆蓋率)
更好的可維護性(刪除程式碼冗餘,程式碼庫減少25%的LoC)
…
Neon
Wallet : https://github.com/CityOfZion/neon-wallet/releases
6月,建立和設計了新的UI/UX的v2版本的基礎,並進行了仔細的稽核。在v2和現有的neon-wallet版本的效能和安全性上做出了更新,建立了一個專案版面來容納v2 MVP的代表專案,並且將網路費(優先費用)引入到了neon錢包中。
在neno錢包v1版本中實現tx網路費
許多產品設計的迭代審查了新的v2概念
建立關於gh和資訊管理的v2專案版面
v1和v2分支中的電子安全修復
7月,開發了v2的通用元件庫以便在整個應用程式中使用,並且許多內部API被簡化和重構。工作已經進行到不需要再為新增到網路中的每個新Token釋出一個新版本的程度,又有一些新的貢獻者加入了團隊,並做出了巨大的貢獻。已在neon錢包中實現了驗證,傳送和錢包管理器UX功能並進行了QA。v2開發工作正在進行的同時,現有版本的neon錢包已釋出補丁(0.2.6)。
從設計規範到應用程式的字型介紹
與新的設計相關的所有身份驗證UX / UI的實現
稽核和固定型別註釋
為未來的貢獻者設計和建立通用元件
在v1和v2中引入新的邏輯,用於通過neo-tokens
repo動態獲取Token雜湊(之前需要一個版本來新增硬編碼的指令碼雜湊)
投票UI和redux的實現
新貢獻者的參與
釋出流程和circleCI流程的稽核,以及釋出文件的建立https://gist.github.com/comountainclimber/a0dd9f7553ffd75ad7a3635c7ea70d5b(以前不存在)
損壞的HMR
webpack的修復
釋出0.2.6版本https://github.com/CityOfZion/neon-wallet/releases/tag/0.2.6
更新核心依賴項
v2“傳送”UI / UX
實現v2“錢包管理器”UI / UX
與“空”錢包狀態相關的設計模擬的迭代和審查
在八月份,團隊更多的專注於v2中UX / UI的設計實現,v2儀表板元件已經完全實現,包括帶Token標識的Token餘額等。已完成有關新應用程式的設定、節點選擇流程、Token銷售、接收、nep9 QR生成功能、交易歷史記錄和聯絡人部分的工作。許多現有的使用者體驗流程也得到了進一步完善,在整個應用中實現了包括圖示和影象在內的資產更新,對應用程式的狀態管理層進行了大量更新。除了所有這些艱苦的工作之外,v1的0.2.7和0.2.8兩個版本在此期間被刪減,增強了許多效能,其中最顯著的是減少了neon錢包所需的網路電話。這些版本也被移植回v2。
釋出了0.2.7版本https://github.com/CityOfZion/neon-wallet/releases/tag/0.2.7
開展針對在Token銷售UX流程中實現網路費用的研究
完善了v2“傳送”UI
Bug修復
修復/簡化了動態雜湊邏輯並更新了硬編碼Token列表
修復了使用coznet時交易歷史記錄中損壞的連結
釋放埠0.2.7到v2分支
利用動態Token雜湊工作使界本上包含nep5Token的影象
在不同螢幕解析度下稽核v2分支
介面元件的建立和潤色(v2)
nep9模擬上設計的協調(v2)
應用程式圖示(v2)
新增通過鍵盤快捷鍵最小化應用程式的功能(v2)
在auth檢視中從package.json動態新增版本號(v2)
釋出0.2.8https://github.com/CityOfZion/neon-wallet/releases/tag/0.2.8
完全重寫dashboardActions
getBalances邏輯,利用neon-js中新的getTokenBalances功能來提高效能、簡化程式碼
NEO Token中發現和修復SOUL的無效指令碼雜湊
在通用程式碼質量的改進上花費了許多小時 – 修復了先前的貢獻者/維護者引入的linting和型別錯誤
修復CI流程中的錯誤
v2傳送優先費用的實現
…
neo-python : https://github.com/CityOfZion/neo-python
6月,我們完善了與交易相關的幾個部分。對解析部分進行了更新,我們添加了在測試和實際呼叫期間新增事務屬性的功能,並添加了新命令`tkn_history`以顯示指定Token的所有歷史傳輸。僅舉幾個變化:
在實用方面,我們添加了“np-sign”用於錢包、NEP2格式化金鑰或WIF的簽名。此外,還引入了`np-export`和`np-import`用於原始區塊資料的備份和恢復。通過允許RPC伺服器與REST伺服器並行執行,修復了一些錯誤並添加了幾個新的RPC方法以使其更接近官方的C#RPC伺服器的功能。我們要強調的最後一個很酷的功能是用於智慧合約開發的`Iterator` API,它允許在儲存上下文中進行字首搜尋,快檢視更新的日誌以獲取完整的更新列表!
雖然7月的進展較為緩慢,但我們並沒有坐以待斃。我們將重點介紹幾個很酷且重要的更新。首先,命令提示符現在支援` – i`標誌,允許您在呼叫期間以互動方式指定引數及其型別,這極大地改進了對呼叫事務處理內容的解析和控制。從多重簽名傳送的NEP5 Token無法正常工作(這意味著您無法使用`neo-python`轉移您的NEO Testnet資金)的問題已修復!進行了一些與網路相關的改進,從而提供更好的連線節點。與C#客戶端相比,其餘的更新主要是內部工作,以提高資料結構的穩定性和正確性。與往常一樣,請檢視更新日誌以獲取完整的更新列表!
八月,夏天即將結束。我們針對節點的選擇,在網路方面做了一些更新。添加了向交易新增費用的功能,以便如果您願意為此付費,您可以在網路上優先處理您的交易。我們添加了對更新的庫版本的支援,以便及時瞭解這些改進,並擴充套件了我們可用的RPC方法,與官方節點GAS計算進行了更新和同步,並減少了很多的錯誤。最值得注意的是我們修復了`np-import`工具的頭匯入問題。有關更改的完整列表,請檢視更改日誌!
…
neon-js : https://github.com/CityOfZion/neon-js
6月,第一個測試版v4釋出。新選擇的堆疊包括typescript、lerna、jest和yarn,它提供管理多個包不斷擴大的程式碼庫的工具。雖然目標是擁有多個包,但neon-js包仍將作為具有相同功能的函式庫保留。
核心軟體包將以@cityofzion/neon-core的名稱釋出,這將僅包含命名模組,而不包含API。當前包中的api功能將作為@ cityofzion / neon-api和@ cityofzion / neon-nep5外掛,以增強核心包。(目前外掛包還未釋出,因此無法進行試用)。
要安裝版本4,需要使用下面的命令:
npm i @cityofzion / neon-js @ next
對於版本3,我們在構建版本4時會繼續釋出和更新。本月,我們釋出了3.9.1版本,它引入了VM中複雜物件的反序列化。
此外,我們還發布了v4的另一個版本,該版本對依賴項進行了升級,並著重修復了過渡到typescript期間發生的錯誤。在v3方面,我們釋出了3.9.2版本,它修復了影響neon-js決定好的rpc節點的各種錯誤。
隨著投票的公佈,一些工作重點放在了調查和支援國家交易,這些是用來投票給候選人的交易,當功能更穩定時,將釋出此工作。
第4版本的工作已經快要結束,很快將會發布(9月初)。一旦版本4推出,v3上的工作將會停止,並且將分割出一個分支存檔 /v3 以支援v3的未來補丁。由於版本4發生了很大的變化,我不希望立即採用版本4。因此,版本3將在必要時繼續接收補丁和適當的升級,但是版本3可能沒有基礎結構來支援版本4中釋出的新功能。例如,在不破壞瀏覽器相容性的情況下,任何基於節點的程式包都無法移植到版本3。
同時,v3.11.0釋出了幾個新功能。由David提供的getTokenBalances將多個Token呼叫捆綁在一起,從而降低了開銷。狀態交易支援也與setupVote合併,成為設定投票的一種託管方法。最後,添加了verifySignature以補充簽名方法。
…
neo-local : https://github.com/CityOfZion/neo-local
隨著nOS的普及和成功,最近幾個月neo-local(NL)的使用者數量也在增加。nOS核心團隊釋出了nos-local,它引入並使用NL作為其基礎。作為新使用者的一部分,已經標註並修復了許多錯誤,並且提出了進一步構建的功能。
在Discord上廣泛討論的一個專案現已釋出並新增到NL:neo-local-faucet,這個新的服務構成了要新增到NL Docker
Compose堆疊的第6個容器,它是一個簡單的Javascript Web應用程式,允許新錢包的建立和NEO / GAS對一個帳戶的自動請求。
通過加強CI測試和夜間監控,進一步提高了NL的可靠性。
8月開始了neo-local的一個重要里程碑工作,跨平臺CLI!切換到CLI的原因是:
[if !supportLists]· [endif]移除了Makefile的需求,因為它不能在Windows上執行(參見@canesin提出的問題#8)。
支援專案的輕鬆誇張,以便可以繼續新增更多的功能。
用Go語言編寫,以獲得更好的效能和單元測試的能力。
刪除對Docker
Compose的依賴。
這是對專案的完全重寫,因此需要一些時間。最初版本的目標是10月份,目前正在由@revett和@jeroenptrs進行開發。
@jeroenptrs建立的一個小修正改進了CI測試在專案上執行的方式。neo-local貢獻者間的討論將會繼續推動專案的進展,可以參考Jeroen Peeters寫的這個要點: https://medium.com/@JeroenPtrs 。
…
快樂的黑客!
City of Zion社群
在Facebook、Medium Publication和Twitter上關注CoZ,瞭解CoZ開發的最新進展!
…
管理
加入CoZ沒有什麼正式的流程。有興趣的人必須先完成工作,提交的程式碼必須根據MIT許可證進行許可。一致的貢獻者將有資格加入CoZ組織,並開始合作專案。可以在此處找到該組織的管理流程: https://cityofzion.io/ 。
CoZ不是監管機構,對Neo Blockchain部署的第三方智慧合約的質量不承擔任何責任。
資金
自成立以來,CoZ委員會一直與NEO理事會保持密切聯絡,NEO委員會以NEO獎勵的形式為社群提供支援,CoZ會每週進行分發。
對於願意經濟支援CoZ開發的個人,我們的捐贈地址是AXSoNQEKjmqPBNPg5cNrHyWivfjok3Vj9D。
CoZ委員會成員和維護者在每週的NEO獎勵之外,並且理事會成員被排除在任何CoZ比賽之外。
翻譯:尹麗麗
原文連結: https://medium.com/proof-of-working/city-of-zion-project-report-june-to-august-2018-ea6fa87565ea
NEOFANS:neofans.org
NEOFANS 微博:https://www.weibo.com/neofanscommunity
NEOFANS telegram群:https://t.me/NEOfansCN