Java implementation of the Tron whitepaper
LGPL-3.0 License
Bot releases are visible (Hide)
Published by zhang0125 over 3 years ago
Free will is the power of choosing good and evil.
Published by forfreeday over 3 years ago
Forced upgrade
The beginning is the most important part of the work.
Published by forfreeday over 3 years ago
Non-mandatory upgrade
If there is a change, there must be some thing that changes, yet does not change.
Published by Yrp over 3 years ago
Forced upgrade
Published by tomatoishealthy almost 4 years ago
Published by Yrp almost 4 years ago
Fix an issue in the type DataWord
. Updates are available here.
Published by tomatoishealthy almost 4 years ago
Forced upgrade
CHAINID
: used to get the genesis block id of the current chain.SELFBALANCE
: used to get the balance of the current address.GetContractInfo
to get contract runtime code information. #3351
MarketSellAsset
: Create a market orderMarketCancelOrder
: Cancel the orderGetMarketOrderByAccount
: Get all orders for the accountGetMarketPairList
: Get all trading pairsGetMarketOrderListByPair
: Get all orders for the trading pairGetMarketPriceByPair
: Get all prices for the trading pairGetMarketOrderById
: Get order by idPublished by lvs007 about 4 years ago
Release Note:
Forced upgrade.
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.
Forced upgrade
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:
getTransactioninfoByBlkNum
(#3165).Published by ss3344520 over 4 years ago
Non-mandatory upgrade
(#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 gettransactioninfobyblocknum
API 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.
How to get the list of transaction information in a specific block: TRON Documentation
How to broadcast the hex of the transaction: TRON Documentation
Published by lvs007 almost 5 years ago
Forced upgrade.
Published by shydesky about 5 years ago
Forced upgrade
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.
#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.
Published by ss3344520 about 5 years ago
Notices
Changes
Published by ss3344520 over 5 years ago
#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.
Published by ithinker1991 over 5 years ago
All the node must upgrade to this version.
create2
instruction for TVM, which returns a predictable contract address before deploy. TIP #26
extcodehash
instruction for TVM which returns the keccak256 hash of a contract's code. TIP#30
triggerConstantContract
API to support contracts which have no ABI. TIP #31
clearABI
API including http and grpc, contract's deployer can use this to clear his contract's existed ABI. TIP #32
Permission_id
field when returning the created transaction, compatible with multi-signature transactionstransfer
、send
or transferToken
failedAdd built-in message queue config. See here
event.subscribe.native.useNativeQueue
to control whether using built-in message queue . If true, use native message queue, else use event plugin.event.subscribe.native.bindport
to control bind port.event.subscribe.native.sendqueuelength
to control max length of send queue.For smart contact without ABI (after clear ABI or deploy without ABI)
triggerConstantContract
interface instead of triggerContract
. More details: TIP #31
For create2 instruction
create2
to genertate a new address . More details: TIP #31
create2
addresses will be reset.Published by ss3344520 over 5 years ago
(#2045)Refactor of sync & adv module, increase code readability and system scalability.
(#2028)RocksDB will be an option for the storage engine in the java-tron. The detail of the Rocksdb is described in this document. (https://github.com/tronprotocol/documentation/blob/master/TRX_CN/Tron-doc.md#471-rocksdb)
You can use RocksDB as storage engine when you want to back up the database without the node application stopped, you can check the usage of Rocksdb engine in the document. It has more tuning parameters for faster-synchronizing block and takes up less disk space when compared with the LevelDB.
The database needs to be reset if the DB engine has been changed, but a tool can be used for converting Leveldb data to Rocksdb data, the instructions about this tool can be found here: https://github.com/tronprotocol/documentation/blob/master/TRX_CN/Tron-doc.md#4714-leveldb-database-convert-to-rocksdb-database-english-verison
Add fast-forward feature and the miss rate of the block can be decreased by setting the forward node.
Published by Yrp over 5 years ago
Published by renchenchang over 5 years ago
Published by sean-liu55 over 5 years ago
Add two convenient transfer interfaces, including EasyTransferAsset
and EasyTransferAssetByPrivate
.
This version is only for nodes which need use the new interfaces. Fullnode does not need to be upgraded.
Published by wubin12 almost 6 years ago
(#1918) Optimize Cache to improve node performance.
If block synchronization is slow, you can use this version.