# 节点管理 ## 简介 ChainMaker区块链网络中有三类节点 `共识节点` `同步节点` `轻节点`
下面详细介绍各类型节点的管理操作。
也可使用 [SDK](../dev/SDK.md) 开发自定义管理工具。 ## 目录 - [共识节点](#consensusNode) - [加入网络](#addConsensusNode) - [退出网络](#delConsensusNode) - [更新共识节点的 NodeID](#updateConsensusNodeId) - [同步节点](#syncNode) - [开始同步](#startSync) - [停止同步](#stopSync) - [链配置](#chainConfig) ### 共识节点 - [加入网络](#addConsensusNode) - [退出网络](#delConsensusNode) - [更新共识节点的 NodeID](#updateConsensusNodeId) #### 加入网络 ##### BFT类(TBFT、HotStuff)共识 如果新增共识节点所属的组织根证书不存在与区块链网络中,那么请先参考[证书管理](./证书管理.md)获得证书后,从第1步开始。
具体步骤如下: - 1.[使用cmc添加组织根证书](../dev/命令行工具.html#chainConfig.addOrgRootCA) - 2.[使用cmc添加共识节点Org](../dev/命令行工具.html#chainConfig.addConsensusNodeOrg) - 3.启动节点程序 ```shell $ chainmaker start -c /path/to/chainmaker.yml ``` ##### DPoS 共识 因为【Chainmaker v1.2.0+】的DPoS基于证书体系构建的,所以,当添加新的共识节点时,需要先使用命令将新节点添加到证书体系中。 如果新增节点已经添加到链上的证书体系,请从第3步开始。
具体步骤如下: - 1.[使用cmc添加组织根证书](../dev/命令行工具.html#chainConfig.addOrgRootCA) - 2.[使用cmc添加共识节点](../dev/命令行工具.html#chainConfig.addConsensusNode) - 3.[使用工具从新用户证书计算用户的地址](../dev/命令行工具.html#chainConfig.addrFromCert) - 4.[使用ERC20的管理员证书向新增节点的用户地址增发权益](../dev/命令行工具.html#chainConfig.dposMint) - 5.[查询新增节点的用户地址的账户余额](../dev/命令行工具.html#chainConfig.dposBalanceOf) - 6.[在stake合约中设置新节点的线上ID](../dev/命令行工具.html#chainConfig.dposSetNodeID) - 7.[查询新节点的线上ID](../dev/命令行工具.html#chainConfig.dposGetNodeID) - 8.[新节点通过抵押变为候选人参与共识](../dev/命令行工具.html#chainConfig.dposDelegate) - 9.启动节点程序 ```shell $ chainmaker start -c /path/to/chainmaker.yml ``` #### 退出网络 ##### BFT类(TBFT、HotStuff)共识 具体步骤如下: - 1.[使用cmc删除共识节点](../dev/命令行工具.html#chainConfig.delConsensusNodeId) - 2.停止节点程序 ```shell $ kill -15 <节点程序pid> ``` ##### DPoS共识 - 1.[查询网络验证人节点的最少抵押数量要求](../dev/命令行工具.html#chainConfig.dposMinSelfDelegation) - 2.[查询验证人数据](../dev/命令行工具.html#chainConfig.dposValidatorInfo) - 3.[解除共识节点的抵押](../dev/命令行工具.html#chainConfig.dposUndelegate) - 4.停止节点程序 ```shell $ kill -15 <节点程序pid> ``` #### 更新共识节点的 NodeID 使用cmc更新共识节点的 NodeID 后,无需重启节点程序。
具体步骤如下: - 1.[使用cmc更新共识节点的 NodeID](../dev/命令行工具.html#chainConfig.updateConsensusNodeId) ### 同步节点 - [开始同步](#startSync) - [停止同步](#stopSync) #### 开始同步 具体步骤如下: - 1.生成同步节点的证书 通过 [chainmaker-cryptogen](../dev/证书生成工具.html#extendCA) 或者自建的 [CA证书服务](./CA证书服务.md) 生成同步节点证书 - 2.以 [节点配置模版](https://git.chainmaker.org.cn/chainmaker/chainmaker-go/-/blob/master/config/config_tpl/chainmaker.yml) 为模版
其中blockchain.genesis与同一组织下的共识节点保持一致。
修改其中node证书和tls证书为上一步新生成的证书。 - 3.启动节点程序 ```shell $ chainmaker start -c /path/to/chainmaker.yml ``` #### 停止同步 停止节点程序即可停止同步。
具体步骤如下: - 1.停止节点程序 ```shell $ kill -15 <节点程序pid> ``` ### 链配置 ChainMaker区块链网络在部署并启动完成后,使用 [cmc](../dev/命令行工具.md) 命令行工具进行链配置的查询、更新。
也可以使用 [SDK](../dev/SDK.md) 开发自定义客户端进行链配置的相关操作。 #### 查询类 - [使用cmc查询链配置](../dev/命令行工具.html#chainConfig.query) #### 更新类 - [使用cmc更新出块时间](../dev/命令行工具.html#chainConfig.updateBlockInterval)