tron 有三种节点类型:
保证以下环境正常使用
1.8
版本,否则会有问题项目的启动方式:
这种方式最简单,不过一般使用区块链的开发者都需要debug代码,所以一般在部署的时候使用脚本启动。
需要用到的文件,都可以从 java-tron
这个项目中获得。
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编译后,把主要的关键文件拿出来:
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 正常使用。
git clone https://github.com/tronprotocol/java-tron.git
cd java-tron
docker build -t tronprotocol/java-tron .
docker images
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个小时才回来查看状态。
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是: f181fab2948f
,number=26981
这个是当前处理的块高,跑了17个小时才处理到这里。
docker exec -it f181fab2948f tail -f /java-tron/logs/tron.log
docker container kill f181fab2948f
如果不使用了可以把容器和镜象完全删除,容器运行会产生很多的数据占磁盘空间。