Skip to content

feat(tron): add TRON Full/Lite node runner blueprint#252

Open
snese wants to merge 1 commit into
aws-samples:mainfrom
snese:feat/tron-node-runner
Open

feat(tron): add TRON Full/Lite node runner blueprint#252
snese wants to merge 1 commit into
aws-samples:mainfrom
snese:feat/tron-node-runner

Conversation

@snese

@snese snese commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Implements #251.

Adds a Node Runner Blueprint for TRON (java-tron): single-node, Highly Available (ASG + internal ALB), and an S3 snapshot-staging node. Adapted from the BSC blueprint with the VeChain node-type pattern and the ethereum/tezos S3 sync-node pattern.

Highlights

  • Graviton (ARM64) default: Corretto 17, G1GC (CMS removed in JDK 17), FullNode-aarch64.jar (the generic jar bundles an x86-only rocksdbjni), RocksDB
  • Node types: Lite FullNode and FullNode; networks: mainnet and Nile
  • Snapshot bootstrap (TRON_SNAPSHOT_TYPE): none | public (aria2c + pigz) | s3 (private staging node, multithreaded zstd + s5cmd)
  • Security: P2P 18888 (TCP/UDP) public for peer discovery (cdk-nag suppressed with reason); HTTP 8090 + gRPC 50051 restricted to the VPC; EBS encrypted; IMDSv2; SSM-only access; S3 bucket BLOCK_ALL + SSL-only
  • CloudWatch dashboard + sync checker (block height / blocks behind)
  • cdk-nag clean; unit tests for all 4 stacks; README with Well-Architected checklist and architecture diagrams

Testing

Deploy-verified end-to-end in us-east-1: mainnet (Lite, Full, HA via ALB) and Nile testnet, including S3 snapshot staging/restore.

Add a Node Runner Blueprint for TRON (java-tron) supporting single-node,
highly available (ASG + ALB), and snapshot-node deployments. Adapted from
the BSC blueprint with the VeChain node-type pattern, and aligned with the
ethereum/tezos S3 sync-node pattern for repeatable bootstrap.

- Default to AWS Graviton (ARM64): Amazon Corretto 17, G1GC (not CMS, which
  is removed in JDK 17), and the FullNode-aarch64.jar release; ROCKSDB engine
  (the generic FullNode.jar bundles an x86-only rocksdb native lib)
- Node types: Lite FullNode and FullNode via TRON_NODE_CONFIGURATION
- Networks: mainnet and Nile testnet
- Snapshot bootstrap via TRON_SNAPSHOT_TYPE: none | public | s3
  - public: aria2c multi-connection (Lite, ~3x) or disk-safe streaming (Full),
    pigz decompression, auto-discovery of the latest official backup dir
  - s3: private per-account staging bucket populated by the snapshot node,
    stored as multithreaded zstd and restored via s5cmd (transfer-bound)
- Security group: P2P 18888 (TCP/UDP) public; HTTP 8090 and gRPC 50051
  restricted to the VPC; ALB health check on /wallet/getnowblock
- CloudWatch dashboard and sync checker (block height / blocks behind)
- cdk-nag clean with documented suppressions; unit tests for all four stacks
- README with Well-Architected 6-pillar checklist and architecture diagrams
@snese snese force-pushed the feat/tron-node-runner branch from 29cf96a to 7695bb1 Compare June 12, 2026 05:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant