区块链部署服务器相关问题记录

7 篇文章 0 订阅
5 篇文章 0 订阅

问题一:docker-compose安装

docker-compose简介:Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
Linux
Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases。

运行以下命令以下载 Docker Compose 的当前稳定版本:

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

要安装其他版本的 Compose,请替换 1.24.1。
注意:1.24.1不行可替换成1.28.3亲测成功

curl -L "https://github.com/docker/compose/releases/download/1.28.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

将可执行权限应用于二进制文件:

sudo chmod +x /usr/local/bin/docker-compose

创建软链:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试是否安装成功:

docker-compose --version

cker-compose version 1.24.1, build 4667896b
注意: 对于 alpine,需要以下依赖包: py-pip,python-dev,libffi-dev,openssl-dev,gcc,libc-dev,和 make。

问题二:证书更新

错误提示:
在这里插入图片描述

在这里插入图片描述
如区块链网络更新需要更换相应的证书文件,将服务器中生成的crypto-config放在项目代码中的conf下
在这里插入图片描述

问题三:更新链码

如智能合约更改,服务器需要更新链码,执行.start.sh下的步骤九

echo "九、更新链码"
echo "链码更新需要先install,再执行upgrade"
# 1、先安装新的链码和版本、
docker exec cli peer chaincode install -n chain-trace -v 1.1.0 -l golang -p wondersgroup.com/chaincodes/chain-trace
# 2、再执行更新
docker exec cli peer chaincode upgrade -o orderer.wonderland.com:7050 -C assetschannel -n chain-trace -l golang -v 1.1.0 -c '{"Args":["init"]}'

问题四:下载、上传文件/文件夹 到 服务器/本地 服务器报错:No such file or directory

root@XXX:/XXX# scp root@X.X.X.X:/XXX/hello.txt /Users/XXX/Desktop
root@X.X.X.X's password: 
/Users/XXX/Desktop: No such file or directory

解决利用scp命令,如遇到服务器不能下载时可在本地执行该命令即可,不用登陆进去服务器,就在自己的本地终端环境里面直接输入命令和密码就行了

1、使用scp命令

scp /home/work/source.txt work@192.168.0.10:/home/work/ #把本地的source.txt文件拷贝到192.168.0.10机器上的/home/work目录下

scp work@192.168.0.10:/home/work/source.txt /home/work/ #把192.168.0.10机器上的source.txt文件拷贝到本地的/home/work目录下

scp work@192.168.0.10:/home/work/source.txt work@192.168.0.11:/home/work/ #把192.168.0.10机器上的source.txt文件拷贝到192.168.0.11机器的/home/work目录下

scp -r /home/work/sourcedir work@192.168.0.10:/home/work/ #拷贝文件夹,加-r参数

2、其他常用命令
复制文件:例如合约生成的证书需要转移到项目conf文件夹下

 cp -r /wondersgroup.com/blockchain-deploy/deploysimple/crypto-config /chain-trace/run/conf
 # 将前一个目录下的crypto-config文件夹移动到后面所需的目录中

在这里插入图片描述
移动文件夹

mv -r /wondersgroup.com/blockchain-deploy/deploysimple/crypto-config /chain-trace/run/conf

问题五:合约依赖包问题

实例化链码的时候遇到依赖包问题,情况如下
在这里插入图片描述
解决方式:在合约chain-trace项目下利用go mod vendor下载所需依赖包,再次重新执行脚本即可成功
在这里插入图片描述

问题六:项目后台运行,nohup日志打印到规定位置

./chain-trace:执行名为chain-trace的二进制文件
/chain-trace/run/nohup.out:日志打印到那个位置的那个文件里

0 代表STDIN_FILENO 标准输入(一般是键盘),
1 代表STDOUT_FILENO 标准输出(一般是显示屏,准确的说是用户终端控制台),
2 三代表STDERR_FILENO (标准错误(出错信息输出)。

2>&1就是用来将标准错误2重定向到标准输出1中的。此处1前面的&就是为了让bash将1解释成标准输出而不是文件1。至于最后一个&,则是让bash在后台执行。

例如:/dev/null 2>&1

可以把/dev/null 可以看作"黑洞". 它等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到.
/dev/null 2>&1则表示吧标准输出和错误输出都放到这个“黑洞”,表示什么也不输出。

nohup ./chain-trace > /chain-trace/run/nohup.out 2>&1 &
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值