java-tron

Java implementation of the Tron whitepaper

LGPL-3.0 License

Stars
3.6K

Bot releases are hidden (Show)

java-tron - GreatVoyage-v4.2.1(Origen)

Published by zhang0125 over 3 years ago

Notices

New Features

Changes

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

Free will is the power of choosing good and evil.

java-tron - GreatVoyage-v4.2.0(Plato)

Published by forfreeday over 3 years ago

Notices

Forced upgrade

New Features

Core

  • TIP-207 Optimize the resource model where freezing TRX can only obtain one of the three resources, namely bandwidth, energy, and TRON power. #3726

TVM

  • TIP-157 Add freeze instructions in TVM. #3728

Changes

  • Optimize the block synchronization. #3732

The beginning is the most important part of the work.

java-tron - GreatVoyage-v4.1.3(Thales)

Published by forfreeday over 3 years ago

Notices

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.

If there is a change, there must be some thing that changes, yet does not change.

java-tron - GreatVoyage-v4.1.2

Published by Yrp over 3 years ago

Notices

Forced upgrade

New Features

Core

  • Support to perform historical balance lookup. #3538
  • Blackhole account optimization. #3608
  • TIP-196 Reward SRs with the transaction fees charged for bandwidth and Energy. #3532

TVM

  • TIP-209 Adopt to solidity0.6.0. #3535
    • The try/catch-statement currently only support revert-style error message, other error messages will be supported in future.
  • TIP-204 Allow to change maxfeelimit. #3534

API

  • Add new APIs to support to perform a historical balance lookup. #3538
    • GetAccountBalance: perform a historical balance lookup.
    • GetBlockBalance: fetch all balance-changing operations in a block.
    • GetBurnTrxAmount: query burned TRX amount

Changes

  • Support the jitpack repository to provide dependency support and make it easy for developers to use java-tron as a dependency for their projects. #3553
java-tron - GreatVoyage-v4.1.1

Published by tomatoishealthy almost 4 years ago

Changes

java-tron - GreatVoyage-v4.0.2

Published by Yrp almost 4 years ago

Changes

Fix an issue in the type DataWord. Updates are available here.

java-tron - GreatVoyage-v4.1.0

Published by tomatoishealthy almost 4 years ago

Notices

Forced upgrade

New Features

Core

  • TICP-Optimized-PBFT Introduce new TPOS consensus to speed up the confirmation of the block. #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-127 Add 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
java-tron - GreatVoyage-v4.0.1

Published by lvs007 about 4 years ago

Release Note:

Notices

Forced upgrade.

Changes

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

Published by Yrp over 4 years ago

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).
java-tron - Odyssey-v3.7

Published by ss3344520 over 4 years ago

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

java-tron - Odyssey-v3.6.6

Published by lvs007 almost 5 years ago

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.
java-tron - Odyssey-v3.6.5 Release Notes

Published by shydesky about 5 years ago

Notices

Forced upgrade

New Features

https://github.com/tronprotocol/tips/issues/37 #2445 Prohibit using TransferContract & TransferAssetContract to transfer TRX and assets to smart contract account.

https://github.com/tronprotocol/tips/issues/43 #2422 Add a new TVM instruction that supports parallel signature verification, speeding up the verification process and cutting Energy consumption.

https://github.com/tronprotocol/tips/issues/44 #2323 Add a new TVM instruction to identify whether the account is a smart contract account or not.

https://github.com/tronprotocol/tips/issues/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%.

https://github.com/tronprotocol/tips/issues/54 #2439 Automatic activation of accounts when transferring TRX/TRC10 tokens in smart contracts.

https://github.com/tronprotocol/tips/issues/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.

java-tron - Odyssey-v3.6.2

Published by ss3344520 about 5 years ago

Notices

  • Non-mandatory upgrade

Changes

  • #2389 Solving DUP_WITNESS Problem
java-tron - Odyssey-v3.6.1

Published by ss3344520 over 5 years ago

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.

java-tron - Odyssey-v3.6.0

Published by ithinker1991 over 5 years ago

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.
java-tron - Odyssey-v3.5.1

Published by ss3344520 over 5 years ago

Changes

Notices

  • Non-mandatory upgrade
java-tron - Odyssey-v3.5.0.1

Published by Yrp over 5 years ago

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.
java-tron - Odyssey-v3.5

Published by renchenchang over 5 years ago

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
java-tron - Odyssey-v3.2.5

Published by sean-liu55 over 5 years ago

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.

java-tron - Odyssey-v3.2.4

Published by wubin12 almost 6 years ago

Changes

(#1918) Optimize Cache to improve node performance.

Notices

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