致IOST社區:
IOST的願景是為未來的全球網路服務商搭建基礎架構。我們在構建高TPS的區塊鏈基礎設施,從而滿足一個去中心化經濟體對安全性和擴充性的需求。
IOST區塊鏈是旨在支援大規模且切實可用的區塊鏈技術的全球化項目,在真實環境下測試我們的產品至關重要。
因此,我們的Team Dev很高興地宣布IOST的測試網“Everest”0.5版本正式上線,這是我們向年底上線主網邁出的重要一步。
我們的測試網Everest使IOST區塊鏈功能更加強大,更富有生命力,但也存在著很多需要進一步完善的地方。我們鼓勵大家參與體驗測試網,並為我們提出建議。
Terrance Wang
Chief Technology Officer, IOST
With Everyone on Developer Team
Everest 成果
此次IOST 0.5版本測試網發布,我們達成了兩個重要的成就:在真實環境中達到了7000-8000的峰值TPS;驗證了PoB共識機制。
1. TPS:輸送量測試結果
我們的自我裝載在亞馬遜EC2服務中部署了兩個測試網路,分別使用了1700台從節點和900台從節點,每個節點的配置為1.73Ghz Xeon LC-3518處理器, 32 GB記憶體, 256 KiB L2 緩衝。在EC2的執行個體中,我們使用9個處於亞洲、歐洲以及美洲的資料中心來類比了不同情況的真實環境以及測試情景。
我們的測試網路在POB共識機制下,採用6個分區,達到了7000-8000的峰值TPS。
2. PoB已被驗證並在運行中
我們專屬的共識演算法 - 可信度證明(Proof-of-Believability)在真實環境中正常運行。原始碼可以在IOST GitHub項目的共識檔案夾中查看。
PoB 的共識機制演算法同時考量節點的貢獻和賬戶餘額,以此判定節點是否可信併當選驗證者。IOSToken餘額與驗證交易數量,二者相結合決定節點對於網路的貢獻。
傳統的PoS共識機制最大的問題是中心化趨勢。為了減少這個問題,節點在驗證一個區塊後,PoB系統將自動清除其之前的Servi餘額。
Servi token具有不可交易,自毀和自行發放的特點。每個交易驗證計為1個Servi token,每個IOST計為一個單位,相加為2的計數用於驗證者選擇。
此外,目前Everest 0.5 版本的測試網具備如下功能,可供開發人員快速而便捷的在IOST區塊鏈上進行開發。
Faucet,為使用者提供測試幣
錢包,用於儲存和傳輸代幣
可以運行 IOST 測試節點
區塊瀏覽器,可以展示交易和區塊資訊
部署私人的 IOST 測試網路
智能合約,相容字典式儲存、跨合約 API 呼叫和多重簽名
面向 API 的智能合約,方便快速開發和部署代碼
Playground,方便在本地進行智能合約測試
Lucky Bet,一個已經運行在測試網上的小遊戲
即時的指標監測和預警系統
已經在真實網路中部署多個節點,包括東京、倫敦、新加坡、孟買、法蘭克福、首爾和蒙特利爾
針對下一階段的開發,技術團隊有如下規劃:
在主網上線前我們還將發布至少2個測試網更新版本
會對測試網進行不斷的測試和改進
智能合約的功能和安全性會進一步完善
IOST虛擬機器最佳化
PoB將在更多樣化的環境下運行
提高Node Lifecycle的穩定性
通過研究結合Layer 1和Layer 2解決擴充性
添加更多開發人員documentation guidelines
致非開發人員:Lucky Bet
我們的測試網上有一個簡單的智能合約寫成的IOST競猜小遊戲“Lucy Bet”。詳細遊戲細節和參與流程教學,請點擊測試網Demo遊戲開放——競猜尾數贏IOST!(公眾號IOST社區可閱讀原文)
6月29日至7月1日,在測試網上線的前3天,每天遊戲淨收入排名最高的10個使用者將得到真實IOST獎勵,我們每天還將隨機發給100個幸運觀眾參與獎。
如何反饋bug
IOST區塊鏈還處於發展的早期階段,我們希望看到大家運行甚至打破它,我們將獎勵那些協助我們發現系統bug的人。你可以直接通過發送郵件至team@iost.io 向我們反饋,也可以加入我們的Twitter、Reddit、Telegram和Discord社群。
我們鼓勵大家都來參與使用我們的測試網。我們期待聽到你的想法,並將繼續改進IOST測試網。
致開發人員:操作指南
01
使用 Faucet 申請測試代幣
IOST Faucet 可以為使用者提供測試代幣,進而在測試網路上運行智能合約。使用者無需開發人員協助即可在 Faucet 中重新申請測試網路的代幣。擷取測試幣網址為:
https://explorer.iost.io/#/applyIOST
Faucet 可以為使用者自動建立新的錢包地址。使用者也可以為已有的錢包地址申請代幣。你需要將收款錢包的地址填寫完整,在進行安全檢測後可以申請10個 IOST 代幣。Faucet 會限制某一錢包地址一段時間內能擷取的代幣數。
請注意:不要在 IOST 測試網路中使用非測試環境的 IOST。
02
錢包,用於儲存和傳輸代幣
測試網錢包是用於在測試網上進行交易的用戶端組件。它可用於“測試IOST”的儲存和傳輸。該組件允許使用者在自己的機器上,而非測試網路中儲存私密金鑰。使用者使用測試網錢包時將用特定於VM的參數進行交易。
注意:這不是一個功能齊全的錢包。錢包具有用於執行交易的命令列介面。請使用faucet擷取測試IOST,在運行智能合約時不要嘗試使用真實的加密貨幣。
安裝並運行錢包的方法:
擷取IOST repository
在命令列運行:
輸入-h擷取可用命令的列表
03
運行IOST測試網節點
運行IOST測試網節點對所有開發人員來說都很容易。
首先,確保Golang是1.10.1或更新版本,Redis是4.0.10或更新版本(推薦Redis穩定版本)。
更新系統之後,就可以從以下網址擷取repository:
github.com/iost-official/prototype
最後,啟動redis and iserver即可運行測試網節點。
> redis-server
> ./build/iserver --config iserver/iserver.yml
04
區塊瀏覽器
IOST測試網的區塊瀏覽器網址為:
https://explorer.iost.io
在區塊瀏覽器中可以看到IOST區塊鏈上的活動資訊、交易記錄和區塊細節。IOST測試網充分支援智能合約部署,也就是說在瀏覽器上可以找到智能合約的原始碼。
05
部署私人網路
在IOST區塊鏈上您還可以部署一個私人的區塊鏈網路。在設定好網路和docker配置之後,您可以建立IOST release的docker映像。之後就可以運行註冊伺服器,記得一定要將模式設定為“私人”才能部署私人網路。
docker run -d -p 30304:30304 --name iost_register \
-v $PROJECT/test/data/register:/workdir/data \
$DOCKER_IMAGE ./register --mode private
註冊伺服器正常運行之後,可以使用docker啟動所需的IOST伺服器數量。之後您就可以在自己的私人區塊鏈網路的節點之間進行交易。
06
智能合約的進階功能
IOST測試網智能合約的進階功能包括:
可鏈上儲存key-value對,支援Lua等vector類型
合約賬戶中的儲存
跨合約 API 呼叫
多重簽名
跨合約調用中的多語言支援
測試用智能合約playground
07
面向 API 的智能合約
IOST 智能合約是一個面向 API 的智能合約。聲明的 API 可以輕鬆進行驗證和運行時檢查,也能讓參數交流和驗證變得很容易。一個簡單的 IOST 智能合約的可能結構如下:
--- main
-- your own comments
-- @gas_limit 11
-- @gas_price 0.0001
-- @param_cnt 0
-- @return_cnt 1
function main()
Put("hello", "world")
return "success"
end--f
智能合約目前支援公有和私人模式。公有模式的智能合約可以被任何人調用,而私人合約只能被發行者進行跨合約調用。我們會在未來的版本中加入更多的許可權管理功能。
08
智能合約的 Playground
我們致力於提高開發人員的效率,協助他們快速地產出基礎設施和產品。為此,我們將重點放在構建一套工具以及可靠且快速的自動化基礎設施上,以確保開發人員能夠把時間花在重要的事情上。IOST智能合約Playground是我們的開發人員工具之一。您可以使用它在本地運行和測試智能合約,使用方法十分簡單。
playground [-v init_values.yml] [source_code_1][source_code_2]...
原始碼會被順序編譯並執行。你可以在Playground上嘗試更多功能。
09
如何報告測試網路問題
如果您在使用過程中遇到任何問題,可以發送郵件到team@iost.io,也可以直接通過 GitHub 報告測試網路的任何問題。