java-tron

Java implementation of the Tron whitepaper

LGPL-3.0 License

Stars
3.6K

Bot releases are visible (Hide)

java-tron - Odyssey-v3.2.3

Published by Yrp almost 6 years ago

Changes

  • (#1861) Enhancing token value safety check
  • (#1869) Improving performance that SR produce the block and reducing block miss rate
java-tron - Odyssey-v3.2.2

Published by Yrp almost 6 years ago

Notice

All the node must upgrade to this version

Changes

  • (#1808 #1815) Provide the RPC and HTTP interface services of the SolidityNode on the FullNode.
  1. These two services are available only when storage.db.version=2 (See here)
  2. The HTTP service port is node.http.solidityPort, the default value is 8091. The RPC service port is node.rpc.solidityPort; the default value is 50061. You can modify the port in the configuration file. Http port see here, RPC port see here
  • (#1811) Add a switch to save the internal transaction. The switch status can be configured via the configuration item vm.saveInternalTx, the default is false.See here
  • (#1818) Add more unit test about the proposal AllowSameTokenName
  • (#1803) Perfecting transaction broadcasting interface
  1. If there is no connection, return code: NO_CONNECTION
  2. If the effective connection is not enough, return code: NOT_ENOUGH_EFFECTIVE_CONNECTION
  3. If NO_CONNECTION or NOT_ENOUGH_EFFECTIVE_CONNECTION returns, you can rebroadcast the transaction after a while
  • (#1803) Solving the problem of solidity node not synchronizing blocks
    (#1807) Add a switch to control database write strategy; the default setting is false. See here
  1. Synchronous writing is "true", else Asynchronous writing is "false".
  2. Asynchronous writing significantly improves the performance of the FullNode and SolidityNode sync block.
  3. If asynchronous, the write is flushed from the operating system buffer cache. If the machine crashes, some recent writes may be lost. Note that if it is just the process that crashes (i.e., the machine does not reboot), no writes are lost;
  4. If synchronous, writes are flushed into levelDB directly. No writes are lost when the machine crashes, but it is slow.
  • (#1807) Vastly improved processing block speed, especially when machine performance is poor.
  • (#1807) Compress transaction space, reducing database space by 25%.
  • (#1807) Add a switch to put the transaction result into the transactionHistory database; the default setting is on. See here
  1. Turning off the switch saves a lot of hard disk space;
  2. You can turn off the switch if you don't need the interface getransactioninfobyid.
java-tron - Odyssey-v3.2.1.2

Published by Yrp almost 6 years ago

Fixes

  • Fixed an issue where Soliditinode could not be synced(issue: #1828)

Notices

This version is only for Soliditynode which cannot synchronize blocks. Fullnode does not need to be upgraded

java-tron - Odyssey-v3.2.1

Published by Yrp almost 6 years ago

Changes

(#1793) SolidityNode can use the fullnode database:

  1. Stop Fullnode and Soliditynode
  2. delete output-directory on the Soliditynode
  3. Copy the Fullnode database(output-directory) to the SolidityNode directory
  4. Start Fullnode and SolidityNode

(#1796) Add the minimum effective connections configuration for broadcasting transactions,you need to upgrade if you want to broadcast without connections. Transactions can only be broadcast if the number of effective connections is reached in the config file (node.rpc.minEffectiveConnection = 1).

Notices

This is the only difference from Odyssey-v3.2, you don't need to upgrade this version if you don't use this feature.

java-tron - Odyssey-v3.2

Published by olenheim almost 6 years ago

New Features

New In-Memory Database

A new version of the in-memory database is provided. The in-memory database is safer and more stable. The database is guaranteed to be available regardless of whether the program terminates abnormally (kill -9 or other) or the machine is down. The cost is a little performance loss and higher requirements on the machine. It can be enabled in the configuration by modifying db.version=2 (the default configuration is 1, the old database), If the configuration item does not exist in your configuration file, the program will also run with dbversion=2.

TRC10 Token Support For TVM

Smart contract can be triggered with TRC10 value. TRC10 asserts can be transferred in smart contract inside. It will be more flexibility than ever.

Support Of Resource Delegation

User can freeze trx to obtain Energy for other user. so the developer who has not enough trx can ask other users to freeze trx for him to deploy and run his smart contract.

  • Allow to issue token with a duplicate name,so that tokenID of the token, a long integer type data, can be as the identification of token.
  • Allow to issue token with setting the decimal point, which is used to improve the accuracy.
  • Add a resource capacity adjustment proposal.
  • Adding transaction execution results to the transactionInfo.
  • Add and fix some interfaces of GRPC and HTTP:
  • Add origin_energy_limit for smart contract.
  • Internal transaction support.
  • Add transaction processing priority.
  • Add an interface to get monitoring information of a node

Changes

  • Solving the problem of simultaneous production block at the same witness.
  • Resolving peer synchronization problem.
java-tron - Odyssey-v3.1.3

Published by Yrp almost 6 years ago

Note

  1. This version improves SolidityNode block synchronization performance by turning off the index, but the interfaces getTransactionById, getTransactionsFromThis and getTransactionsToThis will not be available, since these three interfaces depend on the index. If the SolidityNode sync block is slow, you can use this version, it will greatly speed up block synchronization. Otherwise, there is no need to upgrade this version.

Improve

  1. Add switch option for transaction index in solidityNode.
  2. Turning off the index will significantly improve the performance of the SolidityNode sync block
  3. If the index is turned off, the interfaces getTransactionById, getTransactionsFromThis and getTransactionsToThis will not be available.
  4. A new feature for SolidityNode. If you don't use an index, that is, without using the interfaces getTransactionById, getTransactionsFromThis and getTransactionsToThis, you can copy the FullNode database to the SolidityNode to sync block.
  5. The interface totalTransaction is deprecated, because this interface takes a very long time.

Using

  1. Need to manually modify the configuration file to turn off the index.
  2. To turn off index, add index.switch = "off" under index.directory in the configuration file(default value is "on", refer to the relevant configuration of this configuration file).
java-tron - Odyssey-v3.1.2

Published by huzhenyuan about 6 years ago

Fix bug

  • fix solidity block hash issue
  • set default cpu time ratio to [0, 5]
java-tron - Odyssey-v3.1.1

Published by huzhenyuan about 6 years ago

Improve

  • Optimize tvm performance
  • Optimize network connection stability
  • Add log config
  • Update some coding style
  • Add more test case
java-tron - Odyssey-v3.1.0

Published by Yrp about 6 years ago

Improve

  • Add time tolerance, to narrow the gap of different machine's performance
  • Correct the bill when timeout exception
  • Optimize the exception handling in vm
  • Add http interface about proposal and exchange
  • Add expected quant in exchange transaction contract
  • Add precision limit in exchange withdraw contract

Bugfix

  • Fix an exception caused by missing blocks during maintenance
  • Fix hash generated function for InternalTransaction to avoid duplicate value when trigger a inner contract call
  • Fixed compatibility issues with code creation in windows environments
java-tron - Odyssey-v3.0.1

Published by zhaohong about 6 years ago

1、Optimize TVM performance
2、Recalc size of transaction result
3、Create contract using child deposit
4、comment out precompile instance

java-tron - Odyssey-v3.0 with TVM

Published by zhaohong about 6 years ago

Notice
SR should fully test this version on test net before updating to this version.

Odyssey 3.0 Official Version Features

  1. The Committee Feature
  2. Unique committee mechanism: one proposal requires the signature of each SR in turn
  3. More than 20 parameters can be governed by the committee
  4. The VM feature will be activated by the committee
  5. The VM Feature
  6. Decentralized exchanges
  7. Decentralized exchanges that support token transactions in the TRON network to improve token liquidity
  8. Greatly enhances the TRON ecosystem
  9. TRON decentralized database
  10. The decentralized database will be released with Version 3.0
  11. Able to switched to the new version of the database by configuration
  12. Significantly reduce IO and effectively improve TPS
  13. Multi-thread management of pending queues
  14. P2P network
  15. Optimized security; increased random channel selection to avoid malicious attacks
  16. Optimized overall network architecture: one server with multiple backups

Introduction of TVM Features

  1. Fully compatible with Ethereum
  2. Fully compatible with Ethereum's Solidity language. Ethereum's DApps can be deployed on TRON without any modification, which reduces secondary development costs
  3. Unique virtual memory mechanism,
  4. Significantly reduces the amount of physical memory usage, greatly reducing the running cost of DApps
  5. Unique resource management model
  6. The entire VM system uses bandwidth and energy to represent aggregate system resources. The underlying concept of memory, cpu, etc. is shielded, improving accessibility of the system and reducing the learning cost for DApp development.
java-tron - Odyssey-v2.0.8.1

Published by Yrp about 6 years ago

Improve

  1. resolve levelDB could not create random access file on Windows

Note

  1. Linux users do not need to upgrade.
  2. Windows users running this version of the program need to delete the db.
java-tron - Odyssey-v2.0.8

Published by Yrp about 6 years ago

Release v2.0.8 adds optimizations to the querying system, and does not need to delete the database compared to 2.0.7.
We recommend everyone update to the latest release, but it is not mandatory for Super Representatives.

Improvements

  • Improved query performance for RPC calls.
java-tron - Odyssey-v2.0.7

Published by Yrp about 6 years ago

Note

Solidity Node using this version need to delete the database compared to Odyssey-v2.0.8. This is the only difference between the two versions. If you don't want to delete the database, you can use Odyssey-v2.0.8 please.

Release v2.0.7 adds optimizations to the querying system.
We recommend everyone update to the latest release, but it is not mandatory for Super Representatives.

Improvements

  • Improved query performance for RPC calls.
java-tron - Odyssey-v2.0.6

Published by zhaohong over 6 years ago

Release v2.0.6 adds new functionality and fixes some non-critical issues.
We recommend everyone update to the latest release, but it is not mandatory for Super Representatives.

Introducing HTTP gateway support

This release adds native HTTP Gateway support to the FullNode and SolidityNode.

  • Read the Documentation
  • Parameters are encoded in hex, returned in hex or base58 for addresses
  • Expanded functionality compared to grpc-gateway
  • Fully tested and supported

Issues Addressed

  • Fixed a bug when syncing exisiting network blocks could fail in special conditions.
java-tron - Odyssey-v2.0.4.1

Published by zhaohong over 6 years ago

leave message.

java-tron - Odyssey-v2.0.5

Published by zhaohong over 6 years ago

  1. add active node and passive node
  2. leave a message.
java-tron - Odyssey-v2.0.4

Published by zhaohong over 6 years ago

java-tron - Odyssey-v2.0.3

Published by nanfengpo over 6 years ago

java-tron - Odyssey-v2.0.2

Published by zhaohong over 6 years ago

add backup feature