Tron

  • Releases
  • Faucet
  • How to Join
  • How to Run
  • Proposals

nile testnet

        Welcome to the Tron Nile testnet, which is very stable, just like the Nile river, a steady stream and never roll back!

Pinned Notice: Deprecation of the Nile Branch in the Java-tron GitHub Repository


Please be informed that the Nile branch of the Java-tron GitHub repository will no longer be maintained since 3/25/2025

The new GitHub repository is nile-testnet




Current Version:


GreatVoyage-v4.8.0.2(Kant)    Branch name: nile-testnet/master


Update time: Tue. 3 Apr. 2025



Notice


  • This is an optimization release for version 4.8.0.1

Integrity Check


All jar files available in this release are signed via this GPG key:

  • PUB: BBA2FC19D5F0B54AB1EE072BCA92A5501765E1EC
  • UID: build@nileex.io
  • KeyServer: hkps://keyserver.ubuntu.com

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process:

Install GPG


  • Mac OS:

    brew install gpg

    On Debian, Ubuntu and other Linux distributions:

    sudo apt install gpg

Import Public Key


  • gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys BBA2FC19D5F0B54AB1EE072BCA92A5501765E1EC

Signature verification


  • gpg --verify FullNode-Nile-4.8.0.2.jar.sig FullNode-Nile-4.8.0.2.jar

    If the signature verification is passed, the following will be returned:

    gpg: Signature made Thu 03 Apr 2025 08:43:32 AM UTC using RSA key ID 1765E1EC
    gpg: Good signature from "build_nileex (build_nileex)<build@nileex.io>"
    gpg: WARNING: This key is not certified with a trusted signature!
    gpg:          There is no indication that the signature belongs to the owner.
    Primary key fingerprint: BBA2 FC19 D5F0 B54A B1EE  072B CA92 A550 1765 E1EC

Assets


  • FullNode-Nile-4.8.0.2.jar
  • FullNode-Nile-4.8.0.2.jar.sig





Historical Edition:


GreatVoyage-v4.8.0.1


Notice


  • This is a bug fix release for version 4.8.0

Integrity Check


All jar files available in this release are signed via this GPG key:

  • PUB: BBA2FC19D5F0B54AB1EE072BCA92A5501765E1EC
  • UID: build@nileex.io
  • KeyServer: hkps://keyserver.ubuntu.com

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process:

Install GPG


  • Mac OS:

    brew install gpg

    On Debian, Ubuntu and other Linux distributions:

    sudo apt install gpg

Import Public Key


  • gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys BBA2FC19D5F0B54AB1EE072BCA92A5501765E1EC

Signature verification


  • gpg --verify FullNode-Nile-4.8.0.1.jar.sig FullNode-Nile-4.8.0.1.jar

    If the signature verification is passed, the following will be returned:

    gpg: Signature made Mon 24 Mar 2025 01:14:42 PM UTC using RSA key ID 1765E1EC
    gpg: Good signature from "build_nileex (build_nileex)<build@nileex.io>"
    gpg: WARNING: This key is not certified with a trusted signature!
    gpg:          There is no indication that the signature belongs to the owner.
    Primary key fingerprint: BBA2 FC19 D5F0 B54A B1EE  072B CA92 A550 1765 E1EC

Assets


  • FullNode-Nile-4.8.0.1.jar
  • FullNode-Nile-4.8.0.1.jar.sig


GreatVoyage-v4.8.0


Notice


Mandatory upgrade

New Features


Core

  • TIP-697 Migrate all operations from java.lang.Math to java.lang.strictMath #6182 #6210
  • Sort SR ranking by address lexicographical order instead of by address hash when SRs have the same number of votes #6173
  • TIP-694 Enhance Verification of Transaction Limitation at Consensus Layer #6172 #6221
  • Verify slot to avoid block producing during the maintenance period #6187
  • Check if block header time is an integer multiple of 3s #6186
  • TIP-650 Implement EIP-1153 Transient Storage Opcodes #6185 #6195 #6214
  • TIP-651 Implement EIP-5656 MCOPY - Memory Copying Instruction #6185 #6194

Net

  • Block inventory below solidified block won't be requested to avoid wasting resources on requesting the already existing data #6184
  • Optimize scheduling frequency of block synchronization processing thread from 1s to 100 ms to improve synchronization efficiency #6183
  • Add contract size validation in TransactionsMsgHandler #6181

Changes

  • Introduce decoupled event service as an independent module to improve block execution efficiency #6192 #6206 #6223 #6227 #6234
  • Optimize system.exit() usage for some exception scenarios #6170 #6177 #6205
  • Ensure the main process exits if the services (API, P2P, Prometheus, Event Plugin, etc.) fail to start #5857 #6228 #6233
  • Upgrade dependencies for security: #6180 #6207
    • Bump jcommander from 1.72 to 1.78
    • Bump pf4j from 2.5.0 to 3.10.0
    • Bump grpc from 1.52.1 to 1.60.0
    • Bump logback from 1.2.9 to 1.2.13
    • Bump libp2p from 2.2.4 to 2.2.5
  • Upgrade gradle to 7.6.4 and enable dependency checksum sha256 verification #5869 #5903 #6229
  • Force consensusService to start before tronNetService to prevent NullPointerException during node startup #6216
  • Record details of internal transactions generated by opcode CANCELALLUNFREEZEV2 #6191
  • Adjust the priority of internal tx-related switches on the command line #6201 #6224

API

  • JSON-RPC API supports finalized as a block parameter #6007
  • Fix the bug of generating query conditions in eth_getLogs #6176
  • Optimize error handling of shielded transaction API #6174

Integrity Check


All jar files available in this release are signed via this GPG key:

  • PUB: BBA2FC19D5F0B54AB1EE072BCA92A5501765E1EC
  • UID: build@nileex.io
  • KeyServer: hkps://keyserver.ubuntu.com

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process:

Install GPG


  • Mac OS:

    brew install gpg

    On Debian, Ubuntu and other Linux distributions:

    sudo apt install gpg

Import Public Key


  • gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys BBA2FC19D5F0B54AB1EE072BCA92A5501765E1EC

Signature verification


  • gpg --verify FullNode-Nile-4.8.0.jar.sig FullNode-Nile-4.8.0.jar

    If the signature verification is passed, the following will be returned:

    gpg: Signature made Fri 14 Mar 2025 09:03:09 AM UTC using RSA key ID 1765E1EC
    gpg: Good signature from "build_nileex (build_nileex)<build@nileex.io>"
    gpg: WARNING: This key is not certified with a trusted signature!
    gpg:          There is no indication that the signature belongs to the owner.
    Primary key fingerprint: BBA2 FC19 D5F0 B54A B1EE  072B CA92 A550 1765 E1EC

Assets


  • FullNode-Nile-4.8.0.jar
  • FullNode-Nile-4.8.0.jar.sig


GreatVoyage-v4.7.7


Notice


Mandatory upgrade

New Features


Core

  • TIP-697 Migrate pow operation from java.lang.Math to java.lang.StrictMath for cross-platform computational consistency. #6098

Changes

  • Solve temporary block synchronization failure in event subscription nodes due to event handling exceptions. #6096
  • Support graceful shutdown with signal -15 (SIGTERM) for nodes enabling backup. #6095
  • Improve duration metrics accuracy of gRPC interfaces. #6097
  • Optimize precompiled contracts. #6101

Integrity Check


All jar files available in this release are signed via this GPG key:

  • PUB: BBA2FC19D5F0B54AB1EE072BCA92A5501765E1EC
  • UID: build@nileex.io
  • KeyServer: hkps://keyserver.ubuntu.com

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process:

Install GPG


  • Mac OS:

    brew install gpg

    On Debian, Ubuntu and other Linux distributions:

    sudo apt install gpg

Import Public Key


  • gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys BBA2FC19D5F0B54AB1EE072BCA92A5501765E1EC

Signature verification


  • gpg --verify FullNode-Nile-4.7.7.jar.sig FullNode-Nile-4.7.7.jar

    If the signature verification is passed, the following will be returned:

    gpg: Signature made Fri 29 Nov 2024 10:35:29 AM UTC using RSA key ID 1765E1EC
    gpg: Good signature from "build_nileex (build_nileex)<build@nileex.io>"
    gpg: WARNING: This key is not certified with a trusted signature!
    gpg:          There is no indication that the signature belongs to the owner.
    Primary key fingerprint: BBA2 FC19 D5F0 B54A B1EE  072B CA92 A550 1765 E1EC

Assets


  • FullNode-Nile-4.7.7.jar
  • FullNode-Nile-4.7.7.jar.sig


GreatVoyage-v4.7.6


Notice


Non-mandatory upgrade

New Features


Changes

  • Improve P2P network stability, avoid potential isolation of internal network nodes. #5924 #5944 #5956 #5984
  • Optimize transaction expiration checks, and stop broadcasting transactions to be expired in advance. #5999
  • Set blockBothHave when processing broadcasted blocks to understand peer status better. #5925
  • Add isSyncIdle method to determine status of syncing peers to avoid transaction/block broadcasts affecting block synchronization. #5921
  • Optimize sortPeers by catching and ignoring avgLatency concurrent access issue. #5923
  • Enhance checks for fetch inventory messages, requested block number cannot exceed maximum block number carried in chain inventory message. #5922
  • Add TCP-out traffic to Prometheus statistics and UDP-in traffic to /monitor/getstatsinfo statistics. #5942
  • Resolve the statistical inaccuracy issue caused by concurrency errors in HTTP metrics. #5920
  • Bump com.google.protobuf:protobuf-java from 3.21.12 to 3.25.5. #6025
  • Improve stability of Gradle test task.
    • Introduce test-retry plugin to help mitigate issues caused by flaky tests. #5916
    • Reduces noise by ignoring non-essential unstable tests for MerkleTreeTest. #5927

Integrity Check


All jar files available in this release are signed via this GPG key:

  • PUB: BBA2FC19D5F0B54AB1EE072BCA92A5501765E1EC
  • UID: build@nileex.io
  • KeyServer: hkps://keyserver.ubuntu.com

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process:

Install GPG


  • Mac OS:

    brew install gpg

    On Debian, Ubuntu and other Linux distributions:

    sudo apt install gpg

Import Public Key


  • gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys BBA2FC19D5F0B54AB1EE072BCA92A5501765E1EC

Signature verification


  • gpg --verify FullNode-Nile-4.7.6.jar.sig FullNode-Nile-4.7.6.jar

    If the signature verification is passed, the following will be returned:

    gpg: Signature made Tue 08 Oct 2024 11:00:02 AM UTC using RSA key ID 1765E1EC
    gpg: Good signature from "build_nileex (build_nileex)<build@nileex.io>"
    gpg: WARNING: This key is not certified with a trusted signature!
    gpg:          There is no indication that the signature belongs to the owner.
    Primary key fingerprint: BBA2 FC19 D5F0 B54A B1EE  072B CA92 A550 1765 E1EC

Assets


  • FullNode-Nile-4.7.6.jar
  • FullNode-Nile-4.7.6.jar.sig


GreatVoyage-v4.7.5


Notice


Mandatory upgrade

New Features


Core

  • TIP-653: Adjust energy cost for SUICIDE and VOTEWITNESS opcodes in TVM. #5837
  • Improve the check logic of block messages with more strict checks. #5830
  • Limit the size of account creation transactions to less than 1000 bytes. #5835
  • Tune check logic of transaction size to less than 500kb including Result. #5838
  • Guarantee size consistency of Result and Contract in transactions. #5839

Changes

  • Fix race condition for fetchBlockInfo. #5831
  • Fix race condition for syncBlockToFetch. #5832
  • Optimize block production logic by checking miner state after obtaining block locks. #5833
  • Remove redundant code. #5834
  • Replace cleanUp() with invalidateAll() in the cache to remove all entries. #5731

Integrity Check


All jar files available in this release are signed via this GPG key:

  • PUB: BBA2FC19D5F0B54AB1EE072BCA92A5501765E1EC
  • UID: build@nileex.io
  • KeyServer: hkps://keyserver.ubuntu.com

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process:

Install GPG


  • Mac OS:

    brew install gpg

    On Debian, Ubuntu and other Linux distributions:

    sudo apt install gpg

Import Public Key


  • gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys BBA2FC19D5F0B54AB1EE072BCA92A5501765E1EC

Signature verification


  • gpg --verify FullNode-Nile-4.7.5.jar.sig FullNode-Nile-4.7.5.jar

    If the signature verification is passed, the following will be returned:

    gpg: Signature made Tue 11 Jun 2024 03:19:35 AM UTC using RSA key ID 1765E1EC
    gpg: Good signature from "build_nileex (build_nileex)<build@nileex.io>"
    gpg: WARNING: This key is not certified with a trusted signature!
    gpg:          There is no indication that the signature belongs to the owner.
    Primary key fingerprint: BBA2 FC19 D5F0 B54A B1EE  072B CA92 A550 1765 E1EC

Assets


  • FullNode-Nile-4.7.5.jar
  • FullNode-Nile-4.7.5.jar.sig


GreatVoyage-v4.7.4


Notice


Mandatory upgrade

New Features


Core

  • TIP-635: Optimize algorithm of voting reward calculation in Phase1 (since TIP-53, to TIP-465). #5406 #5654 #5683 #5742 #5748
  • Suspend tx broadcasting if blocks cannot get solidified reach the threshold in the longest chain, this is an optional function. #5643 #5751

Changes

  • TIP-621: Add field codeVersion to HelloMessage to declare code version. #5584 #5667
  • Bump libp2p to version 2.2.1 to fix some bugs. #5692
    • Bump snappy-java to 1.1.10.5, fix CVE-2023-34453
    • Remove dependency xercesImpl
    • Set log level of UDP exceptionInvalidProtocolBufferException to WARN
    • Add LAN IP acquisition logic, add field lanIp in P2pConfig
    • Optimize handshake logic: no duplicate handshake message sent if connection is active
  • Bump jetty to 9.4.53.v20231009, fix CVE-2023-34453. #5571
  • Refactor Gradle dependencies for version management. #5625
  • Provide gRPC reflection service by calling with grpcurl command. #5583
  • Replace LiteFullNodeTool in framework module with Toolkit.jar db lite in plugin module. #5650
  • Remove configuration item node.discovery.bind.ip and modify config.conf. #5597 #5750
  • Remove redundant CI scripts: checkStyle.sh, codecov.sh, querySonar.sh, sonar.sh. #5580
  • Start API service first to avoid node startup error due to ports being occupied by P2P service. #5711
  • Optimize log #5660 #5687 #5697 #5624 #5601
    • simplify expected exceptions, elaborate unexpected exceptions
    • log level of block version checking adjusted from ERROR to WARN
    • remove log print when calling API /wallet/getnodeinfo
  • Resolve ZeroMQ cocurrency issue to avoid event data disturbance when node enabling native message queue is in high load. #5536
  • Optimize unexpected exception capture process of scalingFactor in API/wallet/createshieldedcontractparameters. #5746

API

  • Supply BLOCK_UNSOLIDIFIED in code for API /wallet/broadcasttransaction, to indicate when blocks cannot get solidified pile up. #5643

For a full rundown of the changes please consult the GreatVoyage-v4.7.4(Bias) release milestone.


Integrity Check


All jar files available in this release are signed via this GPG key:

  • PUB: BBA2FC19D5F0B54AB1EE072BCA92A5501765E1EC
  • UID: build@nileex.io
  • KeyServer: hkps://keyserver.ubuntu.com

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process:

Install GPG


  • Mac OS:

    brew install gpg

    On Debian, Ubuntu and other Linux distributions:

    sudo apt install gpg

Import Public Key


  • gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys BBA2FC19D5F0B54AB1EE072BCA92A5501765E1EC

Signature verification


  • gpg --verify FullNode-Nile-4.7.4.jar.sig FullNode-Nile-4.7.4.jar

    If the signature verification is passed, the following will be returned:

    gpg: Signature made Mon 25 Mar 2024 03:38:00 AM UTC using RSA key ID 1765E1EC
    gpg: Good signature from "build_nileex (build_nileex) <build@nileex.io>"
    gpg: WARNING: This key is not certified with a trusted signature!
    gpg:          There is no indication that the signature belongs to the owner.
    Primary key fingerprint: BBA2 FC19 D5F0 B54A B1EE  072B CA92 A550 1765 E1EC

Assets


  • FullNode-Nile-4.7.4.jar
  • FullNode-Nile-4.7.4.jar.sig


GreatVoyage-v4.7.3.1


Notice


Non-mandatory upgrade

New Features


Changes

  • Fix a small probability error when calling API /wallet/getnodeinfo #5657
  • Fix a small probability issue of Lite Fullnode's data-pruning tool when the node is killed by kill -9 #5658

Integrity Check


All jar files available in this release are signed via this GPG key:

  • PUB: BBA2FC19D5F0B54AB1EE072BCA92A5501765E1EC
  • UID: build@nileex.io
  • KeyServer: hkps://keyserver.ubuntu.com

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process:

Install GPG


  • Mac OS:

    brew install gpg

    On Debian, Ubuntu and other Linux distributions:

    sudo apt install gpg

Import Public Key


  • gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys BBA2FC19D5F0B54AB1EE072BCA92A5501765E1EC

Signature verification


  • gpg --verify FullNode-Nile-4.7.3.1.jar.sig FullNode-Nile-4.7.3.1.jar

    If the signature verification is passed, the following will be returned:

    gpg: Signature made Mon 15 Jan 2024 11:18:11 AM UTC using RSA key ID 1765E1EC
    gpg: Good signature from "build_nileex (build_nileex) <build@nileex.io>"
    gpg: WARNING: This key is not certified with a trusted signature!
    gpg:          There is no indication that the signature belongs to the owner.
    Primary key fingerprint: BBA2 FC19 D5F0 B54A B1EE  072B CA92 A550 1765 E1EC

Assets


  • FullNode-Nile-4.7.3.1.jar
  • FullNode-Nile-4.7.3.1.jar.sig


GreatVoyage-v4.7.3


Notice


Non-mandatory upgrade

New Features


Core

  • TIP-586 Add gRPC interfaces for resource price query #5412
    • GetBandwidthPrices
    • GetEnergyPrices
    • GetMemoFee
  • TIP-592 Supplement disconnect reasons #5392
  • Discard transactions from bad peers instead of disconnected peers #5440
  • Optimize Stake2.0 codes and error messages #5424 #5426
  • Accelerate bloomFilter initialization for transactions cache. Note that this optimization is disabled by default, please set storage.txCache.initOptimization = true to enable it #5394 #5491 #5505 #5523 #5543
  • Fix concurrency issues when generating chain inventory #5393 #5532
  • Correct resource disorder closure behavior on kill -15 #5410 #5425 #5420 #5429 #5447
    • Optimize database closure.
    • Refine the sequence of resource closure.

Changes

  • Fix expired transaction check issue when fetching transactions #5460
  • Fix the concurrency issue of getHeadBlockId method #5403
  • Delete unused network configurations #5441
    • node.discovery.public.home.node
    • node.discovery.ping.timeout
    • node.p2p.pingInterval
  • Acquire external IP from libp2p #5407
  • Support stake-related transactions in the log event #5419
  • Adjust the default value of node.validateSignThreadNum for signature validation threads from half of CPU cores to all cores #5396
  • Mark LiteFullNodeTool as deprecated which has been migrated to Toolkit and will be removed in the next major release #5482
  • Enhance the query performance of DynamicPropertiesStore #5378

API

  • Fix the memory inflation issue in the HTTP monitor module #5332
  • Provide uniform rate limitation configuration rate.limiter.global.api.qps for all HTTP and gRPC APIs #5502
  • Fix input parameter parsing exceptions in the HTTP interfaces #5367 #5483
    • /wallet/getReward
    • /wallet/getBrokerage
  • Add resource unit price query API for Solidity #5451
    • /walletsolidity/getbandwidthprices
  • Optimize the request and response process for some interfaces #5408
    • /wallet/getavailableunfreezecount: support owner_address for GET request.
    • /wallet/getcanwithdrawunfreezeamount: process timestamp as 0 if not provided in GET request.
    • /wallet/getcandelegatedmaxsize: process type as 0 if not provided in GET request.
    • /wallet/getblockbynum: process num as 0 if not provided in GET request.

Integrity Check


All jar files available in this release are signed via this GPG key:

  • PUB: 1B294EAB63D3384EBC9E7A4A56B72CE5300161A6
  • UID: build@nileex.io
  • KeyServer: hkps://keyserver.ubuntu.com

From the download listings below you should see links to the downloadable jar files as well as sig signature files. To verify the authenticity of any jar file, grab the jar and sig files with the same prefix name and then execute the verification process:

Install GPG


  • Mac OS:

    brew install gpg

    On Debian, Ubuntu and other Linux distributions:

    sudo apt install gpg

Import Public Key


  • gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 1B294EAB63D3384EBC9E7A4A56B72CE5300161A6

Signature verification


  • gpg --verify FullNode-Nile-4.7.3.jar.sig FullNode-Nile-4.7.3.jar

    If the signature verification is passed, the following will be returned:

    gpg: Signature made 2023/12/13 17:29:45
    gpg:                using RSA key 56B72CE5300161A6
    gpg: Good signature from "build_nileex (build_nileex) <build@nileex.io>" [unknown]
    gpg: WARNING: This key is not certified with a trusted signature!
    gpg:          There is no indication that the signature belongs to the owner.
    Primary key fingerprint: 1B29 4EAB 63D3 384E BC9E  7A4A 56B7 2CE5 3001 61A6

Assets


  • FullNode-Nile-4.7.3.jar
  • FullNode-Nile-4.7.3.jar.sig


GreatVoyage-v4.7.2


Notice


Mandatory upgrade

New Features


Core

  • Network module updated to Libp2p v2.0.0 #5017 #5284
    • Support IPv6 protocol
    • Support DNS discovery protocol
    • Support compressed message transmission
    • Add node detection service
  • Optimize effective peer-acquiring strategy #5088
  • TIP-555 Network upgrade logic optimization #5247
  • TIP-541 Support canceling unstaking in Stake 2.0 #5230
  • TIP-542 Resource delegating supports customizable lock period #5255

TVM

  • TIP-543 Implement EIP-3855 PUSH0 Instruction #5175

Changes

  • Optimize event plugin storage logic of MongoDB #5031
  • Support dynamic loading according to node.active and node.passive #5090
  • Optimize block synchronization logic #5094 #5097 #5102
  • Normalize HTTP URLs #5085
  • Optimize block fetching under weak network #5106
  • Add a new node startup mode #5011
  • Add metrics for json-rpc #5222
  • Remove auto-repair for corrupted leveldb #5223
  • Bump junit from 4.12 to 4.13.2 #5244

API

  • Add global rate limiter #5093
  • API triggerconstantcontract and estimateenergy support estimation of energy consumed by creating contracts #5079
  • TIP-544 Add call_data to the http interfaces interacting with smart contract #5079


GreatVoyage-v4.7.1


Notice



Non-mandatory upgrade

New Features


Core

  • Change the default IP of the node to solve the address verification error in the UDP message. #4990
  • Optimize block synchronization logic. #4995 #4996 #5009
  • Optimize activeNodes node adding logic. #4994

Changes

  • Optimize light node detection. #4986
  • Optimize 'LevelDB'&'RocksDB' log output to 'db.log'. #4985 #5001 #5010
  • Optimize the logic of event service when handling genesis block. #4974
  • Optimize of network processing blocks and message timeout logs. #4977

API

  • Remove inefficient APIs for solidity added by 'Stake2.0'. #4997
  • Optimize APIs for resource delegation index query. #8

GreatVoyage-v4.7.0



Notice


Mandatory upgrade

New Features


Core

  • TIP-467 Stake 2.0 - the new stake mechanism. #4838
  • Optimize memory utilization method to improve data inquiry performance. #4740 #4756 #4792
  • Add 'libp2p' module as java-tron p2p network stack. #4791

TVM

  • TIP-491 Support dynamic energy model. #4873
  • TIP-474 Optimize the return value of `chainid` opcode. #4863
  • Add new instructions to support Stake 2.0. #4872
  • Add new precompile contracts to support Stake 2.0. #4872
  • Add energy estimation APIs. #4873

Changes

  • Optimize Gradle memory configuration to improve stability of compilation. #4837
  • Optimize conditional node halt funciton. #4853 #4858
  • Remove abandoned version of revokingDB. #4836
  • Make snapshot flush speed configurable. #4834
  • Integrate 'LiteFullNodeTool.jar' and 'DBConvert.jar' into 'Toolkit.jar', add database copy function to 'Toolkit.jar'. #4813 #4849

GreatVoyage-v4.6.0



Notice


Mandatory upgrade

New Features


Core

  • TIP-461 Upgrade checkpoint mechanism to V2 in database module. #4614
  • TIP-476 Optimize delegate relatioinship index structure. #4788
  • TIP-387 Add transaction memo fee proposal. #4758
  • TIP-465 Add optimized reward algorithm proposal. #4694
  • Optimize the kademlia algorithm for the network module. #4620 #4622
  • Optimize block production priority between active and backup nodes. #4630

Changes

  • Optimize 'LiteFullNodeTool.jar'. #4607
  • Merge 'ArchiveManifest.jar' into 'Toolkit.jar'. #4603
  • Add prometheus metrics for network module. #4626
  • Add the '--help' command option. #4606

GreatVoyage-v4.5.2



Notice


Non-mandatory upgrade

New Features


Core

  • TIP-428 Optimize lock competition in block processing. #4551
  • TIP-440 Optimize transaction cache. #4538
  • TIP-425 Improve TCP connection establishment. #4549
  • Optimize generate block logic. #4387
  • Optimize switch fork logic. #4583
  • Add tools for database storage. #4545 #4559 #4563

API

  • Add query header API. #4492 #4552

Changes

  • Improve node link stability. #4542 #4540
  • Optimize the eth_estimateGas and eth_call JSON-RPC API. #4570
  • Optimize fault-tolerance handling of api parameters. #4556 #4560

GreatVoyage-v4.5.1



Notice


Mandatory upgrade

New Features


Core

  • TIP-391 Optimize block process and broadcasting logic. #4326 #4336
  • TIP-388 Optimize light node synchronization. #4323
  • TIP-383 Optimize transaction cache loading. #4319
  • TIP-382 Optimize TRC10 token performance. #4392
  • TIP-370 Support node specified condition stop. #4325
  • TIP-369 Support prometheus metric protocol interface. #4337
  • Add a new proposal to enable TRC10 Token optimization. #4402

TVM

  • TIP-397 Add a proposal to raise limit of the 13th network parameter. #4375
  • Optimize the repository structure of TVM. #4375
  • Optimize the stability of `TriggerContract(view/pure)` and `TriggerConstantContract` interfaces. #4459

GreatVoyage-v4.4.5



Notice


Non-mandatory upgrade

New Features


Changes

  • Optimize query interface.

GreatVoyage-v4.4.4



Notice


Non-mandatory upgrade

New Features


Core

  • TIP-366 Optimize the node startup process. #4254
  • TIP-362 Optimize memory usage. #4250
  • Optimize the block-producing thread. #4239

TVM

  • Supports multi-version program executors. #4257 #4259

Changes

  • Optimize log storage mechanism. #4245
  • Optimize network service shutdown logic. #4220
  • Improves the java-tron upgrade mechanism. #4218

GreatVoyage-v4.4.2



Notice


Non-mandatory upgrade

New Features


TVM

  • TIP-344 Optimize instruction execution for TVM. #4157

API

  • Support ETH compatible log filter for JSON-RPC APIs. #4153

Changes

  • TIP-343 Optimize leveldb performance. #4154

GreatVoyage-v4.4.0



Notice


Mandatory upgrade

New Features


Core

  • TIP-289 Block broadcast logic optimization. #3986
  • TIP-290 Dynamic database query optimization. #3993
  • Transaction broadcast interface optimization. #4000
  • Database parameter optimization. #3992 #4018

TVM

  • TIP-272 Add a proposal to provide compatibility with Ethereum Virtual Machine. #4032
  • TIP-318 Add a proposal to be adapt to Ethereum London Release. #4032
  • The energy limit supports customization and the default value is increased in constant mode. #4032

API

  • Support `ETH` compatible JSON-RPC APIs excluding filter APIs. #4046
  • Support to disable specific APIs via the configuration file. #4045
  • Optimize the `TriggerConstantContract` API. #4032

Changes

  • Upgrade event plugin to support `BTTC` data. #4067
  • Increase the upper limit of the `MaxFeeLimit` network parameter. #4032
  • Optimize the quick deployment script `start.sh` [see detail]

GreatVoyage-v4.3.0



Notice


Mandatory upgrade

New Features


Core

  • TIP-292 Allow the FREE_NET_LIMIT parameter to be configurable. #3917
  • TIP-293 Allow the TOTAL_NET_LIMIT parameter to be configurable. #3917
  • TIP-295 Optimize the account data structure. #3906

TVM

  • TIP-271 Add vote instructions and precompile contracts in TVM. #3921
  • TIP-306 Add a new type: Error in smart contract ABI. #3921

API

  • Add a new field: energy_used in TransactionExtention. #3940

Changes

  • Change the Cryptography library to bouncy castle. #3919
  • Modify the calculation method of net_usage field value in the transaction info when creating new account. #3917
  • TIP-276 Optimize the block verification. #3910
  • TIP-285 Optimize the node startup. #3907
  • Optimize transaction processing flow to reduce memory usage. #3911

GreatVoyage-v4.2.2



Notice


Mandatory upgrade

New Features


Core

  • TIP-269 Optimize the performance of block processing. #3827
  • TIP-281 Optimize the database query performance. #3830
  • TIP-268 SmartContract ABI optimization. #3836

Changes

  • Optimize the initialization of the pre-complie contract BatchValidateSign. #3836
  • Optimize the processing logic of pending transactions. #3874

GreatVoyage-v4.2.1



Notice


Non-mandatory upgrade

New Features


Changes

  • Optimize the transaction history query interface.
  • Optimize the transaction processing.

GreatVoyage-v4.2



Notice


Mandatory upgrade

New Features


  • TIP-207 Optimize the resource model where freezing TRX can only obtain one of the three resources, namely bandwidth, energy, and TRON power.
  • TIP-157 Add freeze instructions in TVM.

Changes

  • issues-3737 Resolve the deadlock issue during the block synchronization.

GreatVoyage-v4.1.3



Notice


Non-mandatory upgrade

New Features


Core

  • TIP-238 Sorting the pending pool transactions, SR prioritize the transactions with high packing fee.#3656

API

  • Add new APIs to support transaction query from the pending pool.#3656
    • GetTransactionFromPending (BytesMessage) returns (Transaction): Get transaction information from pending pool.
    • GetTransactionListFromPending (EmptyMessage) returns (TransactionIdList): Get the transaction id list information in pending pool.
    • GetPendingSize (EmptyMessage) returns (NumberMessage): Get the size of the pending queue.

GreatVoyage-v4.1.2



Notice


Mandatory upgrade

New Features


Core

  • Support query account history balance.#3538
  • TIP-222 Add 49th proposal to allow blackhole account optimization.#3617
  • TIP-196 Reward SRs with the transaction fees charged for bandwidth and Energy.#3532

TVM

  • TIP-209 Adopt to solidity0.6.0.#3535
  • TIP-204 Add 47th proposal MAX_FEE_LIMIT to change maxfeelimit.#3534

API

  • Add some new API to support query account history balance.#3538
    • GetAccountBalance: query account balance
    • GetBlockBalance: query block balance

Changes

  • Use the jitpack repository to provide dependency support and make it easy for developers to use java-tron as a dependency for their projects.#3554

GreatVoyage-v4.1.1



New Features


Changes

  • Refactor some code to optimize the TVM performance. VM #3482 #3484 #3485

GreatVoyage-v4.1 Release



Notice


Mandatory upgrade

New Features


Core

  • TICP-Optimized-PBFT Introduce new TPOS consensus to speed up the confirmation of the block and related HTTP&gRPC APIs. #3082
  • TIP-128 Add a new node type: Lite Fullnode that can dramatically reduce the data volume of the node. #3031
  • TIP-127 Add new system contracts to support the exchange of token, including TRX and TRC-10. #3302

TVM

  • TIP-174 Add 1 new instruction (chainid) in TVM to distinguish the chains. #3351
    • CHAINID: used to get the genesis block id of the current chain.
  • TIP-175 Add 1 new instruction (selfbalance) in TVM to improve security. #3351
    • SELFBALANCE: used to get the balance of the current address.
  • TIP-176 Add altbn128 operation energy reduction in TVM. #3351

API

  • Add some APIs to get node metrics information. #3350
  • Add HTTP&gRPC APIs for pBFT. #3082
  • Add a new API GetContractInfo to get contract runtime code information. #3351
  • TIP-127 Add the APIs to support the exchange of token. #3302
    • MarketSellAsset: Create a market order
    • MarketCancelOrder: Cancel the order
    • GetMarketOrderByAccount: Get all orders for the account
    • GetMarketPairList: Get all trading pairs
    • GetMarketOrderListByPair: Get all orders for the trading pair
    • GetMarketPriceByPair: Get all prices for the trading pair
    • GetMarketOrderById: Get order by id

Changes

  • TIP-127Add market order detail into transactionInfo. #3302
  • Update docker deployment. #3330
  • Optimize TVM instruction CREATE2. #3351
  • Fix encoding problem in HTTP API when visible is set to true.#3469
  • Fix the event filter config not work. #3401
  • Fix an issue in the type DataWord. #3472

GreatVoyage-v4.0.1 Release


New Features


Changes

  • Improves the java-Tron upgrade mechanism and achieves more efficient decentralized governance (#3314).

GreatVoyage-v4.0.0 Release


Release 4.0 has implemented the shielded TRC-20 contract, which can hide the source address, destination address, and the token amount for TRC-20 transactions and provide users with better privacy. The shielded TRC-20 contract has three core functions: mint, transfer and burn. mint is used to transform the public TRC-20 token to shielded token; transfer is used for shielded token transactions; burn is used to transform the shielded token back to the public TRC-20 token. To support the shielded TRC-20 contract, four new zero-knowledge instructions (verifyMintProof, verifyTransferProof, verifyBurnProof and pedersenHash) are added in TVM, which make it convenient to provide privacy for arbitrary TRC-20 contract.


Notice


Mandatory upgrade

New Features


  • Add 4 new instructions (verifyMintProof, verifyTransferProof, verifyBurnProof and pedersenHash) in TVM to support TRC20 shielded transactions based on zk-SNARKs (#3172).
    • verifyMintProof: used to validate the zero-knowledge proof for mint function.
    • verifyTransferProof: used to validate the zero-knowledge proof for transfer function.
    • verifyBurnProof: used to validate the zero-knowledge proof for burn function.
    • pedersenHash: used to compute the Pedersen hash.
  • Update the initial parameters of zk-SNARKs scheme generated by the MPC Torch (#3210).
  • Add the APIs to support shielded TRC-20 contract transaction (#3172).
    • Create shielded contract parameters

      rpc CreateShieldedContractParameters (PrivateShieldedTRC20Parameters) returns (ShieldedTRC20Parameters) {}

    • Create shielded contract parameters without ask

      rpc CreateShieldedContractParametersWithoutAsk (PrivateShieldedTRC20ParametersWithoutAsk) returns (ShieldedTRC20Parameters) {}

    • Scan shielded TRC20 notes by ivk

      rpc ScanShieldedTRC20NotesByIvk (IvkDecryptTRC20Parameters) returns (DecryptNotesTRC20) {}

    • Scan shielded TRC20 notes by ovk

      rpc ScanShieldedTRC20NotesByOvk (OvkDecryptTRC20Parameters) returns (DecryptNotesTRC20) {}

    • Check if the shielded TRC20 note is spent

      rpc IsShieldedTRC20ContractNoteSpent (NfTRC20Parameters) returns (NullifierResult) {}

    • Get the trigger input for the shielded TRC20 contract

      rpc GetTriggerInputForShieldedTRC20Contract (ShieldedTRC20TriggerContractParameters) returns (BytesMessage) {}

  • Support the ovk to scan the transparent output of burn transaction (#3203).
  • Support the burn transaction with zero or one shielded output (#3224).
  • Add data field in transaction log trigger class for future memo note (#3200).
The following TIPs are implemented in this release:
  • TIP-135: Shielded TRC-20 contract standards, guarantee the privacy of the shielded transfer of TRC-20 tokens.
  • TIP-137 : Implements three zero-knowledge proof instructions in TVM to support the shielded TRC-20 contract (#3172).
  • TIP-138 : Implements the Pedersen hash computation instruction in TVM to support the shielded TRC-20 contract (#3172).

Changes

  • Check if null before getInstance when get transaction info from DB to fix exception of getTransactioninfoByBlkNum (#3165).

Odyssey-v3.7 Release


Notice


Non-mandatory upgrade


Changes


  • (#2533) Several independent modules are separated, including consensus module, crypto module, chainbase module, framework module, protocol module and actuator module, which makes decoupled code easier to be extended and enable developers to implement custom logic freely.
  • (#2947) Extend solidity event subscription trigger, user can get the event which is solidified.
  • (#2958) Add gettransactioninfobyblocknumAPI including HTTP and GRPC, user can get the list of transaction information by block number.
  • (#2352) Add broadcasthex API for HTTP, the user can broadcast the hex of the transaction.

Instructions


  • How to get the list of transaction information in a specific block: TRON Documentation
  • How to broadcast the hex of the transaction: TRON Documentation

Odyssey-v3.6.6 Release


Notice


Mandatory upgrade

New Features


Changes

  • #2766 Fix HTTP API updateBrokerage to support base58 encoding.
  • #2813 Extend the allowed instruction sets for off-chain smart contract call, including LOGn, SSTORE,CREATE, CREATE2, STATICCALL, SUICIDE instructions.
  • #2824 Remove the functionality “Forbid transfer asset to a smart contract using TransferContract and TransferAssetContract” from proposal 32 and implement it with a new proposal 35.

Odyssey-v3.6.5 Release


Notice


Mandatory upgrade

New Features


  • tronprotocol/tips#37 #2445 Prohibit using TransferContract & TransferAssetContract to transfer TRX and assets to smart contract account.
  • tronprotocol/tips#43 #2422 Add a new TVM instruction that supports parallel signature verification, speeding up the verification process and cutting Energy consumption.
  • tronprotocol/tips#44 #2323 Add a new TVM instruction to identify whether the account is a smart contract account or not.
  • tronprotocol/tips#53 #2464 Optimize the current TRX staking mechanism and move the dividend distribution to the On-Chain. The default value of the commission rate is set 20%.
  • tronprotocol/tips#54 #2439 Automatic activation of accounts when transferring TRX/TRC10 tokens in smart contracts.
  • tronprotocol/tips#60 #2471 Add a new TVM instruction that supports multi-signature verification.

Changes

  • #2407 Fix the issue of misreporting NullPointer exception on the occasion of triggerConstantContract transaction timeout.
  • #2457 Fix the bug that it can not load the localWitnessAccountAddress configured by the "keystore" config item if the SR modified the witness permission.
  • #2458 Fix the bug that resources for delegate can not be unfrozen after the contract account suicided and became a normal account.
  • #2462 Add triggerConstantContract feature for Solidity Node and FullNode Solidity interface.
  • #2463 Add proposals for modifying parameters of energy dynamic adjustment. The way to add up energy consumption is changed from adding up the freeze energy consumption to adding up all the energy consumption.
  • #2485 Fix the bug about there is no data for return of some solidity APIs.