js4eos支援EOS智慧合約編譯和部署了,再也不用編譯EOS了
EOS最近DAPP不斷增多,活躍度也不錯,但是EOS一直有一個心病,那就是操作門檻高,這也是EOS參與者賬號少的核心原因。EOS門檻高主要體現在三個方面。
1)新賬號建立機制異常複雜
必須有一個已經存在的賬號才能建立新賬號,且消耗EOS。這個類似邀請碼機制,進入EOS,必須要有“推薦人”,且自己得掏錢。這個問題是機制上的,比較難解決。但還是有一些嘗試的,比如BM曾倡議降低賬號資料RAM消耗量,比如最近meetone和WhaleEx聯合弄免費賬號活動,儘管需要實名繫結且三天活躍才會免費,但是對於那些對隱私不是很在意的新使用者還是利好的,是一個雙贏,對EOS生態也是利好。
2)RAM, CPU機制太繁瑣
CPU價格經常波動,CPU大漲就可能導致使用者賬號因為CPU不足而處於“凍結”狀態,就算使用者賬號有再多的EOS,也解凍不了,必須等其他人施救,體驗極差。這個我在4個月前就做了一個CPU互助平臺eosfavor.com做CPU免費抵押,後來由於CPU太貴,沒法持續下去,目前只支援部分使用者免費啟用。
3)EOS使用開發環境不友好
目前個人及開發人員都是通過cleos這個客戶端程式和EOS互動,這裡就存在一個問題,要得到cleos就必須編譯EOS。而EOS編譯一向都不是一個簡單的事情,一是不同機器系統可能會出現各種問題,二是機器要求較高。同時,EOS各種升級還可能導致編譯錯誤,比如EOS1.2出現過“symbole_core.hpp”找不到的問題。
js4eos的初衷就是降低使用者EOS使用門檻。js4eos第一版解決了EOS個人使用者的問題,即提供了和cleos一模一樣的命令,只需一條安裝js4eos命令即可擁有cleos的所有功能,無需編譯EOS。但是智慧合約開發人員需要使用eosiocpp等工具,還是需要編譯EOS,因此這次js4eos升級了,支援編譯部署智慧合約,開發人員也不需要編譯EOS了。
-
js4eos升級功能
1)支援EOS智慧合約編譯部署
2)使用者賬號私鑰加密保護,使用者的私鑰加密後才儲存到檔案裡的,不暴露明文。使用前必須通過unlock解鎖。
3)支援一鍵切換網路,在主網,測試網路jungle, 麒麟網路,fibos等網路中自由切換。
js4eos config set -n mainnet/jungle/kylin/fibos
4)支援水龍頭功能,比如新建測試網路賬號,通過下面命令即可一鍵建立
-
js4eos進行智慧合約開發實踐
js4eos安裝
js4eos安裝只需要幾秒鐘
npm install -g js4eos
//建立預設錢包,需要記住它輸出的錢包密碼,後面unlock時需要輸入
js4eos wallet create
匯入私鑰
這裡匯入的私鑰,js4eos會加密儲存到檔案裡
//解鎖錢包,需要輸入前面的錢包密碼
js4eos wallet unlock
js4eos wallet import your_private_key
-
智慧合約編寫,編譯及部署
mkdir hello
cd hello
在hello目錄下新建hello.cpp檔案,通過vim等編輯器輸入如下合約程式碼
然後編譯
js4eos compile -o hello.wasm hello.cpp
js4eos compile -g hello.abi hello.cpp
切換到測試網路部署
cd ../
js4eos config set -n jungle
js4eos set contract youraccount hello
測試
js4eos push action youraccount hi '["youraccount"]' -p youraccount
切回主網部署正式上線
js4eos config set -n mainnet
js4eos set contract youraccount hello
中間執行過程中如果有以下提示,說明你沒有匯入私鑰或者unlock
Error: missing key, check your keyProvider
-
hello原始碼實踐
-
js4eos原始碼及詳細文件
喜歡就點選關注吧
公眾號:區塊鏈斜槓青年
歡迎大家加我微信:itleaks