• <option id="cacee"><noscript id="cacee"></noscript></option>
  • <table id="cacee"><noscript id="cacee"></noscript></table>
  • <td id="cacee"></td>
  • <option id="cacee"></option>
  • <table id="cacee"></table>
  • <option id="cacee"><option id="cacee"></option></option>
  • <table id="cacee"><source id="cacee"></source></table><td id="cacee"><rt id="cacee"></rt></td>
    <option id="cacee"><option id="cacee"></option></option>
     找回密碼
     立即注冊

    掃一掃,登錄網站

    首頁 自媒體 查看內容
    • 1397
    • 0
    • 分享到

    從零開始運行EOS系統

    2018-9-25 11:14

    來源: blockchainbrother

    EOS 系統主要有三個應用程序:


    • nodeos: EOS 系統的核心進程,也就是所謂的“節點”。

    • cleos:本地的命令行工具,通過命令行與真人用戶交互,并與節點(nodeos)和錢包(keosd)通信。是用戶或者開發者與節點進程交互的橋梁。

    • keosd:本地錢包工具。可以管理多個含有私鑰的錢包并加密。

    要求


    本篇教程適用于以下系統,但是不論你的電腦是 windows 還是 mac,都強烈建議安裝一個虛擬機,在 Ubuntu 上搞,因為 Mac 上有很多坑。安裝 Ubuntu 虛擬機有關教程大家可以在網上搜到。


    • Amazon 2017.09 and higher.

    • Centos 7.

    • Fedora 25 and higher (Fedora 27 recommended).

    • Mint 18.

    • Ubuntu 16.04 (Ubuntu 16.10 recommended).

    • MacOS Darwin 10.12 and higher (MacOS 10.13.x recommended).


    配置要求:


    • 8GB 內存

    • 20GB 硬盤空余空間


    如果機器內存不夠 8G,自動編譯腳本會報錯。


    運行 EOS 需要一點 linux 和 github 基礎,不過不要嫌麻煩,以后開發 EOS 合約需要大量這方面的知識。推薦你先按步驟搞起來,有不明白的可以參考以下文章。別怕,誰也不是生下來就什么都會的。


    linux 命令基礎: https://linux.cn/article-6160-1.html


    github 基礎: http://www.runoob.com/w3cnote/git-guide.html

    下載 EOS 代碼


    如果你是 Mac,需要先下載 git,可以搜索 “Mac git” 就能找的各種文章教你在 Mac 上安裝 git。


    首先使用 cd 命令進入你想安裝的文件夾,我一般就是根目錄了,執行以下命令下載 EOS 代碼:


    git clone https://github.com/EOSIO/eos --recursive


    注意要加后面這個 --recursive 命令,因為 EOS 有幾個子模塊,這樣就能全部下載下來,如果忘了這個命令,使用下面的命令可以補救:


    git submodule update --init --recursive


    構建 EOS


    有了源代碼,我們就可以構建我們本地的 EOS 程序了,EOS 官方非常體貼地為我們準備了自動構建的腳本,使用這個腳本可以大大簡化。


    首先我們進入剛剛下載的 eos 目錄,并執行構建腳本:


    cd eos
    ./eosio_build.sh


    根據網速和機器性能的不同,可能要用 30 分鐘 - 1 小時的時間,請耐心等待。構建完成后需要對構建的產物進行驗證:


    • Linux 系(Ubuntu等):

    ~/opt/mongodb/bin/mongod -f ~/opt/mongodb/mongod.conf &
    • Mac:

    /usr/local/bin/mongod -f /usr/local/etc/mongod.conf &


    然后所有操作系統再執行以下命令:


    cd build
    make test


    為了方便開發智能合約,還需要在 build 目錄進行 make install:


    如果已經進入 build 目錄請去掉 cd build。


    cd build
    sudo make install


    建立本地單節點測試網絡


    構建完成后,我們進入 eos/build/programs/nodeos 目錄(使用 cd 和 cd .. 命令),運行 nodeos 節點程序:


    ./nodeos -e -p eosio --plugin eosio::wallet_api_plugin --plugin eosio::chain_api_plugin --plugin eosio::account_history_api_plugin


    命令中, -p 參數表示使用了 eosio 賬戶的權限,這是本地測試系統提供的原始賬戶。后面的各個 plug in 參數是選擇加載的插件。


    成功后,如果看到類似下面的輸出,就是成功建立了一個本地單節點測試網絡:


    1575001ms thread-0   chain_controller.cpp:235      _push_block          ] initm #1 @2017-09-04T04:26:15  | 0 trx, 0 pending, exectime_ms=01575001ms thread-0   producer_plugin.cpp:207       block_production_loo ] initm generated block #1 @ 2017-09-04T04:26:15 with 0 trxs  0 pending1578001ms thread-0   chain_controller.cpp:235      _push_block          ] initc #2 @2017-09-04T04:26:18  | 0 trx, 0 pending, exectime_ms=01578001ms thread-0   producer_plugin.cpp:207       block_production_loo ] initc generated block #2 @ 2017-09-04T04:26:18 with 0 trxs  0 pending...
    eosio generated block 046b9984... #101527 @ 2018-04-01T14:24:58.000 with 0 trxseosio generated block 5e527ee2... #101528 @ 2018-04-01T14:24:58.500 with 0 trxs...


    說明本地的單節點已經開始正常出塊了。


    如上次文章所講,我們建立的本地測試網絡如下如,并沒有單獨的 keosd 錢包,而是使用了 nodeos 程序里的錢包插件。



    高級設置


    如果你不滿足于以上,可以對節點配置進行修改,配置文件位于:


    • Mac OS: ~/Library/Application Support/eosio/nodeos/config

    • Linux: ~/.local/share/eosio/nodeos/config


    上述文件夾中默認有 genesis.json 配置文件,可以直接修改它,或者在別的文件里再寫一個新的配置文件,不過運行 nodeos 時,就要通過 --config-dir 命令指出新配置文件的位置。


    配置文件夾還默認有一個 config.ini 文件。如果沒有的話,nodeos 啟動時會自動創建一個,但自動創建的 config.ini 文件是不讓節點出塊的,此時你需要使用 Ctrl-C 停止 nodeos,并編輯這個文件:


        # Load the testnet genesis state, which creates some initial block producers with the default key
       genesis-json = /path/to/eos/source/genesis.json   # Enable production on a stale chain, since a single-node test chain is pretty much always stale
       enable-stale-production = true
       # Enable block production with the testnet producers
       producer-name = eosio   # Load the block producer plugin, so you can produce blocks
       plugin = eosio::producer_plugin   # Wallet plugin
       plugin = eosio::wallet_api_plugin   # As well as API and HTTP plugins
       plugin = eosio::chain_api_plugin
       plugin = eosio::http_plugin   # This will be used by the validation step below, to view account history
       plugin = eosio::account_history_api_plugin


    這樣配置好后,重新啟動 nodeos,就會順利出塊了。


    nodeos 的運行數據文件夾(log和共享存儲等數據)位于以下文件夾:

    • Mac OS: ~/Library/Application Support/eosio/nodeos/data

    • Linux: ~/.local/share/eosio/nodeos/data


    但也可以使用 nodeos 的 --data-dir 命令重新指定數據文件夾。

    來源:圓方圓區塊鏈

    版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。
    相關新聞
    發表評論

    請先 注冊/登錄 后參與評論

      回頂部
    • <option id="cacee"><noscript id="cacee"></noscript></option>
    • <table id="cacee"><noscript id="cacee"></noscript></table>
    • <td id="cacee"></td>
    • <option id="cacee"></option>
    • <table id="cacee"></table>
    • <option id="cacee"><option id="cacee"></option></option>
    • <table id="cacee"><source id="cacee"></source></table><td id="cacee"><rt id="cacee"></rt></td>
      <option id="cacee"><option id="cacee"></option></option>
      妖精视频