Current Version:


Odyssey-v4.0.0 Beta version    Branch name:release_3.7_nodes_multi_witness


Notice


This version is a test version for opening anonymous transactions.

3.6.5 new features have been incorporated.

In order to keep up with online anonymous transactions, synchronize the database from the beginning will encounter problems, so you need to start syncing from this database:

http://47.252.81.247


Historical Edition:


Odyssey-v3.6.5


Notice


Forced upgrade.

Release note


New Features

  • #2445 Prohibit using TransferContract & TransferAssetContract to transfer TRX and assets to smart contract account. TIP #37
  • #2422 Add a new TVM instruction that supports parallel signature verification, speeding up the verification process and cutting Energy consumption. TIP #43
  • #2422 Add a new TVM instruction to identify whether the account is a smart contract account or not. TIP #44
  • #2464 Optimize the current TRX staking mechanism and move the dividend distribution to the On-Chain. The default value of commission rate is set the 20%. TIP #53
  • #2439 Automatic activation of accounts when transferring TRX/TRC10 tokens in smart contracts. TIP #54
  • #2471 Add a new TVM instruction that supports multi-signature verification. TIP #60

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

Notices

  • Forced upgrade

Introduction


TRON shielded transaction uses zk-SNARK(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) to implement a completely anonymous transaction.

In TRON network, the sender and the receiver's address and transfer amount can both be completely confidential.

In TRON network, there are two types of address:

  • "t-addr" (Transparent Address)
  • "z-addr" (Shielded Address)

"t-addr" address uses TRON account model.

"z-addr" address uses Anonymous account model.

In TRON network, there are four types of transfer transaction:

  • From "t-addr" to "t-addr": All the transaction information of the two addresses can be tracked.
  • From "t-addr" to "z-addr": The transaction information of "t-addr" can be tracked, "z-addr" can not be tracked.
  • From "z-addr" to "z-addr": The transaction information of both "z-addr" can not be tracked.
  • From "z-addr" to "t-addr": The transaction information of both "t-addr" can be tracked, "z-addr" can not be tracked.

Wallet-cli


The branch that supports shielded transaction in wallet-cli is:feature/zk_snark_2.

Shielded transaction related commands in wallet-cli:

  • generateshieldaddress
  • sendshieldcoin
  • sendshieldcoinwithoutask
  • listshieldnote
  • scannotebyaddress
  • scannotebyovk
  • getshieldnullifier
  • scanandmarknotebyaddress

Details link


Click to see details of anonymous transactions




Historical Edition:


Odyssey-v3.6.0


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.