EOS 入門指南
前置說明
- 我使用以下配置完成了
eos
的入門,你也可以使用其他系統或版本,具體參照官方的 說明文件 - 系統版本
macOS
10.13.6 -
xcode-select
版本 2349 -
Xcode
版本 10.0 -
eos
版本 v1.4.1 - 請保證你的電腦或虛擬機器至少有 7
GB
可用記憶體
第一步從 Docker 入門 eos
為了快速學習 eos
我建議使用 Docker
入門,而不是一上來就從 eos
原始碼編譯安裝開始。目前(2018.10.30)來看,從 eos
原始碼編譯安裝開始入門簡直是對人性的考驗。如果不會用 Docker
,推薦看看《Docker — 從入門到實踐》非常不錯開源 Docker
入門書。
當你對以下常用的 Docker
命令瞭解之後,你就可以放心去用 Docker
快速入門 eos
了。
# ----拉取 eos 最新的映象----
docker pull eosio/eos:latest
# ----Docker 常用映象操作----
# 列出所有映象
docker image ls
# 刪除本地映象
docker image rm [IMAGE ID]
# ----Docker 常用容器操作----
# 檢視所有容器
docker container ls -a
# 檢視啟動的容器
docker container ls
# 啟動容器
docker container start [CONTAINER ID]
# 終止容器
docker container stop [CONTAINER ID]
# 重啟容器
docker container restart [CONTAINER ID]
# 刪除容器
docker container rm [CONTAINER ID]
# ----使用 eosio bash----
docker exec -it eosio bash
第二步從 eos 官方文件開始踩坑
如今市面上的很多 eos
入門教程其實說白了就是把 eos
的英文文件翻譯成了中文,拿出來說一通,含金量不高,而且容易忽視官方文件的重要性,一遇問題就 Google
,不會自己去查官方文件。
如果你已經對 Docker
有一些瞭解了,那麼你就可以去 eos 官方的開發者網站 逛逛了。
可能你逛完回來還是不知道從哪裡開始,囉 從這裡開始->。
但大多數情況下你可能沒辦法按照官方的入門教程完成整個教程的例項,遇到問題首先要看報錯資訊,看看具體是什麼錯誤,思考一下錯誤的原因,如果實在不行再去 Google
或找人幫忙。至少我入門的時候,為了理解和完成整個教程的例項,我不只練習入門教程三次。如果你能堅持無誤的完成官方的入門教程,瞭解了 eos
基本的一些概念,那麼你已經入門了 eos
。
第三步從原始碼開始編譯安裝 eos
如果你能順利走到第三步,可能前面兩步你就已經花了一週的時間,千萬要把前兩步走好,把基本概念瞭解透。大部分人都是這麼過來的,不要放棄。
有了基本概念後就可以更深入的學習 eos
,從這裡開始就需要我們從原始碼開始編譯安裝 eos
。
可能大部分人都會從 這裡開始 按順序往下學,但我建議你 先看看這裡 ,先看看編譯原始碼需要哪些依賴,然後參照官方的文件把這些依賴安裝好,如果不好好裝好這些依賴,你也走不遠。安裝好依賴後,再從 這裡開始 一步一步往下動手實踐。
編譯中遇到的坑
1.沒有設定 LLVM_DIR
詳細錯誤如下:
CMake Error at libraries/wasm-jit/Source/Runtime/CMakeLists.txt:26 (find_package):
Could not find a package configuration file provided by "LLVM" (requested
version 4.0) with any of the following names:
LLVMConfig.cmake
llvm-config.cmake
Add the installation prefix of "LLVM" to CMAKE_PREFIX_PATH or set
"LLVM_DIR" to a directory containing one of the above files. If "LLVM"
provides a separate development package or SDK, be sure it has been
installed.
-- Configuring incomplete, errors occurred!
See also "/Users/hammer/blockchain/eos/build/CMakeFiles/CMakeOutput.log".
>>>>>>>>>>>>>>>>>>>> CMAKE building EOSIO has exited with the above error
解決辦法:
設定 LLVM_DIR
的值。我自己用的是 zsh
,所以修改的是 ~/.zshrc
檔案,使用 bash
的修改 ~/.bash_profile
。
在設定之前先檢視一下在 /usr/local/Cellar/
下有沒有 llvm
,並確定 llvm
的版本。然後在 ~/.zshrc
檔案最後中追加一行:
export LLVM_DIR=/usr/local/Cellar/llvm@4/4.0.1/lib/cmake
最後別忘記 source
生效:
source ~/.zshrc
2.Git clone 程式碼慢
由於眾所周知的問題國內訪問 Github
的速度一直不理想,而 git clone eos
原始碼和其依賴總共有幾百 MB
的大小,所以最好使用 VPN
並設定 git
代理:
# 設定代理,具體代理地址和你使用的 VPN 軟體有關
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'
# 取消代理設定
git config --global --unset http.proxy
git config --global --unset https.proxy
3.Mac 編譯原始碼依賴 Xcode 和 xcode-select 的問題
Mac
上編譯 eos
原始碼和安裝後續的一些工具都依賴到 Xcode
和 xcode-select
的一些東西,雖然你看著 Xcode
這個幾個 GB
的巨嬰,而且以後都不會去開啟,很不想去安裝,但是為了不讓費後面的時間,我建議還是咬咬牙裝了吧。
4.Mac 安裝 CDT 可能會遇到 brew link eosio.cdt 無效的問題
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink /usr/local/lib/cmake
/usr/local/bin is not writable.
You can try again using:
brew link eosio.cdt
可以仔細看看報錯資訊看看到底是什麼錯,像上面正在安裝軟體,但 homebrew
遇到資料夾許可權的問題。使用如下命令解決:
sudo chown -R $(whoami) /usr/local/lib/cmake
如果大家遇到其他的問題可以找我溝通,我把你們遇到的問題,也記錄在這裡,當然我會標明是你提供的這個問題,方便遇到相同問題的朋友進一步溝通。
相關文章
- FIBOS-EOS入門
- Markdown入門指南
- Spring入門指南Spring
- MySQL 入門指南MySql
- Zookeeper入門指南
- RabbitMQ入門指南MQ
- Nginx入門指南Nginx
- CPack 入門指南
- Docker 入門指南Docker
- numpy入門指南
- CodeMirror入門指南
- Vue 入門指南Vue
- Vagrant 入門指南
- EOS智慧合約與DApp開發入門教程APP
- 混沌工程入門指南
- linux命令入門指南Linux
- GitHub Actions 入門指南Github
- Jupyter Notebook入門指南
- Vue 3入門指南Vue
- SpringData 完全入門指南Spring
- KNIME快速入門指南
- Kubernetes Helm入門指南
- Markdown快速入門指南
- 【Android開發入門教程】三.Activity入門指南!Android
- alertmanager告警快速入門指南
- 故障測試入門指南
- Go 快速入門指南 - 序言Go
- Go 快速入門指南 - URLGo
- Go 快速入門指南 - selectGo
- LeetCode入門指南 之 排序LeetCode排序
- 容器快速入門完全指南
- GitHub 簡易入門指南Github
- Kubernetes認證入門指南
- Maven 教程之入門指南Maven
- 【入門指南】node.jsNode.js
- React實戰入門指南React
- SOAR 101 快速入門指南
- [譯] 以太坊入門指南