Get desktop application:
View/edit binary Protocol Buffers messages
Transactions:
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) {}
rpc UpdateSetting(UpdateSettingContract) returns (TransactionExtention) {} // consume_user_resource_percent rpc UpdateEnergyLimit(UpdateEnergyLimitContract) returns (TransactionExtention) {} // origin_energy_limit rpc ClearContractABI(ClearABIContract) returns (TransactionExtention) {}
The real APIs:
connect information
Gossip node list
java-tron return default 0
FLAW: Although the parameters' type is changed, it is still bad API design.
deprecated
deprecated
Use this function instead of GetBlockByNum.
NOTE: `GetBlockById2` is missing. The closest is `GetBlockByLatestNum2`.
FLAW: Abusing of `info`. Should be a `GetContractCode`.
Shielded helpers:
Market API:
FLAW: Unsafe junk.
FLAW: Unsafe shielded junk(should be implemented offline).
- Shielded TRC20
What's the fucking API design
Stake 2.0
query the network
BlockIdentifier parent_block_identifier = 4;
voting&SRs
pending pool
query resource price
NOTE: All other solidified APIs are useless.
rpc GetBlockByLatestNum2(NumberMessage) returns (BlockListExtention) {}
query resource price
Account
Used as response type in: Wallet.GetAccount, Wallet.GetAccountById, WalletSolidity.GetAccount
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:
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
Used as field type in:
useless
Used in:
Used as response type in: Wallet.GetAssetIssueByAccount, Wallet.GetAssetIssueList, Wallet.GetAssetIssueListByName, Wallet.GetPaginatedAssetIssueList
block
Used as response type in: Wallet.GetBlockById, Wallet.GetBlockByNum, Wallet.GetNowBlock
Used as field type in:
Used as response type in: Wallet.GetBlock, Wallet.GetBlockByNum2, Wallet.GetNowBlock2, WalletSolidity.GetBlock, 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.GetRewardInfo, WalletSolidity.GetTransactionById, WalletSolidity.GetTransactionFromPending
Used as response type in: Wallet.CreateAddress, Wallet.GetAkFromAsk, Wallet.GetNkFromNsk, Wallet.GetRcm, Wallet.GetSpendingKey, Wallet.GetTriggerInputForShieldedTRC20Contract
Used as field type in:
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
Used as response type in: Wallet.GetDelegatedResource, Wallet.GetDelegatedResourceV2
Used as request type in: Wallet.GetDelegatedResource, Wallet.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.GetBandwidthPrices, WalletSolidity.GetEnergyPrices, WalletSolidity.GetNowBlock2
(message has no fields)
Used as response type in: Wallet.GetExchangeById
Used as field type in:
Used as response type in: Wallet.GetPaginatedExchangeList, Wallet.ListExchanges
stake 2.0
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
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
Used as request type in: Wallet.GetMarketOrderListByPair, Wallet.GetMarketPriceByPair
Used as field type in:
Used in:
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.GetTransactionInfoByBlockNum
Used as response type in: Wallet.GetBrokerageInfo, Wallet.GetBurnTrx, Wallet.GetNextMaintenanceTime, Wallet.GetPendingSize, Wallet.GetRewardInfo, Wallet.GetTransactionCountByBlockNum, Wallet.TotalTransaction, WalletSolidity.GetRewardInfo
FLAW: Paginated APIs are usless.
Used as request type in: Wallet.GetPaginatedAssetIssueList, Wallet.GetPaginatedExchangeList, Wallet.GetPaginatedProposalList
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, WalletSolidity.GetTransactionFromPending
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
Used as field type in:
, ,transaction id = sha256(transaction.raw_data)
Used as response type in: Wallet.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
1 mean 1%
Used in:
Used in:
Witness
Used in:
Used in: