java-tron

Java implementation of the Tron whitepaper

LGPL-3.0 License

Stars
3.6K

Bot releases are hidden (Show)

java-tron - GreatVoyage-v4.7.4(Bias) Latest Release

Published by halibobo1205 7 months ago

Notice

Mandatory upgrade

New Features

Core

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

Change

  1. TIP-621: Add field codeVersion to HelloMessage to declare code version. (#5584, #5667)
  2. Bump libp2p to version 2.2.1 to fix some bugs. (#5694)
    • 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 is sent if the connection is active
  3. Bump jetty to 9.4.53.v20231009, fix CVE-2023-40167. (#5571)
  4. Refactor Gradle dependencies for version management. (#5625)
  5. Provide gRPC reflection service by calling with the grpcurl command. (#5583)
  6. Replace LiteFullNodeTool in the framework module with Toolkit.jar db lite in the plugin module. (#5650)
  7. Remove configuration item node.discovery.bind.ip and modify defaultconfig.conf. (#5597, #5750)
  8. Remove redundant CI scripts: checkStyle.sh, codecov.sh, querySonar.sh, sonar.sh. (#5580)
  9. Start API service first to avoid node startup error due to ports being occupied by P2P service. (#5711)
  10. 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
  11. Resolve ZeroMQ concurrency issue to avoid event data disturbance when the node enabling build-in message queue is in high load. (#5536)
  12. Optimize unexpected exception capture process of scalingFactor in API/wallet/createshieldedcontractparameters. (#5746)

API

  1. 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 available JAR files in this release are signed via this GPG key.
For more information about the GPG public key, please refer to: Integrity Check.

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: GPG signature verification


Be slow in considering, but resolute in action.

java-tron - GreatVoyage-v4.7.3.1(Solon)

Published by lvs007 9 months ago

Notice

Non-mandatory upgrade

New Features

Change

  • 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 available JAR files in this release are signed via this GPG key.
For more information about the GPG public key, please refer to: Integrity Check.

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: GPG signature verification


Do not counsel what is most pleasant, but what is best.

java-tron - GreatVoyage-v4.7.3(Chilon)

Published by lvs007 12 months ago

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.

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


Integrity Check

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

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: GPG signature verification


Do not desire impossible.

java-tron - GreatVoyage-v4.7.2(Periander)

Published by lvs007 over 1 year ago

Notice

This is a mandatory upgrade.

New Features

Core

  • Network module updated to Libp2p v1.2.0 #5017 #5304
    • Libp2p Support for IPv6
    • Node Discovery via DNS
    • P2P message snappy compression
    • Connection precheck before P2P communication
  • Optimize effective peer-acquiring strategy #5088
  • TIP-555 Network upgrade logic optimization #5247
  • TIP-541 Support canceling unstaking in Stake 2.0 #5230 #5260 #5279
  • TIP-542 Resource delegating supports customizable lock period #5255 #5260 #5264

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 monitoring metrics for JSON-RPC #5222
  • Remove auto-repair function for corrupted LevelDB data #5223
  • Upgrade JUnit from 4.12 to 4.13.2 #5244
  • Optimize checkpoint v2 recovery process #5224

API

  • Add global rate limiter #5093
  • API triggerconstantcontract and estimateenergy support estimation of energy consumed by creating contracts. #5079
  • TIP-544 Add data to the HTTP interfaces interacting with smart contract. #5079
  • Optimize getStorageAt return when querying contract created by create2 #5061

Integrity Check

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

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: GPG signature verification


Forethought in all things.

java-tron - GreatVoyage-v4.7.1.1(Pittacus)

Published by lvs007 over 1 year ago

Notice

Non-mandatory upgrade

New Features

TVM

  • Optimize the update logic of origin_energy_usage in transaction receipts #5120

API

  • TIP-534 Remove insecure APIs #5096
    • HTTP(8)
      • createaddress,generateaddress
      • easytransfer,easytransferbyprivate,easytransferasset,easytransferassetbyprivate
      • gettransactionsign,addtransactionsign
    • gRPC(9)
      • CreateAddress,GenerateAddress
      • EasyTransfer,EasyTransferByPrivate,EasyTransferAsset,EasyTransferAssetByPrivate
      • GetTransactionSign,GetTransactionSign2,AddSign
  • Optimize the return of GetTransactionInfoById and GetDelegatedResourceV2 interfaces #5120 #5123

Integrity Check

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

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: GPG signature verification


Whatever you do, do it well.

java-tron - GreatVoyage-v4.7.1(Sartre)

Published by lvs007 over 1 year ago

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

Integrity Check

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

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: GPG signature verification


The more sand that has escaped from the hourglass of our life, the clearer we should see through it

java-tron - GreatVoyage-v4.7.0.1(Aristotle)

Published by zhang0125 over 1 year ago

Notice

Forced upgrade

New Features

Core

  • TIP-467 Stake 2.0 - the new stake mechanism #4838
  • Optimize performance,lower non-heap memory usage, enhance data query performance #4740 #4756 #4792
  • Add libp2p module as java-tron p2p network protocol implementation #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

Changes

  • Optimize Gradle built by setting JVM from 512M to 1G to improve stability of compiling #4837
  • Optimize node conditional stop function, multi-condition configuring are disabled #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
  • Optimize LevelDB,RocksDB log output to tron.log #4833
  • Fix the incompatibility issue between grpc-java and netty #4928

API

  • Add energy estimation API: /wallet/estimateenergy #4873
  • TIP-467 Add Stake 2.0 related APIs
    • /wallet/freezebalancev2: stake TRX to obtain TRON Power (voting rights) and bandwidth or energy
    • /wallet/unfreezebalancev2: unstake TRX to release bandwidth and energy and at the same time TRON Power will be reduced and all corresponding votes will be canceled
    • /wallet/delegateresource: delegate resource
    • /wallet/undelegateresource: undelegate API
    • /wallet/withdrawexpireunfreeze: withdraw unfrozen balance API
    • /wallet/getavailableunfreezecount: remaining times of available unstaking API
    • /wallet/getcanwithdrawunfreezeamount: query the withdrawable balance at the specified timestamp
    • /wallet/getcandelegatedmaxsize: query the amount of delegatable resources of the specified resource Type for target addres
    • /wallet/getdelegatedresourcev2: query the amount of resources detail delegated by fromAddress to toAddress
    • /wallet/getdelegatedresourceaccountindexv2: query the resource delegation index by an account

Integrity Check

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

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: GPG signature verification


Courage is the first of human qualities because it is the quality which guarantees the others.

java-tron - GreatVoyage-v4.6.0(Socrates)

Published by lvs007 almost 2 years ago

Notices

Forced upgrade

New Features

Core

  • TIP-461 Upgrade checkpoint mechanism to V2 in database module #4614
  • TIP-476 Optimize delegate relationship 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
  • Change the unit of timestamp in the return value of eth_getBlockByNumber and eth_getBlockByHash from milliseconds to seconds to be consistent with ETH #4642

To move the world we must move ourselves.

java-tron - GreatVoyage-v4.5.2(Aurelius)

Published by lvs007 about 2 years ago

Notices

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 efficiency #4549
  • Optimize block generating logic #4387
  • Optimize fork switching logic #4583
  • Add tools for database storage #4545 #4559 #4563

API

  • Add query header API #4492 #4552

Changes

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

The universe is change; our life is what our thoughts make it.

java-tron - GreatVoyage-v4.5.1(Tertullian)

Published by forfreeday over 2 years ago

Notices

Forced 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

Hope is patience with the lamp lit

java-tron - GreatVoyage-v4.4.6(David)

Published by forfreeday over 2 years ago

Notices

New Features

Changes

  • Upgrade fastjson version

Beauty in things exists in the mind which contemplates them.

java-tron - GreatVoyage-v4.4.5(Cicero)

Published by halibobo1205 over 2 years ago

Notices

Non-mandatory upgrade

New Features

Changes

  • Optimize query interface

No one can give you better advice than yourself

java-tron - GreatVoyage-v4.4.4(Plotinus)

Published by forfreeday over 2 years ago

Notices

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

The world is knowable, harmonious, and good.

java-tron - GreatVoyage-v4.4.3(Pythagoras)

Published by forfreeday almost 3 years ago

Notices

Non-mandatory upgrade

New Features

Changes

  • As an additional precaution, in addition to upgrading to logback version 1.2.9
  • we also recommend that users set their logback.xml configuration file to read-only

logback official news

http://logback.qos.ch/news.html


Silence is better than unmeaning words.

java-tron - GreatVoyage-v4.4.2(Augustinus)

Published by forfreeday almost 3 years ago

Notices

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

Patience is the companion of wisdom.

java-tron - GreatVoyage-v4.4.1(Protagoras)

Published by forfreeday almost 3 years ago

Notices

Non-mandatory upgrade

New Features

Changes

  • issues-4122 Solved the problem caused by database optimization. #4124
    Notes: Two solutions are proposed in this release, you can choose any one of them.
    • Restart the node with the latest configuration file. config file
    • changing the system file descriptor's to unrestricted before the node starts.

There are two sides to every question.

java-tron - GreatVoyage-v4.4.0(Rousseau)

Published by xq-lu about 3 years ago

Notices

Forced 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

The world of reality has its limits; the world of imagination is boundless.

java-tron - GreatVoyage-v4.3.0(Bacon)

Published by forfreeday about 3 years ago

Notices

Forced upgrade

New Features

Core

  • TIP-292 Add a proposal to adjust the free net limit in an account. #3917
  • TIP-293 Add a proposal to adjust the total net limit. #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
  • TIP-298 Add new plugin to optimize the performance of levedb startup. #3925
    • Usage examples:
      execute before starting java-tron java -jar ArchiveManifest.jar (see detail).

Knowledge is power.

java-tron - GreatVoyage-v4.2.2.1(Epictetus)

Published by xq-lu over 3 years ago

Notices

Non-mandatory upgrade

New Features

Changes

  • Optimize the processing logic of pending transactions #3874

Scope

  • If event services are enabled, you need to upgrade this version

No great thing is created suddenly.

java-tron - GreatVoyage-v4.2.2(Lucretius)

Published by zhang0125 over 3 years ago

Notices

Forced 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

Truths kindle light for truths.