官术网_书友最值得收藏!

1.4 編譯部署及應用

比原鏈的安裝方式有多種。本書從源碼分析的角度帶領讀者了解架構,所以使用源碼編譯的方式來介紹安裝過程。

1.源碼編譯部署

1)下載源碼:

        $ git clone https://github.com/Bytom/bytom.git $GOPATH/src/github.com/bytom

2)切換至1.0.5版本:

        $ cd $GOPATH/src/github.com/bytom
        $ git fetch origin v1.0.5

        $ git checkout v1.0.5

3)編譯源碼:

        $ make bytomd
        $ make bytomcli

4)初始化:

        $ cd ./cmd/bytomd
        $ ./bytomd init --chain_id mainnet

目前比原鏈支持三種網絡,使用chain_id進行區分,如下所示:

? mainnet:主網。

? testnet:也稱wisdom,測試網。

? solonet:單機模式。

5)啟動bytomd進程:

        $ ./bytomd node


        $ ps -ef|grep bytomd
          50152318   449   0  2:00PM ttys000    0:00.85 ./bytomd node
        $ ./bytomcli net-info
        {
          "current_block": 36714,
          "highest_block": 36714,
          "listening": true,
          "mining": false,
          "network_id": "wisdom",
          "peer_count": 10,
          "syncing": false,
          "version": "1.0.5+2bc2396a"
        }

當我們執行ps -ef命令看到bytomd進程時,說明進程已經處于運行狀態。使用bytomcli獲取節點狀態信息,可以看到我們已經成功地運行了bytomd進程。

bytomd進程第一次啟動后,默認不會開啟挖礦功能。此時會從P2P網絡種子節點中獲取與之相鄰的peer節點,建立握手連接并同步區塊。我們將在第10章深入分析P2P網絡底層工作原理。

2.源碼目錄結構

比原鏈的源碼目錄如下所示:

        $ tree -L 1
        .
        ├—— accesstoken       Token管理
        ├—— account           賬戶管理
        ├—— api                API Server接口管理
        ├—— asset              資產管理
        ├—— blockchain        交易打包、簽名、查詢等
        ├—— cmd                main入口文件
        ├—— common             公共庫
        ├—— config              節點配置文件
        ├—— consensus         共識相關模塊
        ├—— crypto             加密庫
        ├—— dashboard         dashboard頁面管理
        ├—— database          數據庫管理
        ├—— docs               文檔
        ├—— encoding          協議相關的編解碼庫
        ├—— env                環境變量管理
        ├—— equity             智能合約語言編譯器
        ├—— errors             錯誤及異常管理
        ├—— math               數學計算相關庫
        ├—— metrics           metrics指標庫,用于采集API Server請求相關指標
        ├—— mining             挖礦模塊
        ├—— net                API Server使用的HTTP基礎庫
        ├—— netsync           網絡同步管理
        ├—— node               當前節點管理模塊,環境初始化等
        ├—— p2p                分布式網絡管理模塊
        ├—— protocol          核心數據結構,包含塊、交易、bvm虛擬機等
        ├—— test               單元測試
        ├—— testutil          單元測試工具包
        ├—— util               工具包
        ├—— vendor             第三方庫
        ├—— version           版本
        └—— wallet             錢包管理

3.開啟挖礦模式

開啟挖礦模式的命令如下:

        $ ./bytomcli set-mining true

在默認情況下比原鏈的挖礦模式是關閉狀態。開啟挖礦模式有兩種方式,第一種方式,使用bytomcli命令行交互,將mining參數設置為true,此時bytomcli會通過RPC協議與bytomd進程交互并啟用挖礦模式。關閉挖礦模式則指定set-mining參數為false。第二種方式,使用dashboard頁面啟用挖礦參數,在這里請讀者自行學習dashboard。

4.其他語言SDK簡介

比原鏈技術社區提供了不同語言的SDK,如下所示:

PHP SDK:https://github.com/lxlxw/bytom-php-sdk

Java SDK:https://github.com/chainworld/java-bytom

Java SDK:https://github.com/successli/Bytom-Java-SDK

Python SDK:https://github.com/Bytom-Community/python-bytom

Node SDK:https://github.com/Bytom/node-sdk

主站蜘蛛池模板: 玛多县| 保定市| 沙河市| 泌阳县| 定襄县| 体育| 阿克苏市| 芦山县| 宁陕县| 黎川县| 新闻| 简阳市| 孙吴县| 板桥市| 惠东县| 白银市| 湘潭市| 宣威市| 平山县| 双城市| 福建省| 江孜县| 曲沃县| 呼伦贝尔市| 盐池县| 巴林右旗| 长岛县| 诸城市| 长垣县| 蕉岭县| 宁陵县| 益阳市| 三台县| 曲水县| 赣州市| 安远县| 霍州市| 新闻| 浪卡子县| 牟定县| 个旧市|