使用源码部署CITA(Ubuntu18.0.4 | VMware)

先挑选一个地方准备用做下载位置(自主选择)
提前进入选择的目录
例:

$ cd /home/liubai
$ mkdir cita
$ cd cita

安装CITA-CLI(cita客户端)

先安装cita-cli的原因是需要使用它生成用户(起链时需要用户的地址指定管理员用户)

# ${version}为版本号,可以在(https://github.com/citahub/cita-cli/releases)参考最新版本
# wget https://github.com/citahub/cita-cli/releases/download/20.2.2/cita-cli-x86_64-musl-tls-20.2.2.tar.gz
# tar zxvf cita-cli-x86_64-musl-tls-20.2.2.tar.gz$ wget https://github.com/citahub/cita-cli/releases/download/${version}/cita-cli-x86_64-musl-tls-${version}.tar.gz
$ tar -zxf cita-cli-x86_64-musl-tls-${version}.tar.gz
$ ./cita-cli

运行cita-cli后可见如下页面:

输入如下命令创建用户,获得地址以及公钥私钥:

#cita> key create
key create

得到如下返回:(请将该返回信息妥善保存

克隆源码并编译

1 下载 CITA 源码
从 Github 仓库下载 CITA 的源代码,然后切换到 CITA 的源代码目录
如果提示没有安装git(Ubuntu18.0.4)

$ git clone https://github.com/citahub/cita.git
$ cd cita
$ git submodule init
# 这里如果显示克隆失败,多执行几次命令就好啦(强烈建议github在中国单独建个代码库,555~)
# 执行命令后没有任何提示后应该就是完成啦(我猜的,等一会看看能不能跑满服务)
$ git submodule update

2 编译源码
可以按照自己的需求自行选择相应的编译方式(Debug-调试模式 或 Release-发行模式)
如果提示没有docker环境,这里是官网的教程哦
这里编译的时候应该是可以调整使用的核心数量的,但是我还不知道怎么修改
(默认一个核心,编译速度真的很感人)

$ sudo ./env.sh make debug

或者

$ sudo ./env.sh make release

下面有个几个我在编译过程中遇到的问题以及解决的方法
一个问题:
运行上述命令后我遇到了一个这样的问题:
我暂时没有找到解决办法,我怀疑是git submodule update克隆的不完全的问题,所以我重新克隆的了源码(希望知道办法的大哥指点一下cita小白的我)
我发现当git submodule update一次性执行成功后,编译就不会发生这个问题了。


然后另一个问题:

我在这里找到了解决办法
方法是在编译时加入环境变量CARGO_HTTP_MULTIPLEXING=false
命令类似于这样

$ sudo ./env.sh make debug CARGO_HTTP_MULTIPLEXING=false

3 进入 CITA 运行目录

# 这里注意不要进入再下一级目录cita
# 这是为什么呢,我也不知道,官网提示的
$ cd target/install

起链和启动节点

初始化链

  • 请勿直接运行该命令 请注意下面的注解
$ bin/cita create --super_admin "0x37d1c7449bfe76fe9c445e626da06265e9377601" --nodes "127.0.0.1:4000,127.0.0.1:4001,127.0.0.1:4002,127.0.0.1:4003"

其中:

super_admin为超级管理员账号地址,为之前保存的用户信息中的address
nodes 是要部署的节点地址(IP:PORT)。
注1:以上是简单的配置,系统会默认一些参数,更多自定义参数请见链级配置;
注2:以上操作是在一台服务器上部署 4 个 CITA 节点,如要将节点部署到多台服务器,初始化链时 --nodes 需要填写服务器真实 IP:PORT;
注3:如果未安装 CITA 的 Docker 环境,会自动拉取镜像,并启动 CITA 容器。
注4:Linux中需设置安全配置为关闭;SELINUX=disabled

启动节点

先来个错误示范
注:setup 或 start 节点时,节点号后面存证多余的"/", 会报错

$ bin/cita setup test-chain/0/  # 错误写法
$ bin/cita start test-chain/0/  # 错误写法

启动节点 0

$ bin/cita setup test-chain/0
$ bin/cita start test-chain/0

启动节点 1

$ bin/cita setup test-chain/1
$ bin/cita start test-chain/1

启动节点 2

$ bin/cita setup test-chain/2
$ bin/cita start test-chain/2

启动节点 3

$ bin/cita setup test-chain/3
$ bin/cita start test-chain/3

setup为初始化节点,每次启动节点都需要运行,但是运行setup之后再restart的时不需要再次运行setup

检查节点服务

$ bin/cita top test-chain/0
$ bin/cita top test-chain/1
$ bin/cita top test-chain/2
$ bin/cita top test-chain/3

如果节点启动正常会显示七个服务,如果服务启动不全可以查看cita-forever服务的日志(我暂时还不知道解决方法)

查看服务的日志

# sudo bin/cita logs [节点名称] [服务名称]
$ sudo bin/cita logs test-chain/1 cita-forever

正常启动的日志:

到这里应该属于部署完成了
本文为参照官网教程记录的笔记

使用源码部署CITA(Ubuntu18.0.4 | VMware)相关推荐

  1. MySQL 源码 需要 什么基础_MySQL 基础之 源码 部署

    源码部署 1. 需要先卸载一些软件 centos7 中需要先卸载 mariadb-libs 软件包 # rpm -e --nodeps mariadb-libs 2. 安装依赖包 yum -y ins ...

  2. Openfire4源码部署到eclipse中并编译

    Openfire4源码部署到eclipse中并编译 概述 Openfire是众所周知的基于xmpp协议的IM开源服务,所有操作,配置,监控,调试等以B/S方式进行展示,非常的方便管理员进行管理.它的强 ...

  3. mondrain配置mysql_mondrian 4.7 源码部署(示例代码)

    mondrian是一个开源的数据分析工程, 网上有关mondrian3.X的源码部署比较多, 有关4.X的部署较少. 目前官方推荐使用的时mondrian3.7的修订版, 可以再github上下载到最 ...

  4. 人工智能研究中心快递柜——源码部署及分析综述

    2021SC@SDUSC 目录 项目简介 1.格子柜 2.审计柜 人员分工 源码部署 项目简介 1.格子柜 格子柜项目主要用于物品的存储和中转功能,项目分为微信小程序.安卓柜子端.web后台三个呈现形 ...

  5. DJI ManiFold-2G(Nvidia Jetson TX2)源码安装Tensorflow-1.12.0

    Dji ManiFold-2G(Nivida Jetson TX2)源码安装Tensorflow-1.12.0 Cuda 9.0 Jetpack 3.3 Python 3.5 cuDNN 7.4.1( ...

  6. php 7.0 编译安装mysql_源码编译安装php7.0.5

    源码编译安装php7.0.5 源码包下载地址 安装epel扩展yum源 [root@xuegod63 ~]# yum clean all [root@xuegod63 ~]# yum list 注:R ...

  7. SHOP++源码部署说明:

    2019独角兽企业重金招聘Python工程师标准>>> SHOP++源码部署说明: 1. 安装MyEclipse.Tomcat.MySQL/Oracle/SQL Server 2. ...

  8. ubuntu16.04源码安装opencv3.4.0

    ubuntu16.04源码安装opencv3.4.0 opencv下载地址:https://opencv.org/releases/page/3/ 1.下载安装包 2.安装依赖 sudo apt-ge ...

  9. 微趣能Weiqn(微信源码下载)V1.5.0.2beta官方版

    名称:微趣能Weiqn(微信源码下载)V1.5.0.2beta官方版 版本:1.5.0.2 软件大小:9.25 MB 软件语言:简体中文 软件授权:免费版 应用平台:Win8/Win7/WinXP 微 ...

最新文章

  1. 如何使用 Redis 实现大规模的帖子浏览计数
  2. linux java javac版本_linux下java 和 javac version 不一致问题
  3. ABAP OO的八大理由
  4. 阿里云OSS上传文件demo
  5. 【转】 Linux内核中读写文件数据的方法--不错
  6. 虚拟串口工具Virtual Serial Port Driver(VSPD)
  7. 云联惠身份认证需要多长时间_欧盟REACH认证需要多长时间【周期、费用、有效期】...
  8. 【金蝶K3Cloud】Python拼接字段
  9. Illustrator 教程,如何在 Illustrator 中更改图稿颜色?
  10. 阿里巴巴架构师,讲透2亿用户的钉钉系统架构实践
  11. vb连接mysql未发现_vb连接mysql(错误代码)
  12. 雷赛acc68c说明书_DMC2410C-A四轴通用型点位卡
  13. 【教程】如何批量图片文字识别软件,批量图片文字识别OCR软件系统,批量图片压缩,PDF批量转文字转图片
  14. 锐度对比度饱和度什么的
  15. ARCore从零到一 (1) 搭建开发环境
  16. ssms连接mysql_SQL Server安装以及使用SSMS连接数据库
  17. hdmi怎么支持2k分辨率_HDMI版本小科普及毕亚兹HDMI高清线体验
  18. extjs给panel添加滚动条_ExtJs Panel 滚动条设置
  19. 微信小程序云开发|个人博客小程序
  20. airpods二代降噪吗_华强北 苹果二代三代 蓝牙耳机。最新款airpods 不跳电,真降噪。...

热门文章

  1. iphone8验证服务器出错,某平台上买的“全新国行正品iphone8手机,支持官方验证”用了不到两个月坏了...
  2. iOS开发:GitHub上传代码错误提示fatal: Authentication failed for 'https://gitee.com/XXX/XXX.git/‘的解决方法
  3. 帮助海外游客规划从成田机场开始日本旅行的新网站上线
  4. 浙江新青年计算机学校,新青年
  5. mysql错误1273_mysql8 参考手册--错误代码1273-1294
  6. 解决svmtrain已被删除问题
  7. 疫情期间,程序员是如何靠副业赚钱的?​
  8. 【项目工程】利用安卓手机NFC功能和KPC物联网仿真平台的智能花盆设计
  9. 【系统篇 / 配置】❀ 06. 添加桌面图标 ❀ Windows Server 2016
  10. 如何增加微信阅读量,新手公众号如何增加阅读量