如何在本地部署一个Trinity-Eth路由节点
在本地linux环境中安装系统库及系统工具,包括MongoDB,python3.6等(如果安装超时建议尝试更换源或者翻墙安装)。
安装系统库及系统工具
sudo apt-get install screen git libleveldb-dev libssl-dev g++
复制黏贴以上命令行到linux,安装一些需要用到的系统工具。
安装mongodb并启动服务
sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
echo “deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse” | sudo tee /etc/apt/sourcves.list.d/mongodb-org-3.6.list
sudo apt-get update
sudo apt-get install mongodb-org
sudo service mongod start
复制黏贴以上命令行到linux,安装并启动MongoDB,因为Trinity-Eth是使用MongoDB作为数据库,所以要确保MongoDB是启动状态。
安装pip3.6
sudo wget https://bootstrap.pypa.io/get-pip.py
sudo python3.6 get-pip.py
复制黏贴以上命令行到linux,安装python3.6。
安装virtualenv
sudo pip3.6 install virtualenv
上面几个步骤成功后,就可以运行Trinity-Eth的代码了。如果上面安装超时了,建议翻墙再试试。
以上,环境就ok了,接下来就把官方的代码拷贝到本地,准备启动python程序。
Trinity 源码包获取
git clone https://github.com/trinity-project/trinity-eth.git /home/trinity-eth/
git clone https://github.com/trinity-project/trinity-gateway.git /home/trinity-gateway/
复制黏贴上面两行命令,我把钱包的代码,还有gateway的代码,放在了home目录下。
以上,我们就把官方代码拿到了本地linux上。但是在运行python前,还有几件事需要先进行配置,1. 创建激活虚拟环境 2.安装升级运行代码需要依赖的文件 3.修改配置文件的ip
创建及激活虚拟环境
可以先进入我们的home目录下,安装虚拟环境
virtualenv -p /usr/bin/python3.6 venv
source venv/bin/activate
在home目录下复制黏贴上面2行命令,就完成了虚拟环境的安装。
安装升级运行代码需要依赖的文件
这里需要安装升级钱包和gateway下的依赖文件。我们先进入钱包的依赖文件
然后在退回到home目录 ,进入gateway的目录下升级依赖文件。
以上就把钱包和gateway的依赖都装好了,最后一步就是进入gateway修改ip地址了。
修改gateway配置文件
cd /home/trinity-gateway/gateway
vim config.py
然后把此处的ip改成linux自己的ip地址就可以了。
修改完ip地址后,:wq保存并退出。
以上就完成了所有配置项了,可以正式运行环境了。
首先打开并运行gateway
创建TrinityGateway会话窗口
screen -r TrinityGateway
进入home目录,激活虚拟环境
cd /home/
source venv/bin/activate
进入运行gateway代码的入口文件,运行它(start.py)
cd trinity-gateway/gateway/
python3.6 start.py
然后打开并运行钱包
新建一个控制台窗口
screen -S TrinityWallet
进入home目录,激活虚拟环境
cd /home/
source venv/bin/activate
进入运行wallet代码的入口文件,运行它( prompt.py)
cd trinity-eth/wallet/
python3.6 prompt.py
到这里,测试环境钱包和gateway都已经运行起来,左下角区块时间是1/XXX,是因为还没有打开钱包,没有在区块上同步。运行创建钱包命令,输入密码,就可以愉快的玩耍了。
另外说一句,如果下次要进入上一次的环境,可以通过screen -ls来查看哪些环境可以进入,再通过screen -d -r TrinityGateway 进入对应的环境中。
更详细内容,请到官方github文档查阅。