前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >tron-节点-FullNode节点启动

tron-节点-FullNode节点启动

作者头像
潇洒
发布2023-10-23 14:11:06
8060
发布2023-10-23 14:11:06
举报
文章被收录于专栏:石头岛

简述

tron 有三种节点类型:

  1. SuperNode:负责生产区块。tron链是DPOS共识,只有27个SR能够产块。
  2. FullNode: 节点负责广播区块,不进行产块,网络中的FullNode转发区块、广播区块。
  3. SolidityNode: 该节点类型已经合并为其它两种节点类型,不会单独运行或部署,所以不再单独部署。

环境准备

保证以下环境正常使用

  1. JDK 1.8
    • 注意不能高于或低于1.8版本,否则会有问题
  2. FullNode.jar

启动节点

项目的启动方式:

  1. 官方脚本启动
  2. 手动指定参数启动
  3. docker 启动

脚本方式

这种方式最简单,不过一般使用区块链的开发者都需要debug代码,所以一般在部署的时候使用脚本启动。 需要用到的文件,都可以从 java-tron 这个项目中获得。

代码语言:javascript
复制
git clone https://github.com/tronprotocol/java-tron.git
cd java-tron
git checkout -t origin/master
./gradlew build -x test

gradlew是在java-tron项目中的gradle-wrapper.jar提供的功能Mave也有类型的功能。

使用gradle编译后,把主要的关键文件拿出来:

  1. 配置文件 config.conf
  2. 主程序 FullNode.jar
  3. 启动脚本 start.sh,在项目根目录

FullNode.jar

使用 gradle 编译后会在java-tron/build目录下生成 FullNode.jar文件。

java-tron/build/libs/FullNode.jar

config.conf

java-tron/framework/src/main/resources/config.conf

start.sh

java-tron/start.sh

准备好以上文件后,准备启动FullNode.jar,并查看日志

sh start.sh

产块日志,到这个阶段大概卡了30秒左右

所有启动前和启动后的文件

手动启动

手动启动服务,就是jar包启动,先排除JVM相关的优化参数,看看哪些是必须的参数。 至于JVM的优化参数,可以参考启动脚本当中官方给出的调优参数。

-c: config配置文件路径 -d: 指定数据库存放路径

java -jar FullNode.jar -c config.conf


docker 方式启动

在系统中先保证 docker 正常使用。

取拉项目代码

代码语言:javascript
复制
git clone https://github.com/tronprotocol/java-tron.git
cd java-tron

构建本地镜象

代码语言:javascript
复制
docker build -t tronprotocol/java-tron .

查看本地镜象

代码语言:javascript
复制
docker images

启动镜象

代码语言:javascript
复制
docker run -it -d -p 8090:8090 -p 8091:8091 -p 18888:18888 -p 50051:50051 --restart always tronprotocol/java-tron

查看镜象运行情况,动行成功,状态 STATUS 是 Up 17 hours,这是因为我启动之后过了17个小时才回来查看状态。

代码语言:javascript
复制
CONTAINER ID   IMAGE                    COMMAND                  CREATED        STATUS        PORTS                                                                                  NAMES
f181fab2948f   tronprotocol/java-tron   "./bin/docker-entryp…"   17 hours ago   Up 17 hours   0.0.0.0:8090-8091->8090-8091/tcp, 0.0.0.0:18888->18888/tcp, 0.0.0.0:50051->50051/tcp   optimistic_khayyam

查看下日志,容器ID是: f181fab2948fnumber=26981 这个是当前处理的块高,跑了17个小时才处理到这里。

docker exec -it f181fab2948f tail -f /java-tron/logs/tron.log

停止容器

docker container kill f181fab2948f

如果不使用了可以把容器和镜象完全删除,容器运行会产生很多的数据占磁盘空间。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简述
    • 环境准备
    • 启动节点
      • 脚本方式
      • 手动启动
      • docker 方式启动
        • 取拉项目代码
          • 构建本地镜象
            • 查看本地镜象
              • 启动镜象
                • 停止容器
                相关产品与服务
                容器服务
                腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档