Get desktop application:
View/edit binary Protocol Buffers messages
Transactions:
voting&SRs
rpc CreateCommonTransaction(Transaction) returns (TransactionExtention) {} rpc CreateAccount(AccountCreateContract) returns (Transaction) {} rpc CreateAccount2(AccountCreateContract) returns (TransactionExtention) {} rpc UpdateAccount(AccountUpdateContract) returns (Transaction) {} rpc UpdateAccount2(AccountUpdateContract) returns (TransactionExtention) {} rpc SetAccountId(SetAccountIdContract) returns (Transaction) {} rpc AccountPermissionUpdate(AccountPermissionUpdateContract) returns (TransactionExtention) {} rpc CreateTransaction(TransferContract) returns (Transaction) {} rpc CreateTransaction2(TransferContract) returns (TransactionExtention) {} rpc CreateAssetIssue(AssetIssueContract) returns (Transaction) {} rpc CreateAssetIssue2(AssetIssueContract) returns (TransactionExtention) {} rpc UpdateAsset(UpdateAssetContract) returns (Transaction) {} rpc UpdateAsset2(UpdateAssetContract) returns (TransactionExtention) {} rpc TransferAsset(TransferAssetContract) returns (Transaction) {} rpc TransferAsset2(TransferAssetContract) returns (TransactionExtention) {} rpc ParticipateAssetIssue(ParticipateAssetIssueContract) returns (Transaction) {} rpc ParticipateAssetIssue2(ParticipateAssetIssueContract) returns (TransactionExtention) {} rpc UnfreezeAsset(UnfreezeAssetContract) returns (Transaction) {} rpc UnfreezeAsset2(UnfreezeAssetContract) returns (TransactionExtention) {} rpc CreateWitness(WitnessCreateContract) returns (Transaction) {} rpc CreateWitness2(WitnessCreateContract) returns (TransactionExtention) {} rpc UpdateWitness(WitnessUpdateContract) returns (Transaction) {} rpc UpdateWitness2(WitnessUpdateContract) returns (TransactionExtention) {} rpc UpdateBrokerage(UpdateBrokerageContract) returns (TransactionExtention) {} rpc VoteWitnessAccount(VoteWitnessContract) returns (Transaction) {} rpc VoteWitnessAccount2(VoteWitnessContract) returns (TransactionExtention) {} rpc FreezeBalance(FreezeBalanceContract) returns (Transaction) {} rpc FreezeBalance2(FreezeBalanceContract) returns (TransactionExtention) {} rpc UnfreezeBalance(UnfreezeBalanceContract) returns (Transaction) {} rpc UnfreezeBalance2(UnfreezeBalanceContract) returns (TransactionExtention) {} rpc WithdrawBalance(WithdrawBalanceContract) returns (Transaction) {} rpc WithdrawBalance2(WithdrawBalanceContract) returns (TransactionExtention) {} rpc ProposalCreate(ProposalCreateContract) returns (TransactionExtention) {} rpc ProposalApprove(ProposalApproveContract) returns (TransactionExtention) {} rpc ProposalDelete(ProposalDeleteContract) returns (TransactionExtention) {}
FLAW: Although the parameters' type is changed, it is still bad API design.
deprecated
query resource price
BlockIdentifier parent_block_identifier = 4;
NOTE: `GetBlockById2` is missing. The closest is `GetBlockByLatestNum2`.
deprecated
Use this function instead of GetBlockByNum.
query the network
FLAW: Abusing of `info`. Should be a `GetContractCode`.
- Shielded TRC20
Market API:
The real APIs:
connect information
FLAW: Unsafe shielded junk(should be implemented offline).
pending pool
FLAW: Unsafe junk.
What's the fucking API design
Gossip node list
Shielded helpers:
java-tron return default 0
rpc UpdateSetting(UpdateSettingContract) returns (TransactionExtention) {} // consume_user_resource_percent rpc UpdateEnergyLimit(UpdateEnergyLimitContract) returns (TransactionExtention) {} // origin_energy_limit rpc ClearContractABI(ClearABIContract) returns (TransactionExtention) {}
NOTE: All other solidified APIs are useless.
query resource price
Account
Used as response type in: Wallet.GetAccount, Wallet.GetAccountById, WalletSolidity.GetAccount, WalletSolidity.GetAccountById
account nick name
the create address
the trx balance
the votes
the other asset owned by this account
the other asset owned by this account,key is assetId
the frozen balance for bandwidth
bandwidth, get from frozen
Frozen balance provided by other accounts to this account
Freeze and provide balances to other accounts
this account create time
this last operation time, including transfer, voting and so on. //FIXME fix grammar
witness block producing allowance
last withdraw time
not used so far
frozen asset(for asset issuer)
asset_issued_name
the identity of this account, case insensitive
Used in:
energy resource, get from frozen
the frozen balance for energy
Frozen balance provided by other accounts to this account
Frozen balances provided to other accounts
storage resource, get from market
Used in:
frozen balance
Used in: ,
the frozen trx balance
the expire time
Used in:
NOTE: This is used to replace the design flaw of GetAccount.
Used as request type in: Wallet.GetAccount, Wallet.GetAccountNet, Wallet.GetAccountResource, Wallet.GetAssetIssueByAccount, WalletSolidity.GetAccount
Used in:
Used as request type in: Wallet.GetAccountById, WalletSolidity.GetAccountById
Empty is invalidate
Can be empty
Empty is invalidate
Used in: ,
Update account name. Account name is not unique now.
Used as response type in: Wallet.GetAssetIssueById, Wallet.GetAssetIssueByName, WalletSolidity.GetAssetIssueById, WalletSolidity.GetAssetIssueByName
Used as field type in:
useless
Used in:
Used as response type in: Wallet.GetAssetIssueByAccount, Wallet.GetAssetIssueList, Wallet.GetAssetIssueListByName, Wallet.GetPaginatedAssetIssueList, WalletSolidity.GetAssetIssueList, WalletSolidity.GetAssetIssueListByName, WalletSolidity.GetPaginatedAssetIssueList
block
Used as response type in: Wallet.GetBlockById, Wallet.GetBlockByNum, Wallet.GetNowBlock, WalletSolidity.GetBlockByNum, WalletSolidity.GetNowBlock
Used as field type in:
Used as response type in: Wallet.GetBlock, Wallet.GetBlockByNum2, Wallet.GetNowBlock2, WalletSolidity.GetBlock, WalletSolidity.GetBlockByNum2, WalletSolidity.GetNowBlock2
Used as field type in:
Used in: ,
Used in:
bytes nonce = 5; bytes difficulty = 6;
Used as request type in: Wallet.GetBlockBalanceTrace
Used as field type in:
Used as request type in: Wallet.GetBlockByLimitNext, Wallet.GetBlockByLimitNext2
Used as response type in: Wallet.GetBlockByLatestNum, Wallet.GetBlockByLimitNext
Used as response type in: Wallet.GetBlockByLatestNum2, Wallet.GetBlockByLimitNext2
Used as request type in: Wallet.GetBlock, WalletSolidity.GetBlock
Used as request type in: Wallet.CreateAddress, Wallet.GetAkFromAsk, Wallet.GetAssetIssueById, Wallet.GetAssetIssueByName, Wallet.GetAssetIssueListByName, Wallet.GetBlockById, Wallet.GetBrokerageInfo, Wallet.GetContract, Wallet.GetContractInfo, Wallet.GetDelegatedResourceAccountIndex, Wallet.GetDelegatedResourceAccountIndexV2, Wallet.GetExchangeById, Wallet.GetExpandedSpendingKey, Wallet.GetMarketOrderByAccount, Wallet.GetMarketOrderById, Wallet.GetNkFromNsk, Wallet.GetProposalById, Wallet.GetRewardInfo, Wallet.GetTransactionById, Wallet.GetTransactionFromPending, Wallet.GetTransactionInfoById, WalletSolidity.GetAssetIssueById, WalletSolidity.GetAssetIssueByName, WalletSolidity.GetAssetIssueListByName, WalletSolidity.GetBrokerageInfo, WalletSolidity.GetDelegatedResourceAccountIndex, WalletSolidity.GetDelegatedResourceAccountIndexV2, WalletSolidity.GetExchangeById, WalletSolidity.GetMarketOrderByAccount, WalletSolidity.GetMarketOrderById, WalletSolidity.GetRewardInfo, WalletSolidity.GetTransactionById, WalletSolidity.GetTransactionInfoById
Used as response type in: Wallet.CreateAddress, Wallet.GetAkFromAsk, Wallet.GetNkFromNsk, Wallet.GetRcm, Wallet.GetSpendingKey, Wallet.GetTriggerInputForShieldedTRC20Contract
Used as field type in:
Used as request type in: Wallet.GetCanDelegatedMaxSize, WalletSolidity.GetCanDelegatedMaxSize
Used as response type in: Wallet.GetCanDelegatedMaxSize, WalletSolidity.GetCanDelegatedMaxSize
Stake 2.0
Used as request type in: Wallet.GetCanWithdrawUnfreezeAmount, WalletSolidity.GetCanWithdrawUnfreezeAmount
Used as response type in: Wallet.GetCanWithdrawUnfreezeAmount, WalletSolidity.GetCanWithdrawUnfreezeAmount
Used in:
Used in:
Used as response type in: Wallet.ScanShieldedTRC20NotesByIvk, Wallet.ScanShieldedTRC20NotesByOvk
Used in:
the index of note in txid
Used in:
Used as response type in: Wallet.GetDelegatedResourceAccountIndex, Wallet.GetDelegatedResourceAccountIndexV2, WalletSolidity.GetDelegatedResourceAccountIndex, WalletSolidity.GetDelegatedResourceAccountIndexV2
Used as response type in: Wallet.GetDelegatedResource, Wallet.GetDelegatedResourceV2, WalletSolidity.GetDelegatedResource, WalletSolidity.GetDelegatedResourceV2
Used as request type in: Wallet.GetDelegatedResource, Wallet.GetDelegatedResourceV2, WalletSolidity.GetDelegatedResource, WalletSolidity.GetDelegatedResourceV2
Used as response type in: Wallet.GetDiversifier
Used as field type in: ,
Used as response type in: Wallet.EasyTransfer, Wallet.EasyTransferAsset, Wallet.EasyTransferAssetByPrivate, Wallet.EasyTransferByPrivate
transaction id = sha256(transaction.raw_data)
Used as request type in: Wallet.GenerateAddress, Wallet.GetAssetIssueList, Wallet.GetBandwidthPrices, Wallet.GetBurnTrx, Wallet.GetChainParameters, Wallet.GetDiversifier, Wallet.GetEnergyPrices, Wallet.GetMarketPairList, Wallet.GetMemoFee, Wallet.GetNewShieldedAddress, Wallet.GetNextMaintenanceTime, Wallet.GetNodeInfo, Wallet.GetNowBlock, Wallet.GetNowBlock2, Wallet.GetPendingSize, Wallet.GetRcm, Wallet.GetSpendingKey, Wallet.GetTransactionListFromPending, Wallet.ListExchanges, Wallet.ListNodes, Wallet.ListProposals, Wallet.ListWitnesses, Wallet.TotalTransaction, WalletSolidity.GetAssetIssueList, WalletSolidity.GetBandwidthPrices, WalletSolidity.GetBurnTrx, WalletSolidity.GetEnergyPrices, WalletSolidity.GetMarketPairList, WalletSolidity.GetNowBlock, WalletSolidity.GetNowBlock2, WalletSolidity.ListExchanges, WalletSolidity.ListWitnesses
(message has no fields)
Used as response type in: Wallet.EstimateEnergy, WalletSolidity.EstimateEnergy
Used as response type in: Wallet.GetExchangeById, WalletSolidity.GetExchangeById
Used as field type in:
Used as response type in: Wallet.GetPaginatedExchangeList, Wallet.ListExchanges, WalletSolidity.ListExchanges
stake 2.0
Used as request type in: Wallet.GetAvailableUnfreezeCount, WalletSolidity.GetAvailableUnfreezeCount
Used as response type in: Wallet.GetAvailableUnfreezeCount, WalletSolidity.GetAvailableUnfreezeCount
Used as response type in: Wallet.GetIncomingViewingKey
Used as field type in:
Used in: ,
internalTransaction identity, the root InternalTransaction hash should equals to root transaction id.
the one send trx (TBD: or token) via function
the one recieve trx (TBD: or token) via function
Used in:
trx (TBD: or token) value
TBD: tokenName, trx should be empty
Used in:
Used as response type in: Wallet.GetMarketOrderById, WalletSolidity.GetMarketOrderById
Used as field type in:
min to receive
When state != ACTIVE and sell_token_quantity_return !=0, it means that some sell tokens are returned to the account due to insufficient remaining amount
Used in:
Used in: ,
Used as response type in: Wallet.GetMarketOrderByAccount, Wallet.GetMarketOrderListByPair, WalletSolidity.GetMarketOrderByAccount, WalletSolidity.GetMarketOrderListByPair
Used as request type in: Wallet.GetMarketOrderListByPair, Wallet.GetMarketPriceByPair, WalletSolidity.GetMarketOrderListByPair, WalletSolidity.GetMarketPriceByPair
Used as field type in:
Used as response type in: Wallet.GetMarketPairList, WalletSolidity.GetMarketPairList
Used in:
Used as response type in: Wallet.GetMarketPriceByPair, WalletSolidity.GetMarketPriceByPair
min to receive
Used in:
Used in:
Used in:
Used in:
Used in:
Gossip node
Used in:
Gossip node address
Used in:
Used in: , , ,
random 32
Used as request type in: Wallet.GetBlockByLatestNum, Wallet.GetBlockByLatestNum2, Wallet.GetBlockByNum, Wallet.GetBlockByNum2, Wallet.GetTransactionCountByBlockNum, Wallet.GetTransactionInfoByBlockNum, WalletSolidity.GetBlockByNum, WalletSolidity.GetBlockByNum2, WalletSolidity.GetTransactionCountByBlockNum, WalletSolidity.GetTransactionInfoByBlockNum
Used as response type in: Wallet.GetBrokerageInfo, Wallet.GetBurnTrx, Wallet.GetNextMaintenanceTime, Wallet.GetPendingSize, Wallet.GetRewardInfo, Wallet.GetTransactionCountByBlockNum, Wallet.TotalTransaction, WalletSolidity.GetBrokerageInfo, WalletSolidity.GetBurnTrx, WalletSolidity.GetRewardInfo, WalletSolidity.GetTransactionCountByBlockNum
FLAW: Paginated APIs are usless.
Used as request type in: Wallet.GetPaginatedAssetIssueList, Wallet.GetPaginatedExchangeList, Wallet.GetPaginatedNowWitnessList, Wallet.GetPaginatedProposalList, WalletSolidity.GetPaginatedAssetIssueList, WalletSolidity.GetPaginatedNowWitnessList
this field is token name before the proposal
ALLOW_SAME_TOKEN_NAME is active, otherwise it is token id and token is should be in string format.
the amount of drops
Used in: , ,
Owner id=0, Witness id=1, Active id start by 2
1 bit 1 contract
Used in:
Used as response type in: Wallet.GetBandwidthPrices, Wallet.GetEnergyPrices, Wallet.GetMemoFee, WalletSolidity.GetBandwidthPrices, WalletSolidity.GetEnergyPrices
Used as response type in: Wallet.GetProposalById
Used as field type in:
Used in:
add or remove approval
Used as response type in: Wallet.GetPaginatedProposalList, Wallet.ListProposals
Used in:
for Encryption
Encryption for incoming, decrypt it with ivk
Encryption for audit, decrypt it with ovk
Used in: ,
Used in: , , , , , , ,
Used in:
Set account id if the account has no id. Account id is unique and case insensitive.
Used as response type in: Wallet.CreateShieldedContractParameters, Wallet.CreateShieldedContractParametersWithoutAsk
Used as field type in:
Used as response type in: Wallet.GetContract
Used as field type in: ,
Used in:
Used in:
Used in:
Used in:
SolidityType type = 3;
Used in:
Used in:
merkle root
used for check double spend
used for check spend authority signature
Used in: ,
Used as request type in: Wallet.BroadcastTransaction, Wallet.GetTransactionApprovedList, Wallet.GetTransactionSignWeight
Used as response type in: Wallet.GetTransactionById, Wallet.GetTransactionFromPending, Wallet.GetTransactionSign, WalletSolidity.GetTransactionById
Used as field type in: , , , ,
only support size = 1, repeated list here for muti-sig extension
Used in:
Used in:
Used in:
Used in:
Used in: ,
Used in:
data not used
only support size = 1, repeated list here for extension
scripts not used
Used in:
Used in:
Used in:
Used in:
Used as response type in: Wallet.AddSign, Wallet.CreateWitness2, Wallet.DeployContract, Wallet.GetTransactionSign2, Wallet.TriggerConstantContract, Wallet.TriggerContract, Wallet.WithdrawBalance2, WalletSolidity.TriggerConstantContract
Used as field type in: , ,
transaction id = sha256(transaction.raw_data)
Used as response type in: Wallet.GetTransactionInfoById, WalletSolidity.GetTransactionInfoById
Used as field type in:
Used in: ,
Used in:
Used as response type in: Wallet.GetTransactionInfoByBlockNum, WalletSolidity.GetTransactionInfoByBlockNum
Used as response type in: Wallet.BroadcastTransaction
Used as field type in: , ,
Used in:
error in signature
Used as request type in: Wallet.AddSign, Wallet.GetTransactionSign, Wallet.GetTransactionSign2
Used in:
Used in:
error in
The key is not in permission
this field is token name before the proposal
ALLOW_SAME_TOKEN_NAME is active, otherwise it is token id and token is should be in string format.
Used as request type in: Wallet.EstimateEnergy, Wallet.TriggerConstantContract, Wallet.TriggerContract, WalletSolidity.EstimateEnergy, WalletSolidity.TriggerConstantContract
1 mean 1%
Used in:
Used in:
Witness
Used in:
Used as response type in: Wallet.GetPaginatedNowWitnessList, Wallet.ListWitnesses, WalletSolidity.GetPaginatedNowWitnessList, WalletSolidity.ListWitnesses
Used in: