一、Stable 的问题
对,是关于 CITA 的 Stable 版本问题,一个固定的编译好的包,可以随便修改脚本,rust 可执行文件都没有问题的那种 XD
1.git-submodule
一开始以为是 git submodule update
的问题,查了一下 git-submodule
的 man
:
Update the registered submodules to match what the superproject expects by cloning missing submodules and updating the working tree of the submodules. The “updating” can be done in several ways depending on command line options and the value of submodule..update configuration variable. The command line option takes precedence over the configuration variable. If neither is given, a checkout is performed. The update procedures supported both from the command line as well as through the submodule..
但是,对于 git submodule update 会不会更新所有包的最新进度,还是很懵…如果会更新所有 sub 包的最新进度,那么问题就可能就不在目前的流程中了?
2.Rust Stable
这个我也确实有疑问,我直接在我的电脑上编译,到了 parity-rocksdb
那里,会报错,想起来之前遇到过关于 serialize
包 nightly
Features 的问题。
CITA 是在 Nightly 环境下开发的吗?本机编译是否需要指定 Rust 版本?
我的 Rust 版本是:stable 1.33.0
二、在我的电脑上执行的流程
步骤一
# 下载编译好的 ed25519-v.21.1
$ wget https://github.com/cryptape/cita/releases/download/v0.21.1/cita_ed25519_blake2b.tar.gz
# 解压
$ tar zxvf cita_ed25519_blake2b.tar.gz
# 进入目录
$ cd cita_ed25519_blake2b.tar.gz
# 查看目录
$ tree -L 1
.
├── bin
├── daemon.sh
├── env.sh
├── resource
└── scripts
步骤二
# Generate test-chain.
$ ./env.sh ./scripts/create_cita_config.py create --super_admin "0x4b5ae4567ad5d9fb92bc9afd6a657e6fa13a2523" --nodes "127.0.0.1:4000,127.0.0.1:4001,127.0.0.1:4002,127.0.0.1:4003"
# -*- 没有报错 -*-
步骤三
$ ./env.sh ./bin/cita setup test-chain/0
sudo: unable to resolve host linuxkit-025000000001
$ ./env.sh ./bin/cita setup test-chain/1
sudo: unable to resolve host linuxkit-025000000001
# 根据电脑情况修改 env.sh
$ sed -i.bak s/host/bridge/g env.sh
# -*- 同时修改了端口的参数
$ sed -n '34,50p' ./env.sh
# docker 部分
docker ps | grep ${CONTAINER_NAME} > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "Start docker container ${CONTAINER_NAME} ..."
docker rm ${CONTAINER_NAME} > /dev/null 2>&1
docker run -d \
--net=bridge \
--volume ${RELEASE_DIR}:${WORKDIR} \
--volume ${LOCALTIME_PATH}:/etc/localtime \
--env USER_ID=${USER_ID} \
--workdir ${WORKDIR} \
--name ${CONTAINER_NAME} ${DOCKER_IMAGE} \
-p 1337:1337 \
-p 4000:4000 \
/bin/bash -c "while true;do sleep 100;done"
# Wait entrypoint.sh to finish
sleep 3
fi
步骤四
$ ./env.sh ./bin/cita setup test-chain/0
sudo: unable to resolve host linuxkit-025000000001
# -*- 还是报错 ; ( -*-
三、反思
1.前两天刚试的时候并没有 linux-host
的这个问题,还可以再想想办法自行解决。
- 环境/配置问题?
- Docker 的问题?
- 容器版本问题?
- 电脑缓存的问题?
- …
- 运气的问题…
2.Node Not Ressopding… 之前一直以为是我修改了脚本的问题,后来发现直接在我的电脑上运行官方编译好的,也有这个问题,尝试了直接调用 cita-forever, log 等下补上