Aleo Testnet3 | 一階段測試概覽

Aleo Testnet 3 總共有三個階段:
Phase1 - 開發者 (1-2兩個月)
- 面向開發者,能開始編寫,部署,運行自己的程序
- Aleo官方啟動運行beacon節點
Phase1 - 證明者 (1-2兩個月)
- 證明者開始解決coinbase puzzle(PoSW)來獲得積分(credits)
- Aleo團隊啟動了snarkOS和snarkVM的bug賞金計劃
Phase1 - 驗證者 (續到主網上線)
- 驗證者開始產塊或者報酬
- 擁有100萬Aleo信用點的程序員將能夠成為驗證者
- Aleo團隊將用AleoBFT啟動第三階段的網絡
目前正在進行的是phase1,也就是主要開發者為主的階段。那麼對於開發者來說目前進度怎麼樣呢?對於開發者來說,主要可以關註三個庫的進度,分別是
官方介紹是用於生產零知識交易的開發者套件。但是實際上目前就是一個用於寫Aleo instructions的開發工具,主要是包裝了snarkVM庫裡的接口給開發者方便使用Aleo instructions開發應用程序。 Aleo庫目前處在高頻更新狀態,自從上上週更新了本地啟動節點本地部署執行代碼後,基本上每天都會有代碼更新。有些是修bug,有些是代碼重構,但大多是跟上snarkVM更新的features。目前最新的更新是上週末snarkVM關於Deployment Request的接口包裝,所以目前已經能夠將自己寫的Aleo program部署到官方的beacon節點上了,具體步驟會在下文中展示。
Leo是Aleo公鏈的零知識證明智能合約。 Leo庫主要是Leo編譯器以及提供了Leo語言的使用環境。 Leo庫目前應該主要是在追趕 Aleo instructions的開發進度。一個是提供了鏈上執行的finalize關鍵字,提供了finalize scope以及finalize register type來為開發者提供開發混合鏈上鍊下執行的方法。第二個是新增鏈上執行的數據存儲方式mapping,mapping關鍵字讓開發者能夠定義一個全局公開(global and public)的鍵值對映射來存儲智能合約裡需要存儲的數據。
Aleo最核心的庫。 avm的編譯器,鏈上相關的存儲,虛擬機的運行環境,電路(circuit)以及proving key、verification key(算法)的生成等都囊括在這個庫裡。 Leo和Aleo以及snarkOS都需要引入這個庫。目前Aleo的進度都體現在snarkVM,所以有大量更新。最近的更新都是圍繞新的coinbase puzzle以及Aleo program相關,分別是新的PoSW以及之前提到的Deployment Request。
總結來說,官方早先定下的關於Phase1的主要目標現在已經算是基本達成。畢竟已經能夠部署program到beacon節點了,並且Aleo instructions program的大部分features也已經支持的差不多了,開發者完全可以基於目前的情況來寫一些簡單的應用程序,但是要想有好的開發體驗,官方還有很多需要完善的地方,例如
- 完善的Aleo開發文檔,目前文檔過於簡陋。
- 直接使用Aleo開發實在是太不方便,但是Leo開發進度相對較緩慢,包括類似基本的數組類型還沒有支持。
- 兩種語言的錯誤提示都很簡陋。
嘗試部署 Aleo 程序
第一步,下載安裝rust語言;
1 | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh |
第二步,下載並安裝Aleo SDK;
1 | # Download the source code |
第三步,可以通過指令創建,執行或者部署你的program;
1 | aleo new myprogram |
此時你會看到下圖所示界面
最後你就可以去Aleo Explorer上檢查你的程序是否部署成功。