创建节点 - assetcloud/AssetChain GitHub Wiki
机器
推荐系统: centos/ubuntu
最低要求: cpu: 8核, 内存:16G,
存储: 1T (io 高性能 ), 网络至少 10M (存储和网络和业务量有关, 在业务大的情况下, 需要按实际增加)
网络环境
- 普通节点: 能链接公网
- 共识节点: 提供公网ip, 开放下面端口 : 13801~13803, 10901, 33001
- 应用的服务节点: 提供公网ip, 开放下面端口 : 13801~13803, 10901, 33001, 8801 和8802
端口用途
- 13801~13803 用于p2p通信
- 8801 和8802 用于接口服务
- 10901 33001用于共识通信)
端口可以配置, 可以根据需要更改
创建节点步骤
- 同步系统时间
- 获得安装包: 自己编译和下载安装包
- 运行节点程序
- 在节点上创建钱包
- 如果参与共识, 向协同中心申请, 并开启共识.
下面介绍各个系统的如何创建节点
在windows 创建节点
1. 同步系统时间
以win10为例, 从 控制面板 -> 时钟,语言和区域 -> 日期和时间 -> Internet时间 -> 更改设置, 在 “Internet时间设置”,勾选“与Internet时间服务器同步”选项
2. 获得安装包: 自己编译和下载安装包
途径
3. 运行节点程序
- 解压安装包
- 配置数据存放目录, 配置文件为 assetchain.toml
# 默认配置的数据存放目录
dbPath = "/data/assetchaindatadir"
dbPath = "/data/assetchaindatadir/addrbook"
dbPath = "/data/assetchaindatadir/mavltree"
# 根据实际需要进行配置
# 如果改为和程序目录一致, 可以用相对目录, 如
dbPath = "datadir"
dbPath = "datadir/addrbook"
dbPath = "datadir/mavltree"
- 启动命令
# 1. 启动命令行
# 2. 进入程序所在目录, 假设 C:\Users\chen\Desktop\assetchain-pkg 为包所在目录
cd C:\Users\chen\Desktop\assetchain-pkg
# 3. 启动节点
assetchain -f assetchain.toml >log 2>&1
4. 在节点上创建钱包
- 使用 assetchain-cli 创建助记词
- 将助记词导入到钱包
- 如果需要生成公私钥
# 1. 启动命令行
# 2. 进入程序所在目录, 假设 C:\Users\chen\Desktop\assetchain-pkg 为包所在目录
cd C:\Users\chen\Desktop\assetchain-pkg
# 3. 生成助记词, -l 0 或 -l 1 可以调整 英文还是中文助记词
assetchain-cli seed generate -l 1
# 4. 将助记词导入到钱包, -p asset1314 是密码, 可以修改, -s 后面请使用上步骤生成的助记词
assetchain-cli seed save -p asset1314 -s "副 合 结 十 混 顺 巨 仓 浆 洛 抹 讼 碳 凭 晚"
# 5. 解锁钱包, 用密码解锁
assetchain-cli wallet unlock -p asset1314 -t 0
# 6. 生成公私钥, -l 标签 , 根据需要指定
assetchain-cli account create -l first
# 7. 锁住钱包
assetchain-cli wallet lock
5. 如果参与共识, 向协同中心申请, 并开启共识.
- 在钱包中创建 label 为 mining的 公私钥 (必须为 mining)
- 向协同中心申请参与共识, 并提供 label 为 mining的 公私钥 对应的地址
- 协同中心同意, 并向 mining地址 发放共识积分
- 在机器上上开启共识
# 在钱包中创建 label 为 mining的 公私钥 (必须为 mining), 参考步骤4
# 解锁钱包, 并创建label 为 mining的 公私钥
assetchain-cli wallet unlock -p asset1314 -t 0
assetchain-cli account create -l mining
# 查看地址, 下面可能显示实例, 1Vd9SWyoeULFJETNWKbXG683fM3CNvPAt 为地址
# "addr": "1Vd9SWyoeULFJETNWKbXG683fM3CNvPAt"
# },
# "label": "mining"
assetchain-cli account list
# 线下流程完成后
# 解锁钱包, 并创建label 为 mining的 公私钥
assetchain-cli wallet unlock -p asset1314 -t 0
# 开启共识, 使用 assetchain-cli account list 命令的mining 对应的地址
assetchain-cli pos33 consignee -a 地址参数
# 查看区块网络(直接相连的节点)
assetchain-cli net peer
# 查看区块的高度
assetchain-cli block last_header
liunx 环境
以 centos 为例
1. 同步系统时间
yum -y install ntp
ntpdate 1.cn.pool.ntp.org
2. 获得安装包: 自己编译和下载安装包
途径
3. 运行节点程序
- 解压安装包
- 配置数据存放目录, 配置文件为 assetchain.toml
# 默认配置的数据存放目录
dbPath = "/data/assetchaindatadir"
dbPath = "/data/assetchaindatadir/addrbook"
dbPath = "/data/assetchaindatadir/mavltree"
# 根据实际需要进行配置
# 如果改为和程序目录一致, 可以用相对目录, 如
dbPath = "datadir"
dbPath = "datadir/addrbook"
dbPath = "datadir/mavltree"
- 启动命令
# 1. 启动shell
# 2. 进入程序所在目录, 假设 /data/app/assetchain-pkg 为包所在目录
cd /data/app/assetchain-pkg
# 3. 启动节点
nohup ./assetchain -f assetchain.toml >log 2>&1 &
4. 在节点上创建钱包
- 使用 assetchain-cli 创建助记词
- 将助记词导入到钱包
- 如果需要生成公私钥
# 1. 启动命令行
# 2. 进入程序所在目录, 假设 /data/app/assetchain-pkg 为包所在目录
cd /data/app/assetchain-pkg
# 3. 生成助记词, -l 0 或 -l 1 可以调整 英文还是中文助记词
./assetchain-cli seed generate -l 1
# 4. 将助记词导入到钱包, -p asset1314 是密码, 可以修改, -s 后面请使用上步骤生成的助记词
./assetchain-cli seed save -p asset1314 -s "副 合 结 十 混 顺 巨 仓 浆 洛 抹 讼 碳 凭 晚"
# 5. 解锁钱包, 用密码解锁
./assetchain-cli wallet unlock -p asset1314 -t 0
# 6. 生成公私钥, -l 标签 , 根据需要指定
./assetchain-cli account create -l first
# 7. 锁住钱包
./assetchain-cli wallet lock
5. 如果参与共识, 向协同中心申请, 并开启共识.
- 在钱包中创建 label 为 mining的 公私钥 (必须为 mining)
- 向协同中心申请参与共识, 并提供 label 为 mining的 公私钥 对应的地址
- 协同中心同意, 并向 mining地址 发放共识积分
- 在机器上上开启共识
# 在钱包中创建 label 为 mining的 公私钥 (必须为 mining), 参考步骤4
# 解锁钱包, 并创建label 为 mining的 公私钥
./assetchain-cli wallet unlock -p asset1314 -t 0
./assetchain-cli account create -l mining
# 查看地址, 下面可能显示实例, 1Vd9SWyoeULFJETNWKbXG683fM3CNvPAt 为地址
# "addr": "1Vd9SWyoeULFJETNWKbXG683fM3CNvPAt"
# },
# "label": "mining"
./assetchain-cli account list
# 线下流程完成后
# 解锁钱包, 并创建label 为 mining的 公私钥
./assetchain-cli wallet unlock -p asset1314 -t 0
# 开启共识
assetchain-cli pos33 consignee -a 地址参数
# 查看区块网络(直接相连的节点)
assetchain-cli net peer
# 查看区块的高度
assetchain-cli block last_header
darwin 环境
运行需要 在"隐私安全" 中, 允许运行 非app store中下载软件 (anywhere 选项).
如果隐私和安全中没有anywhere 选项, 使用命令行: sudo spctl --master-disable
流程和 liunx 环境 一致.
编译打包
下载代码, 编译
make toolimport
make build
make pkg
ls assetchain-pkg.tgz
交叉编译: linux-arm64, linux-amd64, darwin-amd64, windows-amd64
现在提供4种, 按需要选择.
其他相关操作
创建钱包
# centos
yum -y install ntp jq
bash ./wallet-init.sh
其他命令
- 查看节点同步的高度
# ./assetchain-cli block last_header
{
"version": 0,
"parentHash": "0x3fd8f226547ef99a3cb9221b2786618b0922f5851d719c426cd7076f68bae22a",
"txHash": "0xbcc277f5d2a995c939ae6e7d874bef61f98f76ef23c4f5ad3c024ebcc4baf634",
"stateHash": "0x0844a901d7ae447d00a6e43ff1ffbcaacf440eea3acaca22dcec27cb18f348f1",
"height": 2398,
"blockTime": 1627896618,
"txCount": 1,
"hash": "0x4a0edfcb2dcae49220841fdc73deaa77ce8c89ba2c1c140c2c17ff3bc92fdf6d",
"difficulty": 523239423
}
查看钱包
# ./assetchain-cli account list
{
"wallets": [
{
"acc": {
"balance": "0.0000",
"frozen": "0.0000",
"addr": "1DKVsMo2ML2EVm6Gihzi7WdYRi4HwYjaN4"
},
"label": "airdropaddr"
},
{
"acc": {
"balance": "0.0000",
"frozen": "0.0000",
"addr": "1KxjQS7DddjMiuDNhadh3GHUJyo7h54Ywh"
},
"label": "mining"
},
{
"acc": {
"balance": "0.0000",
"frozen": "0.0000",
"addr": "1NxTz6J6ueoQNbFD6VbQFStane6hEjny2B"
},
"label": "dht node award"
}
]
}