EOS開發環境搭建
在上一篇文章《扒一扒EOS的前世今生》中,我們已經了解了EOS以及他的創始人Daniel Larimer的故事,本次為大家帶來的是關於EOS開發環境搭建的內容。首先我們來了解一下EOS的核心架構和白皮書。
1. EOS的核心架構

EOS網絡由21個超級節點和100個備選節點構成,這21個超級節點負責輪流產生區塊,避免了挖礦競賽的問題,有效的提高同步數據的性能。
2. 白皮書解讀
白皮書原文就不向大家展示了,感興趣的朋友可以去了解一下。通過閱讀EOS的白皮書,可以提煉出以下關鍵信息。
- 支持數以千萬的日活用戶
- 普通用戶免費使用更利於平台推廣
- 更容易升級和bug修復
- 更低的延時,0.5秒可以出一個塊
- 委托股權證明(DPOS)的共識算法,21個超級節點負責出塊
- 更快的交易確認,廣播后開始1.5秒后就可以99.9%認為是確定的
- 人類可識別的帳戶,長度2到32個字符之間,帳戶名稱支持命名空間
- 基於角色的權限管理
- 執行合約需要有cpu,ram和帶寬,ram需要購買,cpu和帶寬可以通過eos質押獲得
- 智能合約采用c/c++編寫,編譯為wasm在虛擬機中運行
3. EOS工具介紹
下面所提到的是EOS官方提供的一些開發工具,基於這些工具我們可以搭建一個EOS私有節點進行學習和開發。在這里,只需了解它們的用途即可。

nodeos——節點軟件,可以配置插件來運行節點的核心EOSIO節點守護程序。用途是塊生產,用於本地開發cleos——客戶端工具,使用命令行操作,用於與區塊鏈交互並管理錢包keosd——錢包客戶端工具,將EOSIO密鑰安全存儲在錢包中的組件eosio.cdt——開發包工具,用於生成abi和把C++代碼轉換為wasmeosio.contracts——示例智能合約
4. EOS的開發環境安裝
目前EOS的開發只支持Mac OS系統和linux系統,使用windows系統的朋友可以安裝linux虛擬機進行開發。
4.1 安裝二進制文件
按照操作系統版本在終端執行對應的安裝命令:
-
Ubuntu 18.04
wget https://github.com/eosio/eos/releases/download/v1.5.0/eosio_1.5.0-1-ubuntu-18.04_amd64.deb
sudo apt install ./eosio_1.5.0-1-ubuntu-18.04_amd64.deb
-
Ubuntu 16.04
wget https://github.com/eosio/eos/releases/download/v1.5.0/eosio_1.5.0-1-ubuntu-16.04_amd64.deb
sudo apt install ./eosio_1.5.0-1-ubuntu-16.04_amd64.deb
-
Mac OS
brew tap eosio/eosio
brew install eosio
-
CentOS
wget https://github.com/eosio/eos/releases/download/v1.5.0/eosio-1.5.0-1.el7.x86_64.rpm
sudo yum install ./eosio-1.5.0-1.el7.x86_64.rpm
-
Fedora
wget https://github.com/eosio/eos/releases/download/v1.5.0/eosio-1.5.0-1.fc27.x86_64.rpm
sudo yum install ./eosio-1.5.0-1.fc27.x86_64.rpm
4.2 安裝EOSIO合約開發工具包(CDT)
eosio.cdt——開發包工具,用於生成abi和把C++代碼轉換為wasm
-
Ubuntu
wget https://github.com/eosio/eosio.cdt/releases/download/v1.3.2/eosio.cdt-1.3.2.x86_64.deb
sudo apt install ./eosio.cdt-1.3.2.x86_64.deb
-
Mac OS
wget https://github.com/eosio/eosio.cdt/releases/download/v1.3.2/eosio.cdt-1.3.2.x86_64.deb
sudo apt install ./eosio.cdt-1.3.2.x86_64.deb
-
CentOS / Redhat
wget https://github.com/eosio/eosio.cdt/releases/download/v1.3.2/eosio.cdt-1.3.2.x86_64-0.x86_64.rpm
sudo yum install ./eosio.cdt-1.3.2.x86_64-0.x86_64.rpm
5. EOS的錢包和賬戶操作
EOS開發工具包安裝完成后,我們就可以用它來創建一個錢包。在EOS中,錢包用來管理賬戶,同一個錢包可以管理多個賬戶,同時也可以創建多個錢包。
5.1 創建錢包
- 創建默認錢包並輸出密碼等信息到控制台
cleos wallet create --to-console
- 創建並命名錢包
cleos wallet create -n yourWallet --to-console
- 查看錢包列表
cleos wallet list

5.2 解鎖錢包
在EOS中,操作賬戶時需要解鎖管理這個賬戶的錢包。
- 解鎖默認錢包
cleos wallet unlock
- 解鎖指定名稱的錢包
cleos wallet unlock -n yourWallet --password PW5KCfM9bNawtujMXaZxnRwtMfMavddmUz9nawPxTKCCLLpGcAazH

5.3 創建密鑰對並導入到錢包中
公鑰在創建賬戶時會用到,私鑰則用於賬戶簽名。一對密鑰可以綁定多個賬戶。
-
方法一:創建密鑰對並自動導入到錢包
cleos wallet create_key
//或者指定錢包名
cleos wallet create_key -n yourWallet
//以上任意一條命令即可完成創建密鑰對把它導入到錢包的操作

-
方法二:創建密鑰對並導入到錢包
-
先創建
cleos create key --to-console //或者這樣 cleos create key --file keyFile-
再導入
cleos wallet import --private-key 5J7qwRbkG9NHCXHrxJwYGodZiFzshp2YgrqKrbFce4HNCPkkTjh //或者這樣 cleos wallet import -n yourWallet --private-key 5KJ8chnW4cF6e7QdLQTTwSGHQ4ovZwS9agCQFfGhC2QQQTnCcAU -

5.4 查看錢包中包含的密鑰對
- 查看默認錢包中的密鑰對
cleos wallet private_keys
- 查看指定錢包中的密鑰對
cleos wallet private_keys -n yourWallet

5.5 創建賬戶
- 啟動EOS私有節點
nodeos -e -p eosio \
--plugin eosio::producer_plugin \
--plugin eosio::chain_api_plugin \
--plugin eosio::http_plugin \
-d ./eosData \
--config-dir ./eosData/config \
--access-control-allow-origin=* \
--contracts-console \
--http-validate-host=false \
—filter-on=‘*’
- 創建一個賬戶
cleos create account eosio bob YOUR_PUBLIC_KEY -p eosio@active
如果報錯則需要將eosio賬號的密鑰對導入錢包
cleos wallet import --private-key 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

完成上面的所有操作后,我們就完成了EOS的開發環境搭建。下期將為大家帶來EOS開發入門的相關內容,敬請關注。

