Skip to content

Releases: tronprotocol/java-tron

Odyssey-v3.6.0

20 Jun 08:27
e7b88f4

Choose a tag to compare

Notice

All the node must upgrade to this version.

Release note

New Features

  • #2070 Add create2 instruction for TVM, which returns a predictable contract address before deploy. TIP #26
  • #2069 Add bitwise shifting instructions for TVM to reduce energy consumption of shift. TIP #29
  • #2075 Add extcodehash instruction for TVM which returns the keccak256 hash of a contract's code. TIP#30
  • #2125 Add triggerConstantContract API to support contracts which have no ABI. TIP #31
  • #2125 Add clearABI API including http and grpc, contract's deployer can use this to clear his contract's existed ABI. TIP #32
  • #2093 Add built-in message queue for event subscribe. TIP #28
  • #2047 Add protocol data check
  • #2154 Add the Permission_id field when returning the created transaction, compatible with multi-signature transactions

Changes

  • #2142 Support event subscription without abi
  • #2173 Optimize erengy deduction strategy in TVM when transfer sendor transferToken failed
  • #2141 Optimize the HTTP interface by adding the visible parameter to support the convenience type of addresses and strings, and add the AccountID related interface
  • #2182 Optimize http/grpc broadcast transaction interface
  • #2155 Optimize the process of block broadcasting
  • #2219 Fix the problem that the http interface parses the long type value for a long time.

Notices

  • Add built-in message queue config. See here

    • use event.subscribe.native.useNativeQueue to control whether using built-in message queue . If true, use native message queue, else use event plugin.
    • use event.subscribe.native.bindport to control bind port.
    • use event.subscribe.native.sendqueuelength to control max length of send queue.
  • For smart contact without ABI (after clear ABI or deploy without ABI)

    • If you want to call the constant method, you must use the triggerConstantContract interface instead of triggerContract . More details: TIP #31
    • If you need event subscription, you need to subscribe to and upload ABI using version 3.6+. More details: tron-eventquery.md
    • After clearABI, it is not possible to re-add ABI to the same contract address.
  • For create2 instruction

    • If you want to use create2 to genertate a new address . More details: TIP #31
    • After suicide, the storage of create2 addresses will be reset.
    • If deployed on a normal address (created by transfer trx), the address will be modified to the contract address. The resources (bandwidth and energy) previously delegated to this address are cleared, and do not affect the unfreeze operation of the client.

Odyssey-v3.5.1

10 Apr 07:16
524896b

Choose a tag to compare

Changes

Notices

  • Non-mandatory upgrade

Odyssey-v3.5.0.1

01 Mar 07:39
@Yrp Yrp
bdb69b9

Choose a tag to compare

Changes

  • (#2023) Fixed an issue: in a specific case, the CPU single core usage rate reached 90%, but had no effect on the overall performance.

Odyssey-v3.5

01 Mar 04:52
cb0c5a3

Choose a tag to compare

New Features

(#1903) Multiple signatures support and different permissions support in accout

  • An account can set different permissions.
  • Each permission has a threshold and can be managed by different accounts. Each account in a permission has a weight.
  • Each transaction created by an account should be authorized by a permisson in the account.
  • Transaction should be signed by the accounts in the permisson. The signatures are valid if the sum of weight of all signed accouts is equal or greater than the threshold of the permission.
  • The transaction will not be saved into block chain until the signatures become valid.

(#1876 )The upper limit of energy can be adjusted automatically by the current state of the network

(#1905) Develop a new mechanism to listen event message from a queue

Changes

(#1873) Solved the Compatibility Problem between Backup and DUP_WITNESS

(#1907) Optimize duplicate check of transaction, Increase processing speed

(#1893) Transfertoken function security improvement

(#1893) ADDRESS and ORIGIN instruction security improvements

(#1929) Improve the partial UNKNOWN execution results of the smart contract to a more detailed error type

Log optimization

  • (#1865) log is printed in modules
  • (#1872) log configuration file (logbak. xml) can be specified by parameters --log-config

Http interface

  • (#2009) remove txid in response of triggersmartcontract
  • (#2008) fix a bug about updatewitness
  • (#2006) limit the body size in request

Odyssey-v3.2.5

25 Jan 08:01
7644726

Choose a tag to compare

Changes

Add two convenient transfer interfaces, including EasyTransferAsset and EasyTransferAssetByPrivate .

Notices

This version is only for nodes which need use the new interfaces. Fullnode does not need to be upgraded.

Odyssey-v3.2.4

14 Jan 07:50
4d56578

Choose a tag to compare

Changes

(#1918) Optimize Cache to improve node performance.

Notices

If block synchronization is slow, you can use this version.

Odyssey-v3.2.3

24 Dec 09:33
@Yrp Yrp
4671374

Choose a tag to compare

Changes

  • (#1861) Enhancing token value safety check
  • (#1869) Improving performance that SR produce the block and reducing block miss rate

Odyssey-v3.2.2

17 Dec 09:16
@Yrp Yrp
eed364d

Choose a tag to compare

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.

Odyssey-v3.2.1.2

07 Dec 08:37
@Yrp Yrp

Choose a tag to compare

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

Odyssey-v3.2.1

30 Nov 10:56
@Yrp Yrp
223777c

Choose a tag to compare

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.