Local Web Wallet配置部署环境
********************来自实习课程,导师任务***********************************
Get start :
reference-wallet/backend at master · libra/reference-wallet · GitHub
目录
一、安装Docker和Docker Compose. 1
1.1 如果系统安装有老版本Docker,请先卸载:... 2
1.2 更新 apt 软件包索引并安装包... 2
1.3 添加Docker的官方GPG密钥:... 3
1.4 验证... 3
1.5 使用下面的命令来设置stable版本库... 4
1.6 安装Docker. 4
1.7 验证Docker 安装... 5
1.8 安装Docker Compose. 6
二、git clone代码并运行... 6
三、问题列表:... 10
3.1 提示pipenv:command not found. 10
3.2 cannot import dist导致pipenv失败... 10
3.3 building过程中的几个问题... 11
问题1:psutil和pywatchman安装出问题... 11
问题2:... 11
问题3:npm安装react-scripts失败,导致docker-compose build failed. 11
问题4:npm和node版本问题... 11
问题5:client-python-sdk安装失败,这是最麻烦的一个问题... 12
问题6:某某安装出现了returned a non-zero code: 1. 12
一、安装Docker和Docker Compose
Ubuntu下配置Docker和Docker Compose
Docker官网:Install Docker Engine on Ubuntu | Docker Documentation(如果本实验手册有任何令人迷惑的地方,请自行于官网查看详细解释)
1.1 如果系统安装有老版本Docker,请先卸载:
$ sudo apt-get remove docker docker-engine docker.io containerd runc
1.2 更新 apt 软件包索引并安装包
允许 apt 通过 HTTPS 使用仓库:
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
1.3 添加Docker的官方GPG密钥:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
1.4 验证
通过搜索指纹(fingerprint)的最后8个字符,验证你现在拥有的钥匙是否带有9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88的指纹。
$ sudo apt-key fingerprint 0EBFCD88
结果显示是符合的,所以验证完毕。
1.5 使用下面的命令来设置stable版本库
如果要添加夜间(nightly)或test版本库,请在下面命令中的stable一词后添加nightly或test(或两者)。这里讲的是Docker的三个更新频道,stable、nightly和test,可以通过更换下列命令的最后一个单词来更换。
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
1.6 安装Docker
安装最新版的Docker Engine,如果你想安装其他特定版本或者多版本的Docker,请移步官网查询命令。
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
1.7 验证Docker 安装
sudo docker run hello-world
1.8 安装Docker Compose
参考网址
注意:如果你是alpine系统,还需要安装以下依赖包:py-pip, python-dev, libffi-dev, openssl-dev, gcc, libc-dev, 和make
sudo curl -L
"https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
二、git clone代码并运行
在正式开始安装之前请注意,一些基本的版本要求:
Python 3.7
Npm 3.5.2
Node >=10
Git地址:https://github.com/libra/reference-wallet.git
接下来,设置本地系统并使用下面的脚本生成必要的密钥。这些信息将被共享到本地环境中,供Docker Compose使用。
$ ./scripts/lrw.sh setup_environment # generate and register keys
然后会自动执行building backend、building frontend、building liquidity,在此过程中会遇到比较多的问题,详情见问题列表中的“building过程中的几个问题“
当三个building都完成后,执行
$ sudo ./scripts/lrw.sh develop
出现以下提示之后表明全部配置成功:
然后打开浏览器访问localhost:8080,即可看到Local web wallet界面:
三、问题列表:
3.1 提示pipenv:command not found
原因:pipenv没有安装或者没有全局安装,安装的话直接pip install pipenv,没有添加全局安装的话:sudo -H pip install -U pipenv
3.2 cannot import dist导致pipenv失败
解决:sudo apt install python3-distutils
3.3 building过程中的几个问题
问题1:psutil和pywatchman安装出问题
解决:提前安装好pywatchman和psutil的对应版本就行了
问题2:
据说这个问题没有什么影响,我没管它,后面也没遇到问题。
问题3:npm安装react-scripts失败,导致docker-compose build failed
解决:手动安装即可:npm install -g react-scripts –silent,可能会遇到问题4
问题4:npm和node版本问题
解决:安装对应版本:https://www.cnblogs.com/feiquan/p/11223487.htm
问题5:client-python-sdk安装失败,这是最麻烦的一个问题
解决:
打开错误信息中出现的网址(https://github.com/libra/client-sdk-python),按照Readme手动安装sdk:pip install diem-client-sdk,如果提示cannot locate diem-client-sdk的话,更新一下pip:pip install –-upgrade pip。
然后发现手动安装了sdk还是会报错,于是把backend和liquidity下的pipfile.lock和pipfile里面关于sdk安装的语句全都删了,然后运行即可,但是这样会在运行之后报错:
根据Change libra SDK to diem SDK by sunmilee · Pull Request #12 · libra/reference-wallet (github.com)这里提出来的方法修改可解决。(其实不用安装libra sdk,而是diem的sdk)
问题6:某某安装出现了returned a non-zero code: 1
解决:在Dockerfile里把相应部分注释掉就行
问题7:提示没有Python.h
解决:安装python-devel:sudo apt install python3-devel