# 主节点的启动

普通节点和主节点(验证器)的唯一区别是,它参与区块的生产和验证/签署。从技术上讲,这两个节点的工作方式几乎相同。例如,每个节点总是有自己的标识符(node_id)和一对ed25519格式的私人/公共密钥,用于在节点成为主节点时签署区块。

# 要求

    3) shell工具curl和jq。
4) 构建工具。
5   key-value)存储库LevelDB。

支持的操作系统列表(2022年2月3日)。

  • Linux CentOS 7
  • Linux CentOS 8
  • Linux Ubuntu 16.04
  • Linux Ubuntu 18.04
  • Linux Ubuntu 20.04
  • Linux Ubuntu 22.04
  • Linux Debian 9
  • Linux Debian 10

如果列表中没有你的操作系统,请通过https://decimalchain.com/ (opens new window)与支持团队取得联系。

硬件最低要求:

4 core CPU, 8 Gb RAM, SSD NVM 500Gb

To install building tools (which include make) and LevelDB use following commands:

# RHEL 8 / CentOS 8:

sudo dnf groupinstall "Development Tools"
sudo dnf install leveldb leveldb-devel snappy

# Ubuntu:

sudo apt-get install build-essential
sudo apt-get install libsnappy-dev libleveldb-dev

# macOS:

brew install coreutils
brew install leveldb snappy

# 安装

要在节点上工作,你需要decddeccli程序。首先,安装Go (opens new window)编译器和Make (opens new window)工具,然后编译decddeccli。 为了编译节点。

  1. 克隆节点的源代码。

    git clone https://bitbucket.org/decimalteam/go-node.git
    
  2. 进行decddeccli的编译和安装。

    make all
    
  3. M确保decddeccli是可用的。

    decd version
    deccli version
    

# 配置

  1. 有必要通过使用命令创建$HOME/.decimal文件夹来初始化节点。

    decd init YOUR_NODE_NAME --network mainnet|testnet|devnet --chain-id decimal-mainnet-08-01|xcvd|wgegeg   
    

    YOUR_NODE_NAME - 节点名称,例如 "my-great-node"。
    mainnet|testnet|devnet - 为适当的网络选择其中之一。
    |xcvd|wgegeg--用链-id来改变适当的网络。

  2. 执行命令:

    cat $HOME/.decimal/daemon/config/priv_validator_key.json | jq --raw-output '.pub_key.value'
    

    这个命令将显示一个以base64编码的ed25519公钥。这是该节点的公钥,你以后需要它来注册验证器(在 "公钥 "字段),你必须保存它。

# 开始

  1. 启动节点并等待同步结束。

    decd start
    
  2. 在节点同步的时候,你需要准备一个有硬币的账户,用于赌注和验证人的注册。为了获得tDEL测试币,在控制台 (opens new window)上有一个龙头。

  3. 一旦节点被同步并处于最新状态,就有必要将准备好的节点注册为验证者并分配初始赌注,你需要从计划在区块链上管理验证者的账户中形成并通过控制台发送 "宣布候选人 "交易。在这个页面上https://console.decimalchain.com/masternode (opens new window),你要填写关于节点的信息并发送交易。在同一页上,可以激活和停用验证器。

    要找出"Public key",在一个有节点的系统上,你要运行以下命令"Public key "将显示在终端)。

    cat $HOME/.decimal/daemon/config/priv_validator_key.json | jq --raw-output '.pub_key.value'