Skip to content

Releases: tronprotocol/java-tron

GreatVoyage-v4.0.1

29 Jul 15:15
19f9780
Compare
Choose a tag to compare

Release Note:

Notices

Forced upgrade.

Changes

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

GreatVoyage-v4.0.0

07 Jul 13:11
@Yrp Yrp
742f321
Compare
Choose a tag to compare

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.

Notices

Forced 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).

    1. Create shielded contract parameters

    rpc CreateShieldedContractParameters (PrivateShieldedTRC20Parameters) returns (ShieldedTRC20Parameters) {}

    2. Create shielded contract parameters without ask

    rpc CreateShieldedContractParametersWithoutAsk (PrivateShieldedTRC20ParametersWithoutAsk) returns (ShieldedTRC20Parameters) {}

    3. Scan shielded TRC20 notes by ivk

    rpc ScanShieldedTRC20NotesByIvk (IvkDecryptTRC20Parameters) returns (DecryptNotesTRC20) {}

    4. Scan shielded TRC20 notes by ovk

    rpc ScanShieldedTRC20NotesByOvk (OvkDecryptTRC20Parameters) returns (DecryptNotesTRC20) {}

    5. Check if the shielded TRC20 note is spent

    rpc IsShieldedTRC20ContractNoteSpent (NfTRC20Parameters) returns (NullifierResult) {}

    6. 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

17 Mar 08:57
d73ac95
Compare
Choose a tag to compare

Notices

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

Odyssey-v3.6.6

13 Jan 06:49
aab6e09
Compare
Choose a tag to compare

Notices

Forced upgrade.

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 Notes

08 Oct 12:33
47bbce5
Compare
Choose a tag to compare

Notices

Forced 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.

Odyssey-v3.6.2

08 Aug 05:44
8d8ad48
Compare
Choose a tag to compare

Notices

  • Non-mandatory upgrade

Changes

  • #2389 Solving DUP_WITNESS Problem

Odyssey-v3.6.1

10 Jul 08:51
e9f8db0
Compare
Choose a tag to compare

Notices

  • Non-mandatory upgrade

Abstract

  • This version upgrade can reduce database occupancy and block loss rate.

Changes

  • #2276 Reduce database occupancy by optimizing transaction history store . TIP #41

  • #2282 Reduce block loss rate by optimizing network logic.

  • #2325 Reduce block loss rate by optimizing GC parameters.

Odyssey-v3.6.0

20 Jun 08:27
e7b88f4
Compare
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
Compare
Choose a tag to compare

Changes

Notices

  • Non-mandatory upgrade

Odyssey-v3.5.0.1

01 Mar 07:39
@Yrp Yrp
bdb69b9
Compare
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.