Java-Tron
Java-tron은 Tron network client 이다.
Java-Tron은 Tron Network의 공식 클라이언트 소프트웨어로 컴퓨터가 Tron Network 노드 역할을하고 작동에 참여할 수 있도록합니다. Tron 블록 체인의 트랜잭션 실행, 블록 생성, 컨센서스 및 피어 투 피어 네트워킹을 처리합니다.
기술적인 부분(설치) 은 공식 문서를 참조 하시기를 바라고 여기서는 운영에 있었어의 간단한 tip들을 소개하려고 합니다.
start.sh
#!/bin/bash
export LD_PRELOAD="/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4"
export TCMALLOC_RELEASE_RATE=10
nohup java -Xmx12g -XX:+UseConcMarkSweepGC -jar FullNode.jar -c [config.conf] -d [output-directory] --es </dev/null &>/dev/null &
nohup java -Xmx12g -XX:+UseConcMarkSweepGC -jar FullNode.jar -c config.conf -d output-directory --es > output-directory/tron.log 2>&1 &
구분 | 설명 |
---|---|
nohup |
터미널이 끊겨도 프로세스가 계속 실행되도록 함 |
java -Xmx12g ... -jar FullNode.jar |
FullNode 실행 (메모리 최대 12GB 지정) |
-c [config.conf] |
설정 파일 지정 (예: main_net_config.conf ) |
-d [output-directory] |
블록/데이터 저장 디렉터리 지정 |
--es |
Elasticsearch 연동 활성화 (설명 아래 따로) |
</dev/null &>/dev/null & |
입력 없음, 출력/에러 로그 버림, 백그라운드 실행 |
- --es
-
- Elasticsearch 연동 기능 활성화
-
- ES는 트랜잭션, 블록, 이벤트 등의 인덱싱 및 고속 검색을 위해 사용됨
-
- 이 옵션이 있으면 설정파일에 정의된 Elasticsearch 서버와 통신하여 실시간 데이터를 전송함
-
- 관련 설정은 config.conf 안의 elasticsearch 섹션에서 정의되어 있어야 합니다:
elasticsearch {
push = true
esHost = "localhost"
port = 9200
...
}
sync(동기화 확인법)
mainnet에서의 최신 블록
# curl https://api.trongrid.io/wallet/getnowblock | jq '.block_header.raw_data.number'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 257k 0 257k 0 0 184k 0 --:--:-- 0:00:01 --:--:-- 184k
73387354 // Mainnet에서의 최신 블록
나의 FuㅣlNode에서 확인법
1. FullNode HTTP API 호출
# curl http://localhost:8090/wallet/getnowblock | jq '.block_header.raw_data.number'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 300k 0 300k 0 0 9117k 0 --:--:-- --:--:-- --:--:-- 9117k
73333005 // FullNode가 처리한 가장 최신 블록 번호
2. 로그파일에서 확인
log 파일은 보통 output-directory/logs/tron.log 에 지정됨
INFO [SyncThread] - Syncing block from 73344308 to 73344400
mainnet 과 localhost의 block번호를 비교하여 이것이 다르면 현재 동기화가 되지 않는 것이다.