{"id":13746480,"url":"https://github.com/tronprotocol/wallet-cli","last_synced_at":"2026-02-06T10:21:23.270Z","repository":{"id":41274821,"uuid":"119688315","full_name":"tronprotocol/wallet-cli","owner":"tronprotocol","description":"Wallet CLI","archived":false,"fork":false,"pushed_at":"2025-03-19T03:29:13.000Z","size":43975,"stargazers_count":668,"open_issues_count":15,"forks_count":486,"subscribers_count":68,"default_branch":"develop","last_synced_at":"2025-04-13T03:59:46.853Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tronprotocol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-31T13:07:40.000Z","updated_at":"2025-04-10T16:14:27.000Z","dependencies_parsed_at":"2023-02-10T02:16:07.885Z","dependency_job_id":"ccad946e-a383-49d2-8f14-b4406400738d","html_url":"https://github.com/tronprotocol/wallet-cli","commit_stats":null,"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tronprotocol%2Fwallet-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tronprotocol%2Fwallet-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tronprotocol%2Fwallet-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tronprotocol%2Fwallet-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tronprotocol","download_url":"https://codeload.github.com/tronprotocol/wallet-cli/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248661706,"owners_count":21141450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T06:00:54.341Z","updated_at":"2026-02-06T10:21:23.252Z","avatar_url":"https://github.com/tronprotocol.png","language":"Java","funding_links":[],"categories":["Smart Contract Platforms"],"sub_categories":[],"readme":"# Wallet-cli\n\nWelcome to use the Wallet-cli.  \n\nWallet-cli now supports [GasFree](https://gasfree.io) addresses, enable users to transfer tokens without paying gas fees. For more details, please check the [GasFree](#Gas-Free-Support) section below.\n\nThe underlying implementation of all Wallet-cli gRPC APIs has all migrated to the [Trident SDK](https://github.com/tronprotocol/trident). This strategic move consolidates the underlying implementation of the Wallet-cli's remote procedure calls, standardizing them under the robust and optimized Trident framework. \n\nIf you need any help, please join the [Telegram](https://t.me/TronOfficialDevelopersGroupEn).\n\n## Get started\n\n### Download Wallet-cli\n\n    git clone https://github.com/tronprotocol/wallet-cli.git\n\n### Edit config.conf in src/main/resources\n\n```\nnet {\n type = mainnet\n}\n\nfullnode = {\n  ip.list = [\n    \"fullnode ip : port\"\n  ]\n}\n\n#soliditynode = {\n#  //The IPs in this list can only be totally set to solidity.\n#  ip.list = [\n#     \"ip : solidity port\" // default solidity\n#  ]\n#  // NOTE: solidity node is optional\n#}\n\n# open ledger debug\n# ledger_debug = true\n\n# To use the lock and unlock function of the login account, it is necessary to configure\n# lockAccount = true in the config.conf. The current login account is locked, which means that\n# signatures and transactions are not allowed. After the current login account is locked, it can be\n# unlocked. By default, it will be unlocked again after 300 seconds. Unlocking can specify\n# parameters in seconds.\n\n# lockAccount = true\n\n# To use the gasfree feature, please first apply for an APIkey and apiSecret.\n# For details, please refer to\n# https://docs.google.com/forms/d/e/1FAIpQLSc5EB1X8JN7LA4SAVAG99VziXEY6Kv6JxmlBry9rUBlwI-GaQ/viewform\ngasfree = {\n  mainnet = {\n     apiKey = \"\"\n     apiSecret = \"\"\n  }\n  testnet = {\n     apiKey = \"\"\n     apiSecret = \"\"\n  }\n}\n\n# If gRPC requests on the main network are limited in speed, you can apply for an apiKey of Trongrid to improve the user experience\ngrpc = {\n  mainnet = {\n    apiKey = \"\"\n  }\n}\n\n# Set the maximum number of transactions and backup records that can be retained\nmaxRecords = 1000\n\n# To use the tronlink multi-sign feature, please first apply for an secretId and secretKey.\n# For details, please refer to\n# https://docs.google.com/forms/d/e/1FAIpQLSc5EB1X8JN7LA4SAVAG99VziXEY6Kv6JxmlBry9rUBlwI-GaQ/viewform\n# If you prefer not to apply, a speed-limited secretId and secretKey will be provided for use: \n# secretId = \"TEST\", secretKey = \"TESTTESTTEST\", channel = \"test\".\ntronlink = {\n  mainnet = {\n    secretId = \"\"\n    secretKey = \"\"\n    channel = \"\"\n  }\n  testnet = {\n    secretId = \"\"\n    secretKey = \"\"\n    channel = \"\"\n  }\n}\n```\n\n### Run a web wallet\n\n- connect to fullNode\n\n    Take a look at: [java-tron deployment](https://tronprotocol.github.io/documentation-en/developers/deployment/)\n    Run fullNode on either your local PC or a remote server.\n\n- compile and run web wallet\n\n    ```console\n    $ cd wallet-cli\n    $ ./gradlew build\n    $ cd build/libs\n    $ java -jar wallet-cli.jar\n    ```\n\n### Connect to Java-tron\n\nWallet-cli connects to Java-tron via the gRPC protocol, which can be deployed locally or remotely. Check **Run a web Wallet** section.\nWe can configure Java-tron node IP and port in ``src/main/resources/config.conf``, so that wallet-cli server can successfully talk to java-tron nodes.\nBesides that, you can simply use `SwitchNetwork` command to switch among the mainnet, testnets(Nile and Shasta) and custom networks. Please refer to the Switch Network section.\n\n## Wallet-cli supported command list\n\nFollowing is a list of Tron Wallet-cli commands:\nFor more information on a specific command, just type the command in the terminal when you start your Wallet.\n\n|   [AddTransactionSign](#How-to-use-the-multi-signature-feature-of-wallet-cli)    |                           [AddressBook](#address-book)                            |                 [ApproveProposal](#Approve--disapprove-a-proposal)                  |\n|:--------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------:|\n|                        [AssetIssue](#Issue-trc10-tokens)                         |                     [BackupWallet](#Wallet-related-commands)                      |                   [BackupWallet2Base64](#Wallet-related-commands)                   |\n|                       [BroadcastTransaction](#Some-others)                       |                      [CancelAllUnfreezeV2](#How-to-freezev2)                      |                     [ChangePassword](#Wallet-related-commands)                      |\n|                     [ClearContractABI](#clear-contract-abi)                      |                   [ClearWalletKeystore](#clear-wallet-keystore)                   |                                 [Create2](#create2)                                 |\n|                         [CreateAccount](#create-account)                         |                      [CreateProposal](#Initiate-a-proposal)                       |                          [CreateWitness](#create-witness)                           |\n|                        [CurrentNetwork](#current-network)                        |                       [DelegateResource](#How-to-freezev2)                        |                    [DeleteProposal](#Delete-an-existed-proposal)                    |\n|                   [DeployContract](#How-to-use-smart-contract)                   |                        [EstimateEnergy](#estimate-energy)                         |                   [ExchangeCreate](#How-to-trade-on-the-exchange)                   |\n|                 [ExchangeInject](#How-to-trade-on-the-exchange)                  |               [ExchangeTransaction](#How-to-trade-on-the-exchange)                |                  [ExchangeWithdraw](#How-to-trade-on-the-exchange)                  |\n|              [ExportWalletKeystore](#export-import-wallet-keystore)              |                [ExportWalletMnemonic](#import-and-export-mnemonic)                |                         [FreezeBalance](#Delegate-resource)                         |\n|                       [FreezeBalanceV2](#How-to-freezev2)                        |                           [GasFreeInfo](#gas-free-info)                           |                           [GasFreeTrace](#gas-free-trace)                           |\n|                      [GasFreeTransfer](#gas-free-transfer)                       |                   [GenerateAddress](#Account-related-commands)                    |                     [GenerateSubAccount](#generate-sub-account)                     |\n|                     [GetAccount](#Account-related-commands)                      |                       [GetAccountById](#get-account-by-id)                        |                     [GetAccountNet](#Account-related-commands)                      |\n|                 [GetAccountResource](#Account-related-commands)                  |                      [GetAddress](#Account-related-commands)                      |          [GetAssetIssueByAccount](#How-to-obtain-trc10-token-information)           |\n|           [GetAssetIssueById](#How-to-obtain-trc10-token-information)            |           [GetAssetIssueByName](#How-to-obtain-trc10-token-information)           |          [GetAssetIssueListByName](#How-to-obtain-trc10-token-information)          |\n|                  [GetAvailableUnfreezeCount](#How-to-freezev2)                   |                      [GetBalance](#Account-related-commands)                      |               [GetBandwidthPrices](#Get-resource-prices-and-memo-fee)               |\n|                    [GetBlock](#How-to-get-block-information)                     |                   [GetBlockById](#How-to-get-block-information)                   |                 [GetBlockByIdOrNum](#How-to-get-block-information)                  |\n|               [GetBlockByLatestNum](#How-to-get-block-information)               |               [GetBlockByLimitNext](#How-to-get-block-information)                |                             [GetBrokerage](#Brokerage)                              |\n|                    [GetCanDelegatedMaxSize](#How-to-freezev2)                    |                 [GetCanWithdrawUnfreezeAmount](#How-to-freezev2)                  |                     [GetChainParameters](#get-chain-parameters)                     |\n|                 [GetContract](#Get-details-of-a-smart-contract)                  |                 [GetContractInfo](#get-info-of-a-smart-contract)                  |                  [GetDelegatedResource](#How-to-delegate-resource)                  |\n|          [GetDelegatedResourceAccountIndex](#How-to-delegate-resource)           |              [GetDelegatedResourceAccountIndexV2](#How-to-freezev2)               |                     [GetDelegatedResourceV2](#How-to-freezev2)                      |\n|               [GetEnergyPrices](#Get-resource-prices-and-memo-fee)               |                        [GetExchange](#get-exchange-by-id)                         |            [GetMarketOrderByAccount](#How-to-use-tron-dex-to-sell-asset)            |\n|             [GetMarketOrderById](#How-to-use-tron-dex-to-sell-asset)             |          [GetMarketOrderListByPair](#How-to-use-tron-dex-to-sell-asset)           |               [GetMarketPairList](#How-to-use-tron-dex-to-sell-asset)               |\n|            [GetMarketPriceByPair](#How-to-use-tron-dex-to-sell-asset)            |                  [GetMemoFee](#Get-resource-prices-and-memo-fee)                  |                       [GetNextMaintenanceTime](#Some-others)                        |\n|                   [GetProposal](#Obtain-proposal-information)                    |                              [GetReward](#Brokerage)                              | [GetTransactionApprovedList](#How-to-use-the-multi-signature-feature-of-wallet-cli) |\n|            [GetTransactionById](#How-to-get-transaction-information)             |       [GetTransactionCountByBlockNum](#How-to-get-transaction-information)        |         [GetTransactionInfoByBlockNum](#How-to-get-transaction-information)         |\n|          [GetTransactionInfoById](#How-to-get-transaction-information)           | [GetTransactionSignWeight](#How-to-use-the-multi-signature-feature-of-wallet-cli) |                         [GetUSDTBalance](#get-usdt-balance)                         |\n|                 [GetUsdtTransferById](#get-usdt-transfer-by-id)                  |                     [ImportWallet](#Wallet-related-commands)                      |                  [ImportWalletByBase64](#Wallet-related-commands)                   |\n|             [ImportWalletByKeystore](#export-import-wallet-keystore)             |                 [ImportWalletByLedger](#import-wallet-by-ledger)                  |                [ImportWalletByMnemonic](#import-and-export-mnemonic)                |\n|             [ListAssetIssue](#How-to-obtain-trc10-token-information)             |              [ListAssetIssuePaginated](#list-asset-issue-paginated)               |                   [ListExchanges](#How-to-trade-on-the-exchange)                    |\n|             [ListExchangesPaginated](#How-to-trade-on-the-exchange)              |                             [ListNodes](#Some-others)                             |                    [ListProposals](#Obtain-proposal-information)                    |\n|              [ListProposalsPaginated](#Obtain-proposal-information)              |                           [ListWitnesses](#Some-others)                           |                                    [Lock](#lock)                                    |\n|                  [Login](#Command-line-operation-flow-example)                   |                              [LoginAll](#login-all)                               |                                  [Logout](#logout)                                  |\n|             [MarketCancelOrder](#How-to-use-tron-dex-to-sell-asset)              |               [MarketSellAsset](#How-to-use-tron-dex-to-sell-asset)               |                       [ModifyWalletName](#Modify-wallet-name)                       |\n|       [ParticipateAssetIssue](#Participating-in-the-issue-of-trc10-token)        |                    [RegisterWallet](#Wallet-related-commands)                     |                            [ResetWallet](#reset-wallet)                             |\n|        [SendCoin](#How-to-use-the-multi-signature-feature-of-wallet-cli)         |                          [SetAccountId](#set-account-id)                          |                   [ShowReceivingQrCode](#show-receiving-qr-code)                    |\n|                         [SwitchNetwork](#switch-network)                         |                          [SwitchWallet](#switch-wallet)                           |                       [TransferAsset](#Trc10-token-transfer)                        |\n|                          [TransferUSDT](#transfer-usdt)                          |               [TriggerConstantContract](#trigger-constant-contract)               |                     [TriggerContract](#trigger-smart-contract)                      |\n|                      [UnDelegateResource](#How-to-freezev2)                      |                      [UnfreezeAsset](#Unfreeze-trc10-token)                       |                    [UnfreezeBalance](#How-to-delegate-resource)                     |\n|                      [UnfreezeBalanceV2](#How-to-freezev2)                       |                                 [Unlock](#unlock)                                 |                          [UpdateAccount](#update-account)                           |\n| [UpdateAccountPermission](#How-to-use-the-multi-signature-feature-of-wallet-cli) |                 [UpdateAsset](#Update-parameters-of-trc10-token)                  |                            [UpdateBrokerage](#Brokerage)                            |\n|              [UpdateEnergyLimit](#Update-smart-contract-parameters)              |                [UpdateSetting](#Update-smart-contract-parameters)                 |                          [UpdateWitness](#update-witness)                           |\n|                    [ViewBackupRecords](#View-backup-records)                     |                [ViewTransactionHistory](#View-transaction-history)                |                             [VoteWitness](#How-to-vote)                             |\n|                       [WithdrawBalance](#withdraw-balance)                       |                [WithdrawExpireUnfreeze](#withdraw-expire-unfreeze)                |                      [TronlinkMultiSign](#tronlink-multi-sign)                      |                                                 \n|                     [EncodingConverter](#encoding-converter)                     |        [GetPrivateKeyByMnemonic](#How-to-get-privateKey-through-mnemonic)         |                                                                                     |                                                 \n\n\nType any one of the listed commands, to display how-to tips.\n\n## How to freeze/unfreeze balance\n\nAfter the funds are frozen, the corresponding number of shares and bandwidth will be obtained.\nShares can be used for voting and bandwidth can be used for trading.\nThe rules for the use and calculation of share and bandwidth are described later in this article.\n\n**Freeze operation is as follows:**\n\n```console\n\u003e freezeBalance [OwnerAddress] frozen_balance frozen_duration [ResourceCode:0 BANDWIDTH, 1 ENERGY] [receiverAddress]\n```\n\nOwnerAddress\n\u003e The address of the account that initiated the transaction, optional, default is the address of the login account.\n\nfrozen_balance\n\u003e The amount of frozen funds, the unit is Sun.\n\u003e The minimum value is **1000000 Sun(1TRX)**.\n\nfrozen_duration\n\u003e Freeze time, this value is currently only allowed for **3 days**.\n\nFor example:\n\n```console\n\u003e freezeBalance 100000000 3 1 address\n```\n\nAfter the freeze operation, frozen funds will be transferred from Account Balance to Frozen,\nYou can view frozen funds from your account information.\nAfter being unfrozen, it is transferred back to Balance by Frozen, and the frozen funds cannot be used for trading.\n\nWhen more share or bandwidth is needed temporarily, additional funds may be frozen to obtain additional share and bandwidth.\nThe unfrozen time is postponed until 3 days after the last freeze operation\n\nAfter the freezing time expires, funds can be unfroze.\n\n**Unfreeze operation is as follows:**\n\n```console\n\u003e unfreezeBalance [OwnerAddress] ResourceCode(0 BANDWIDTH, 1 CPU) [receiverAddress]\n```\n\n## How to vote\n\nVoting requires share. Share can be obtained by freezing funds.\n\n- The share calculation method is: **1** unit of share can be obtained for every **1TRX** frozen.\n- After unfreezing, previous vote will expire. You can avoid the invalidation of the vote by re-freezing and voting.\n\n**NOTE** The Tron Network only records the status of your last vote, which means that each of your votes will overwrite all previous voting results.\n\nFor example:\n\n```console\n\u003e freezeBalance 100000000 3 1 address  # Freeze 10TRX and acquire 10 units of shares\n\n\u003e votewitness 123455 witness1 4 witness2 6  # Cast 4 votes for witness1 and 6 votes for witness2 at the same time\n\n\u003e votewitness 123455 witness1 10  # Voted 10 votes for witness1\n```\n\nThe final result of the above command was 10 votes for witness1 and 0 vote for witness2.\n\n## Brokerage\n\nAfter voting for the witness, you will receive the rewards. The witness has the right to decide the ratio of brokerage. The default ratio is 20%, and the witness can adjust it.\n\nBy default, if a witness is rewarded, he will receive 20% of the whole rewards, and 80% of the rewards will be distributed to his voters.\n\n### GetBrokerage\n\nView the ratio of brokerage of the witness.\n\n    \u003e getbrokerage OwnerAddress\n\nOwnerAddress\n\u003e The address of the witness's account, it is a base58check type address.\n\n### GetReward\n\nQuery unclaimed reward.\n\n    \u003e getreward OwnerAddress\n\nOwnerAddress\n\u003e The address of the voter's account, it is a base58check type address.\n\n### UpdateBrokerage\n\nUpdate the ratio of brokerage, this command is usually used by a witness account.\n\n    \u003e updateBrokerage OwnerAddress brokerage\n\nOwnerAddress\n\u003e The witness's account address is a base58check type address.\n\nbrokerage\n\u003e The ratio of brokerage you want to update, from 0 to 100. If the input is 10, it means 10% of the total reward would be distributed to the SR and the rest would be rewarded to all the voters, which is 90% in this case\n\nFor example:\n\n```console\n\u003e getbrokerage TZ7U1WVBRLZ2umjizxqz3XfearEHhXKX7h  \n\n\u003e getreward  TNfu3u8jo1LDWerHGbzs2Pv88Biqd85wEY\n\n\u003e updateBrokerage TZ7U1WVBRLZ2umjizxqz3XfearEHhXKX7h 30\n```\n\n### withdraw balance\n\n\u003e WithdrawBalance [owner_address]\n\nWithdraw voting or block rewards.\n\nExample:\n\n```console\n\u003e WithdrawBalance TEDapYSVvAZ3aYH7w8N9tMEEFKaNKUD5Bp\n```\n\n## How to calculate bandwidth\n\nThe bandwidth calculation rule is:\n\n    constant * FrozenFunds * days\n\nAssuming freeze 1TRX（1_000_000 Sun), 3 days, bandwidth obtained = 1 * 1_000_000 * 3 = 3_000_000.\n\nAll contracts consume bandwidth, including transferring, transferring of assets, voting, freezing, etc.\nQuerying does not consume bandwidth. Each contract needs to consume **100_000 bandwidth**.\n\nIf a contract exceeds a certain time (**10s**), this operation does not consume bandwidth.\n\nWhen the unfreezing operation occurs, the bandwidth is not cleared.\nThe next time the freeze is performed, the newly added bandwidth is accumulated.\n\n## How to withdraw balance\n\nAfter each block is produced, the block award is sent to the account's allowance,\nand a withdraw operation is allowed every **24 hours** from allowance to balance.\nThe funds in allowance cannot be locked or traded.\n\n## How to create witness\n\nApplying to become a witness account needs to consume **100_000TRX**.\nThis part of the funds will be burned directly.\n\n### create witness\n\u003e CreateWitness [owner_address] url\nApply to become a super representative candidate.\n\nExample:\n```console\n\u003e CreateWitness TEDapYSVvAZ3aYH7w8N9tMEEFKaNKUD5Bp 007570646174654e616d6531353330363038383733343633\n```\n\n### update witness\n\u003e UpdateWitness\nEdit the URL of the SR's official website.\n\nExample:\n```console\n\u003e UpdateWitness TEDapYSVvAZ3aYH7w8N9tMEEFKaNKUD5Bp 007570646174654e616d6531353330363038383733343633\n```\n\n## How to create account\n\nYou can create accounts by transferring funds to non-existing accounts or initiating a transaction to create an account using the **CreateAccount** command.\nTransferring to a non-existent account has minimum restriction amount of **1TRX**.\nCreating an account through the CreateAccount command will still burn **1TRX**.\n\n\n## Command line operation flow example\n\n```console\n$ cd wallet-cli\n$ ./gradlew build\n$ ./gradlew run\n\u003e RegisterWallet 123456      (password = 123456)\n\u003e login 123456\n\u003e getAddress\naddress = TRfwwLDpr4excH4V4QzghLEsdYwkapTxnm'  # backup it!\n\u003e BackupWallet 123456\npriKey = 1234567890123456789012345678901234567890123456789012345678901234  # backup it!!! (BackupWallet2Base64 option)\n\u003e getbalance\nBalance = 0\n\u003e AssetIssue TestTRX TRX 75000000000000000 1 1 2 \"2019-10-02 15:10:00\" \"2020-07-11\" \"just for test121212\" www.test.com 100 100000 10000 10 10000 1\n\u003e getaccount TRfwwLDpr4excH4V4QzghLEsdYwkapTxnm\n(Print balance: 9999900000\n\"assetV2\": [\n    {\n        \"key\": \"1000001\",\n        \"value\": 74999999999980000\n    }\n],)\n  # (cost trx 1000 trx for assetIssue)\n  # (You can query the trx balance and other asset balances for any account )\n\u003e TransferAsset TWzrEZYtwzkAxXJ8PatVrGuoSNsexejRiM 1000001 10000\n```\n\n## How to issue a TRC10 token\n\nEach account can only issue **ONE** TRC10 token.\n\n### Issue TRC10 tokens\n\n\u003e AssetIssue [OwnerAddress] AssetName AbbrName TotalSupply TrxNum AssetNum Precision StartDate EndDate Description Url FreeNetLimitPerAccount PublicFreeNetLimit FrozenAmount0 FrozenDays0 [...] FrozenAmountN FrozenDaysN\n\nOwnerAddress (optional)\n\u003e The address of the account which initiated the transaction. \n\u003e Default: the address of the login account.\n\nAssetName\n\u003e The name of the issued TRC10 token\n\nAbbrName\n\u003e The abbreviation of TRC10 token\n\nTotalSupply\n\u003e TotalSupply = Account Balance of Issuer + All Frozen Token Amount\n\u003e TotalSupply: Total Issuing Amount\n\u003e Account Balance Of Issuer: At the time of issuance\n\u003e All Frozen Token Amount: Before asset transfer and the issuance\n\nTrxNum, AssetNum\n\u003e  These two parameters determine the exchange rate when the token is issued.\n\u003e Exchange Rate = TrxNum / AssetNum\n\u003e AssetNum: Unit in base unit of the issued token\n\u003e TrxNum: Unit in SUN (0.000001 TRX)\n\nPrecision\n\u003e Precision to how many decimal places  \n\nFreeNetLimitPerAccount\n\u003e The maximum amount of bandwidth each account is allowed to use. Token issuers can freeze TRX to obtain bandwidth (TransferAssetContract only)\n\nPublicFreeNetLimit\n\u003e The maximum total amount of bandwidth which is allowed to use for all accounts. Token issuers can freeze TRX to obtain bandwidth (TransferAssetContract only)\n\nStartDate, EndDate\n\u003e The start and end date of token issuance. Within this period time, other users can participate in token issuance.\n\nFrozenAmount0 FrozenDays0\n\u003e Amount and days of token freeze. \n\u003e FrozenAmount0: Must be bigger than 0\n\u003e FrozenDays0: Must be between 1 and 3653.\n\nExample:\n\n```console\n\u003e AssetIssue TestTRX TRX 75000000000000000 1 1 2 \"2019-10-02 15:10:00\" \"2020-07-11\" \"just for test121212\" www.test.com 100 100000 10000 10 10000 1\n\u003e GetAssetIssueByAccount TRGhNNfnmgLegT4zHNjEqDSADjgmnHvubJ  # View published information\n{\n    \"assetIssue\": [\n        {\n            \"owner_address\": \"TRGhNNfnmgLegT4zHNjEqDSADjgmnHvubJ\",\n            \"name\": \"TestTRX\",\n            \"abbr\": \"TRX\",\n            \"total_supply\": 75000000000000000,\n            \"frozen_supply\": [\n                {\n                    \"frozen_amount\": 10000,\n                    \"frozen_days\": 1\n                },\n                {\n                    \"frozen_amount\": 10000,\n                    \"frozen_days\": 10\n                }\n            ],\n            \"trx_num\": 1,\n            \"precision\": 2,\n            \"num\": 1,\n            \"start_time\": 1570000200000,\n            \"end_time\": 1594396800000,\n            \"description\": \"just for test121212\",\n            \"url\": \"www.test.com\",\n            \"free_asset_net_limit\": 100,\n            \"public_free_asset_net_limit\": 100000,\n            \"id\": \"1000001\"\n        }\n    ]\n}\n```\n\n### Update parameters of TRC10 token\n\n\u003e UpdateAsset [OwnerAddress] newLimit newPublicLimit description url\n\nSpecific meaning of the parameters is the same as that of AssetIssue.\n\nExample:\n\n```console\n\u003e UpdateAsset 1000 1000000 \"change description\" www.changetest.com\n\u003e GetAssetIssueByAccount TRGhNNfnmgLegT4zHNjEqDSADjgmnHvubJ  # View the modified information\n{\n    \"assetIssue\": [\n        {\n            \"owner_address\": \"TRGhNNfnmgLegT4zHNjEqDSADjgmnHvubJ\",\n            \"name\": \"TestTRX\",\n            \"abbr\": \"TRX\",\n            \"total_supply\": 75000000000000000,\n            \"frozen_supply\": [\n                {\n                    \"frozen_amount\": 10000,\n                    \"frozen_days\": 1\n                },\n                {\n                    \"frozen_amount\": 10000,\n                    \"frozen_days\": 10\n                }\n            ],\n            \"trx_num\": 1,\n            \"precision\": 2,\n            \"num\": 1,\n            \"start_time\": 1570000200000,\n            \"end_time\": 1594396800000,\n            \"description\": \"change description\",\n            \"url\": \"www.changetest.com\",\n            \"free_asset_net_limit\": 1000,\n            \"public_free_asset_net_limit\": 1000000,\n            \"id\": \"1000001\"\n        }\n    ]\n}\n```\n\n### TRC10 token transfer\n\n\u003e TransferAsset [OwnerAddress] ToAddress AssertID Amount\n\nOwnerAddress (optional)\n\u003e The address of the account which initiated the transaction. \n\u003e Default: the address of the login account.\n\nToAddress\n\u003e Address of the target account\n\nAssertName\n\u003e TRC10 token ID\n\u003e Example: 1000001\n\nAmount\n\u003e The number of TRC10 token to transfer\n\nExample:\n\n```console\n\u003e TransferAsset TN3zfjYUmMFK3ZsHSsrdJoNRtGkQmZLBLz 1000001 1000\n\u003e getaccount TN3zfjYUmMFK3ZsHSsrdJoNRtGkQmZLBLz  # View target account information after the transfer\naddress: TN3zfjYUmMFK3ZsHSsrdJoNRtGkQmZLBLz\n    assetV2\n    {\n    id: 1000001\n    balance: 1000\n    latest_asset_operation_timeV2: null\n    free_asset_net_usageV2: 0\n    }\n```\n\n### Participating in the issue of TRC10 token\n\n    \u003e ParticipateAssetIssue [OwnerAddress] ToAddress AssetID Amount\n\nOwnerAddress (optional)\n\u003e The address of the account which initiated the transaction. \n\u003e Default: the address of the login account.\n\nToAddress\n\u003e Account address of TRC10 issuers\n\nAssertName\n\u003e TRC10 token ID\n\u003e Example: 1000001\n\nAmount\n\u003e The number of TRC10 token to transfers\n\nThe participation process must happen during the release of TRC10, otherwise an error may occur.\n\nExample:\n\n```console\n\u003e ParticipateAssetIssue TRGhNNfnmgLegT4zHNjEqDSADjgmnHvubJ 1000001 1000\n\u003e getaccount TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW  # View remaining balance\naddress: TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW\nassetV2\n    {\n    id: 1000001\n    balance: 1000\n    latest_asset_operation_timeV2: null\n    free_asset_net_usageV2: 0\n    }\n```\n### list asset issue paginated\n\n\u003e ListAssetIssuePaginated address code salt\n\nQuery the list of all the tokens by pagination.Returns a list of Tokens that succeed the Token located at offset.\n\nExample:\n\n```console\n\u003e ListAssetIssuePaginated 0 1\n```\n\n### Unfreeze TRC10 token\n\nTo unfreeze all TRC10 token which are supposed to be unfrozen after the freezing period.\n\n    \u003e unfreezeasset [OwnerAddress]\n\n## How to obtain TRC10 token information\n\nListAssetIssue\n\u003e Obtain all of the published TRC10 token information\n\nGetAssetIssueByAccount\n\u003e Obtain TRC10 token information based on issuing address\n\nGetAssetIssueById\n\u003e Obtain TRC10 token Information based on ID\n\nGetAssetIssueByName\n\u003e Obtain TRC10 token Information based on names\n\nGetAssetIssueListByName\n\u003e Obtain a list of TRC10 token information based on names\n\n## How to operate with proposal\n\nAny proposal-related operations, except for viewing operations, must be performed by committee members.\n\n### Initiate a proposal\n\n    \u003e createProposal [OwnerAddress] id0 value0 ... idN valueN\n\nOwnerAddress (optional)\n\u003e The address of the account which initiated the transaction. \n\u003e Default: the address of the login account.\n\nid0\n\u003e The serial number of the parameter. Every parameter of TRON network has a serial number. Please refer to \"http://tronscan.org/#/sr/committee\" \n\nValue0\n\u003e The modified value\n\nIn the example, modification No.4 (modifying token issuance fee) costs 1000TRX as follows:\n\n```console\n\u003e createProposal 4 1000\n\u003e listproposals  # View initiated proposal\n{\n    \"proposals\": [\n        {\n            \"proposal_id\": 1,\n            \"proposer_address\": \"TRGhNNfnmgLegT4zHNjEqDSADjgmnHvubJ\",\n            \"parameters\": [\n                {\n                    \"key\": 4,\n                    \"value\": 1000\n                }\n            ],\n            \"expiration_time\": 1567498800000,\n            \"create_time\": 1567498308000\n        }\n    ]\n}\n```\n\nThe corresponding id is 1.\n\n### Approve / Disapprove a proposal\n\n    \u003e approveProposal [OwnerAddress] id is_or_not_add_approval\n\nOwnerAddress (optional)\n\u003e The address of the account which initiated the transaction. \n\u003e Default: the address of the login account.\n\nid\n\u003e ID of the initiated proposal\n\u003e Example: 1\n\nis_or_not_add_approval\n\u003e true for approve; false for disapprove\n\nExample:\n\n```console\n\u003e ApproveProposal 1 true  # in favor of the offer\n\u003e ApproveProposal 1 false  # Cancel the approved proposal\n```\n\n### Delete an existed proposal\n\n    \u003e deleteProposal [OwnerAddress] proposalId\n\nproposalId\n\u003e ID of the initiated proposal\n\u003e Example: 1\n\nThe proposal must be canceled by the supernode that initiated the proposal.\n\nExample：\n\n    \u003e DeleteProposal 1\n\n### Obtain proposal information\n\nListProposals\n\u003e Obtain a list of initiated proposals\n\nListProposalsPaginated\n\u003e Use the paging mode to obtain the initiated proposal\n\nGetProposal\n\u003e Obtain proposal information based on the proposal ID\n\n## How to trade on the exchange\n\nThe trading and price fluctuations of trading pairs are in accordance with the Bancor Agreement,\nwhich can be found in TRON's [related documents](https://tronprotocol.github.io/documentation-en/clients/wallet-cli-command/#dex).\n\n### Create a trading pair\n\n\u003e exchangeCreate [OwnerAddress] first_token_id first_token_balance second_token_id second_token_balance\n\nOwnerAddress (optional)\n\u003e The address of the account which initiated the transaction.\n\u003e Default: the address of the login account.\n\nFirst_token_id, first_token_balance\n\u003e ID and amount of the first token\n\nsecond_token_id, second_token_balance\n\u003e ID and amount of the second token\n\u003e\n\u003e The ID is the ID of the issued TRC10 token. \n\u003e If it is TRX, the ID is \"_\". \n\u003e The amount must be greater than 0, and less than 1,000,000,000,000,000.\n\nExample:\n\n\u003e exchangeCreate 1000001 10000 _ 10000\n    # Create trading pairs with the IDs of 1000001 and TRX, with amount 10000 for both.\n\n### get exchange by id\n\u003e getExchange\nQuery exchange pair based on id (Confirmed state).\n\nExample:\n\n```console\n\u003e getExchange 1\n```\n\n### Capital injection\n\n\u003e exchangeInject [OwnerAddress] exchange_id token_id quant\n\nOwnerAddress (optional)\n\u003e The address of the account which initiated the transaction.\n\u003e Default: the address of the login account.\n\nexchange_id\n\u003e The ID of the trading pair to be funded\n\ntoken_id, quant\n\u003e TokenId and quantity (unit in base unit) of capital injection\n\nWhen conducting a capital injection, depending on its quantity (quant), a proportion\nof each token in the trading pair will be withdrawn from the account, and injected into the trading\npair. Depending on the difference in the balance of the transaction, the same amount of money for\nthe same token would vary.\n\n### Transactions\n\n\u003e exchangeTransaction [OwnerAddress] exchange_id token_id quant expected\n\nOwnerAddress (optional)\n\u003e The address of the account which initiated the transaction.\n\u003e Default: the address of the login account.\n\nexchange_id\n\u003e ID of the trading pair\n\ntoken_id, quant\n\u003e The ID and quantity of tokens being exchanged, equivalent to selling\n\nexpected\n\u003e Expected quantity of another token\n\nexpected must be less than quant, or an error will be reported.\n\nExample：\n\n\u003e ExchangeTransaction 1 1000001 100 80\n\nIt is expected to acquire the 80 TRX by exchanging 1000001 from the trading pair ID of 1, and the amount is 100.(Equivalent to selling an amount of 100 tokenID - 1000001, at a price of 80 TRX, in trading pair ID - 1).\n\n### Capital Withdrawal\n\n\u003e exchangeWithdraw [OwnerAddress] exchange_id token_id quant\n\nOwnerAddress (optional)\n\u003e The address of the account which initiated the transaction.\n\u003e Default: the address of the login account.\n\nExchange_id\n\n\u003e \nThe ID of the trading pair to be withdrawn\n\nToken_id, quant\n\u003e TokenId and quantity (unit in base unit) of capital withdrawal\n\nWhen conducting a capital withdrawal, depending on its quantity (quant), a proportion of each token\nin the transaction pair is withdrawn from the trading pair, and injected into the account. Depending on the difference in the balance of the transaction, the same amount of money for the same token would vary.\n\n### Obtain information on trading pairs\n\nListExchanges\n\u003e List trading pairs\n\nListExchangesPaginated\n\u003e List trading pairs by page\n\n## How to use the multi-signature feature of wallet-cli?\n\nMulti-signature allows other users to access the account in order to better manage it. There are\nthree types of accesses:\n\n- owner: access to the owner of account\n- active: access to other features of accounts, and access that authorizes a certain feature. Block production authorization is not included if it's for witness purposes.\n- witness: only for witness, block production authorization will be granted to one of the other users.\n\nThe rest of the users will be granted\n\n```console\n\u003e Updateaccountpermission TRGhNNfnmgLegT4zHNjEqDSADjgmnHvubJ {\"owner_permission\":{\"type\":0,\"permission_name\":\"owner\",\"threshold\":1,\"keys\":[{\"address\":\"TRGhNNfnmgLegT4zHNjEqDSADjgmnHvubJ\",\"weight\":1}]},\"witness_permission\":{\"type\":1,\"permission_name\":\"witness\",\"threshold\":1,\"keys\":[{\"address\":\"TRGhNNfnmgLegT4zHNjEqDSADjgmnHvubJ\",\"weight\":1}]},\"active_permissions\":[{\"type\":2,\"permission_name\":\"active12323\",\"threshold\":2,\"operations\":\"7fff1fc0033e0000000000000000000000000000000000000000000000000000\",\"keys\":[{\"address\":\"TNhXo1GbRNCuorvYu5JFWN3m2NYr9QQpVR\",\"weight\":1},{\"address\":\"TKwhcDup8L2PH5r6hxp5CQvQzZqJLmKvZP\",\"weight\":1}]}]}\n```\nor\n```console\nwallet\u003e updateAccountPermission\n=== UpdateAccountPermission Interactive Mode ===\n\nSelect permission to modify:\n1. owner_permission\n2. witness_permission\n3. active_permissions\n4. Add new active_permission\n5. Delete active_permission\n6. Show preview and Confirm\n7. Exit\n\u003e \n```\n\nThe account TRGhNNfnmgLegT4zHNjEqDSADjgmnHvubJ gives the owner access to itself, active access to\nTNhXo1GbRNCuorvYu5JFWN3m2NYr9QQpVR and TKwhcDup8L2PH5r6hxp5CQvQzZqJLmKvZP. Active access will\nneed signatures from both accounts in order to take effect.\n\nIf the account is not a witness, it's not necessary to set witness_permission, otherwise an error will occur.\n\n### Signed transaction\n\n\u003e SendCoin TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW 10000000000000000\n\nWill show \"Please confirm and input your permission id, if input y or Y means default 0, other\nnon-numeric characters will cancel transaction.\"\n\nThis will require the transfer authorization of active access. Enter: 2\n\nThen select accounts and put in local password, i.e. TNhXo1GbRNCuorvYu5JFWN3m2NYr9QQpVR needs a\nprivate key TNhXo1GbRNCuorvYu5JFWN3m2NYr9QQpVR to sign a transaction.\n\nSelect another account and enter the local password. i.e. TKwhcDup8L2PH5r6hxp5CQvQzZqJLmKvZP will\nneed a private key of TKwhcDup8L2PH5r6hxp5CQvQzZqJLmKvZP to sign a transaction.\n\nThe weight of each account is 1, threshold of access is 2. When the requirements are met, users\nwill be notified with “Send 10000000000000000 Sun to TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW\nsuccessful !!”.\n\nThis is how multiple accounts user multi-signature when using the same cli.\nUse the instruction addTransactionSign according to the obtained transaction hex string if\nsigning at multiple cli. After signing, the users will need to broadcast final transactions\nmanually.\n\n## Obtain weight information according to transaction\n\n    \u003e getTransactionSignWeight\n    0a8c010a020318220860e195d3609c86614096eadec79d2d5a6e080112680a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412370a1541a7d8a35b260395c14aa456297662092ba3b76fc01215415a523b449890854c8fc460ab602df9f31fe4293f18808084fea6dee11128027094bcb8bd9d2d1241c18ca91f1533ecdd83041eb0005683c4a39a2310ec60456b1f0075b4517443cf4f601a69788f001d4bc03872e892a5e25c618e38e7b81b8b1e69d07823625c2b0112413d61eb0f8868990cfa138b19878e607af957c37b51961d8be16168d7796675384e24043d121d01569895fcc7deb37648c59f538a8909115e64da167ff659c26101\n\nThe information displays as follows:\n\n```json\n{\n    \"result\":{\n        \"code\":\"PERMISSION_ERROR\",\n        \"message\":\"Signature count is 2 more than key counts of permission : 1\"\n    },\n    \"permission\":{\n        \"operations\":\"7fff1fc0033e0100000000000000000000000000000000000000000000000000\",\n        \"keys\":[\n            {\n                \"address\":\"TRGhNNfnmgLegT4zHNjEqDSADjgmnHvubJ\",\n                \"weight\":1\n            }\n        ],\n        \"threshold\":1,\n        \"id\":2,\n        \"type\":\"Active\",\n        \"permission_name\":\"active\"\n    },\n    \"transaction\":{\n        \"result\":{\n            \"result\":true\n        },\n        \"txid\":\"7da63b6a1f008d03ef86fa871b24a56a501a8bbf15effd7aca635de6c738df4b\",\n        \"transaction\":{\n            \"signature\":[\n                \"c18ca91f1533ecdd83041eb0005683c4a39a2310ec60456b1f0075b4517443cf4f601a69788f001d4bc03872e892a5e25c618e38e7b81b8b1e69d07823625c2b01\",\n                \"3d61eb0f8868990cfa138b19878e607af957c37b51961d8be16168d7796675384e24043d121d01569895fcc7deb37648c59f538a8909115e64da167ff659c26101\"\n            ],\n            \"txID\":\"7da63b6a1f008d03ef86fa871b24a56a501a8bbf15effd7aca635de6c738df4b\",\n            \"raw_data\":{\n                \"contract\":[\n                    {\n                        \"parameter\":{\n                            \"value\":{\n                                \"amount\":10000000000000000,\n                                \"owner_address\":\"TRGhNNfnmgLegT4zHNjEqDSADjgmnHvubJ\",\n                                \"to_address\":\"TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW\"\n                            },\n                            \"type_url\":\"type.googleapis.com/protocol.TransferContract\"\n                        },\n                        \"type\":\"TransferContract\",\n                        \"Permission_id\":2\n                    }\n                ],\n                \"ref_block_bytes\":\"0318\",\n                \"ref_block_hash\":\"60e195d3609c8661\",\n                \"expiration\":1554123306262,\n                \"timestamp\":1554101706260\n            },\n            \"raw_data_hex\":\"0a020318220860e195d3609c86614096eadec79d2d5a6e080112680a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412370a1541a7d8a35b260395c14aa456297662092ba3b76fc01215415a523b449890854c8fc460ab602df9f31fe4293f18808084fea6dee11128027094bcb8bd9d2d\"\n        }\n    }\n}\n```\n\n### Get signature information according to transactions\n\n    \u003e getTransactionApprovedList\n    0a8c010a020318220860e195d3609c86614096eadec79d2d5a6e080112680a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412370a1541a7d8a35b260395c14aa456297662092ba3b76fc01215415a523b449890854c8fc460ab602df9f31fe4293f18808084fea6dee11128027094bcb8bd9d2d1241c18ca91f1533ecdd83041eb0005683c4a39a2310ec60456b1f0075b4517443cf4f601a69788f001d4bc03872e892a5e25c618e38e7b81b8b1e69d07823625c2b0112413d61eb0f8868990cfa138b19878e607af957c37b51961d8be16168d7796675384e24043d121d01569895fcc7deb37648c59f538a8909115e64da167ff659c26101\n\n```json\n{\n    \"result\":{\n\n    },\n    \"approved_list\":[\n        \"TKwhcDup8L2PH5r6hxp5CQvQzZqJLmKvZP\",\n        \"TNhXo1GbRNCuorvYu5JFWN3m2NYr9QQpVR\"\n    ],\n    \"transaction\":{\n        \"result\":{\n            \"result\":true\n        },\n        \"txid\":\"7da63b6a1f008d03ef86fa871b24a56a501a8bbf15effd7aca635de6c738df4b\",\n        \"transaction\":{\n            \"signature\":[\n                \"c18ca91f1533ecdd83041eb0005683c4a39a2310ec60456b1f0075b4517443cf4f601a69788f001d4bc03872e892a5e25c618e38e7b81b8b1e69d07823625c2b01\",\n                \"3d61eb0f8868990cfa138b19878e607af957c37b51961d8be16168d7796675384e24043d121d01569895fcc7deb37648c59f538a8909115e64da167ff659c26101\"\n            ],\n            \"txID\":\"7da63b6a1f008d03ef86fa871b24a56a501a8bbf15effd7aca635de6c738df4b\",\n            \"raw_data\":{\n                \"contract\":[\n                    {\n                        \"parameter\":{\n                            \"value\":{\n                                \"amount\":10000000000000000,\n                                \"owner_address\":\"TRGhNNfnmgLegT4zHNjEqDSADjgmnHvubJ\",\n                                \"to_address\":\"TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW\"\n                            },\n                            \"type_url\":\"type.googleapis.com/protocol.TransferContract\"\n                        },\n                        \"type\":\"TransferContract\",\n                        \"Permission_id\":2\n                    }\n                ],\n                \"ref_block_bytes\":\"0318\",\n                \"ref_block_hash\":\"60e195d3609c8661\",\n                \"expiration\":1554123306262,\n                \"timestamp\":1554101706260\n            },\n            \"raw_data_hex\":\"0a020318220860e195d3609c86614096eadec79d2d5a6e080112680a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412370a1541a7d8a35b260395c14aa456297662092ba3b76fc01215415a523b449890854c8fc460ab602df9f31fe4293f18808084fea6dee11128027094bcb8bd9d2d\"\n        }\n    }\n}\n```\n\n## How to use smart contract\n\n### deploy smart contracts\n\n\u003e DeployContract [ownerAddress] contractName ABI byteCode constructor params isHex fee_limit consume_user_resource_percent origin_energy_limit value token_value token_id(e.g: TRXTOKEN, use # if don't provided) \u003clibrary:address,library:address,...\u003e \u003clib_compiler_version(e.g:v5)\u003e library:address,...\u003e\n\nOwnerAddress\n\u003e The address of the account that initiated the transaction, optional, default is the address of the login account.\n\ncontractName\n\u003e Name of smart contract\n\nABI\n\u003e Compile generated ABI code\n\nbyteCode\n\u003e Compile generated byte code\n\nconstructor, params, isHex\n\u003e Define the format of the bytecode, which determines the way to parse byteCode from parameters\n\nfee_limit\n\u003e Transaction allows for the most consumed TRX\n\nconsume_user_resource_percent\n\u003e Percentage of user resource consumed, in the range [0, 100]\n\norigin_energy_limit\n\u003e The most amount of developer Energy consumed by trigger contract once\n\nvalue\n\u003e The amount of trx transferred to the contract account\n\ntoken_value\n\u003e Number of TRX10\n\ntoken_id\n\u003e TRX10 Id\n\nExample:\n\n```\n\u003e deployContract normalcontract544 [{\"constant\":false,\"inputs\":[{\"name\":\"i\",\"type\":\"uint256\"}],\"name\": \"findArgsByIndexTest\",\"outputs\":[{\"name\":\"z\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]\n608060405234801561001057600080fd5b50610134806100206000396000f3006080604052600436106100405763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663329000b58114610045575b600080fd5b34801561005157600080fd5b5061005d60043561006f565b60408051918252519081900360200190f35b604080516003808252608082019092526000916060919060208201838038833901905050905060018160008151811015156100a657fe5b602090810290910101528051600290829060019081106100c257fe5b602090810290910101528051600390829060029081106100de57fe5b6020908102909101015280518190849081106100f657fe5b906020019060200201519150509190505600a165627a7a72305820b24fc247fdaf3644b3c4c94fcee380aa610ed83415061ff9e65d7fa94a5a50a00029 # # false 1000000000 75 50000 0 0 #\n```\n\nGet the result of the contract execution with the getTransactionInfoById command:\n\n```console\n\u003e getTransactionInfoById 4978dc64ff746ca208e51780cce93237ee444f598b24d5e9ce0da885fb3a3eb9\n{\n    \"id\": \"8c1f57a5e53b15bb0a0a0a0d4740eda9c31fbdb6a63bc429ec2113a92e8ff361\",\n    \"fee\": 6170500,\n    \"blockNumber\": 1867,\n    \"blockTimeStamp\": 1567499757000,\n    \"contractResult\": [\n        \"6080604052600436106100405763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663329000b58114610045575b600080fd5b34801561005157600080fd5b5061005d60043561006f565b60408051918252519081900360200190f35b604080516003808252608082019092526000916060919060208201838038833901905050905060018160008151811015156100a657fe5b602090810290910101528051600290829060019081106100c257fe5b602090810290910101528051600390829060029081106100de57fe5b6020908102909101015280518190849081106100f657fe5b906020019060200201519150509190505600a165627a7a72305820b24fc247fdaf3644b3c4c94fcee380aa610ed83415061ff9e65d7fa94a5a50a00029\"\n    ],\n    \"contract_address\": \"TJMKWmC6mwF1QVax8Sy2AcgT6MqaXmHEds\",\n    \"receipt\": {\n        \"energy_fee\": 6170500,\n        \"energy_usage_total\": 61705,\n        \"net_usage\": 704,\n        \"result\": \"SUCCESS\"\n    }\n}\n```\n\n### trigger smart contract\n\n\u003e TriggerContract [ownerAddress] contractAddress method args isHex fee_limit value token_value token_id\n\nOwnerAddress\n\u003e The address of the account that initiated the transaction, optional, default is the address of the login account.\n\ncontractAddress\n\u003e Smart contract address\n\nmethod\n\u003e The name of function and parameters, please refer to the example\n\nargs\n\u003e Parameter value, if you want to call `receive`, pass '#' instead\n\nisHex\n\u003e The format of the parameters method and args, is hex string or not\n\nfee_limit\n\u003e The most amount of trx allows for the consumption\n\ntoken_value\n\u003e Number of TRX10\n\ntoken_id\n\u003e TRC10 id, If not, use ‘#’ instead\n\nExample:\n\n```console\n\u003e triggerContract TGdtALTPZ1FWQcc5MW7aK3o1ASaookkJxG findArgsByIndexTest(uint256) 0 false\n1000000000 0 0 #\n# Get the result of the contract execution with the getTransactionInfoById command\n\u003e getTransactionInfoById 7d9c4e765ea53cf6749d8a89ac07d577141b93f83adc4015f0b266d8f5c2dec4\n{\n    \"id\": \"de289f255aa2cdda95fbd430caf8fde3f9c989c544c4917cf1285a088115d0e8\",\n    \"fee\": 8500,\n    \"blockNumber\": 2076,\n    \"blockTimeStamp\": 1567500396000,\n    \"contractResult\": [\n        \"\"\n    ],\n    \"contract_address\": \"TJMKWmC6mwF1QVax8Sy2AcgT6MqaXmHEds\",\n    \"receipt\": {\n        \"energy_fee\": 8500,\n        \"energy_usage_total\": 85,\n        \"net_usage\": 314,\n        \"result\": \"REVERT\"\n    },\n    \"result\": \"FAILED\",\n    \"resMessage\": \"REVERT opcode executed\"\n}\n```\n\n### trigger constant contract\n\n\u003e TriggerConstantContract [ownerAddress] contractAddress method args isHex fee_limit value token_value token_id\n\nOwnerAddress\n\u003e The address of the account that initiated the transaction, optional, default is the address of the login account.\n\ncontractAddress\n\u003e Smart contract address\n\nmethod\n\u003e The name of function and parameters, please refer to the example\n\nargs\n\u003e Parameter value, if you want to call `receive`, pass '#' instead\n\nisHex\n\u003e The format of the parameters method and args, is hex string or not\n\nfee_limit\n\u003e The most amount of trx allows for the consumption\n\ntoken_value\n\u003e Number of TRX10\n\ntoken_id\n\u003e TRC10 id, If not, use ‘#’ instead\n\nExample:\n\n```console\n\u003e TriggerConstantContract TSNEe5Tf4rnc9zPMNXfaTF5fZfHDDH8oyW TG3XXyExBkPp9nzdajDZsozEu4BkaSJozs \"balanceOf(address)\" 000000000000000000000000a614f803b6fd780986a42c78ec9c7f77e6ded13c true\n```\n\n### clear contract abi\n\n\u003e ClearContractABI  [ownerAddress] contractAddress\n\nOwnerAddress\n\u003e The address of the account that initiated the transaction, optional, default is the address of the login account.\n\ncontractAddress\n\u003e Contract address\n\nExample:\n\n```console\n\u003e ClearContractABI TSNEe5Tf4rnc9zPMNXfaTF5fZfHDDH8oyW TG3XXyExBkPp9nzdajDZsozEu4BkaSJozs\n```\n\n### get details of a smart contract\n\n\u003e GetContract contractAddress\n\ncontractAddress\n\u003e smart contract address\n\nExample:\n\n```console\n\u003e GetContract TGdtALTPZ1FWQcc5MW7aK3o1ASaookkJxG\n{\n    \"origin_address\": \"TRGhNNfnmgLegT4zHNjEqDSADjgmnHvubJ\",\n    \"contract_address\": \"TJMKWmC6mwF1QVax8Sy2AcgT6MqaXmHEds\",\n    \"abi\": {\n        \"entrys\": [\n            {\n                \"name\": \"findArgsByIndexTest\",\n                \"inputs\": [\n                    {\n                        \"name\": \"i\",\n                        \"type\": \"uint256\"\n                    }\n                ],\n                \"outputs\": [\n                    {\n                        \"name\": \"z\",\n                        \"type\": \"uint256\"\n                    }\n                ],\n                \"type\": \"Function\",\n                \"stateMutability\": \"Nonpayable\"\n            }\n        ]\n    },\n    \"bytecode\": \"608060405234801561001057600080fd5b50610134806100206000396000f3006080604052600436106100405763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663329000b58114610045575b600080fd5b34801561005157600080fd5b5061005d60043561006f565b60408051918252519081900360200190f35b604080516003808252608082019092526000916060919060208201838038833901905050905060018160008151811015156100a657fe5b602090810290910101528051600290829060019081106100c257fe5b602090810290910101528051600390829060029081106100de57fe5b6020908102909101015280518190849081106100f657fe5b906020019060200201519150509190505600a165627a7a72305820b24fc247fdaf3644b3c4c94fcee380aa610ed83415061ff9e65d7fa94a5a50a00029\",\n    \"consume_user_resource_percent\": 75,\n    \"name\": \"normalcontract544\",\n    \"origin_energy_limit\": 50000,\n    \"code_hash\": \"23423cece3b4866263c15357b358e5ac261c218693b862bcdb90fa792d5714e6\"\n}\n```\n### get info of a smart contract\n\n\u003e GetContractInfo contractAddress\n\ncontractAddress\n\u003e smart contract address\n\nExample:\n\n```console\n\u003e GetContractInfo TGdtALTPZ1FWQcc5MW7aK3o1ASaookkJxG\n```\n\n### update smart contract parameters\n\n\u003e UpdateEnergyLimit [ownerAddress] contract_address energy_limit  # Update parameter energy_limit\n\u003e UpdateSetting [ownerAddress] contract_address consume_user_resource_percent  # Update parameter consume_user_resource_percent\n\n### create2\n\n\u003e Create2 address code salt\n\nPredict the contract address generated after deploying a contract. Among them, address is the contract address for executing the create 2 instruction, code is the bytecode of the contract to be deployed, and salt is a random salt value.\n\nExample:\n\n```console\n\u003e Create2 TEDapYSVvAZ3aYH7w8N9tMEEFKaNKUD5Bp 5f805460ff1916600190811790915560649055606319600255 2132\n```\n\n### estimate-energy\n\n\u003e EstimateEnergy owner_address(use # if you own) contract_address method args isHex [value token_value token_id(e.g: TRXTOKEN, use # if don't provided)]\n\nEstimate the energy required for the successful execution of smart contract transactions. (Confirmed state).\n\nExample:\n\n```console\n\u003e EstimateEnergy TSNEe5Tf4rnc9zPMNXfaTF5fZfHDDH8oyW TG3XXyExBkPp9nzdajDZsozEu4BkaSJozs \"balanceOf(address)\" 000000000000000000000000a614f803b6fd780986a42c78ec9c7f77e6ded13c true\n```\n\n## How to delegate resource\n\n### delegate resource\n\n    \u003e freezeBalance [OwnerAddress] frozen_balance frozen_duration [ResourceCode:0 BANDWIDTH, 1 ENERGY] [receiverAddress]\n\nThe latter two parameters are optional parameters. If not set, the TRX is frozen to obtain\nresources for its own use; if it is not empty, the acquired resources are used by receiverAddress.\n\nOwnerAddress\n\u003e The address of the account that initiated the transaction, optional, default is the address of the login account.\n\nfrozen_balance\n\u003e The amount of frozen TRX, the unit is the smallest unit (Sun), the minimum is 1000000sun.\n\nfrozen_duration\n\u003e frezen duration, 3 days\n\nResourceCode\n\u003e 0 BANDWIDTH;1 ENERGY\n\nreceiverAddress\n\u003e target account address\n\n### unfreeze delegated resource\n\n    \u003e unfreezeBalance [OwnerAddress] ResourceCode(0 BANDWIDTH, 1 CPU) [receiverAddress]\n\nThe latter two parameters are optional. If they are not set, the BANDWIDTH resource is unfreeze\nby default; when the receiverAddress is set, the delegate resources are unfreezed.\n\n### get resource delegation information\n\ngetDelegatedResource fromAddress toAddress\n\u003e get the information from the fromAddress to the toAddress resource delegate\n\ngetDelegatedResourceAccountIndex address\n\u003e get the information that address is delegated to other account resources\n\n\n## How to freezev2\n\n### freezev2/unfreezev2 resource\n\n    \u003e freezeBalanceV2 [OwnerAddress] frozen_balance [ResourceCode:0 BANDWIDTH,1 ENERGY,2 TRON_POWER]\n\nOwnerAddress\n\u003e The address of the account that initiated the transaction, optional, default is the address of the login account.\n\nfrozen_balance\n\u003e The amount of frozen, the unit is the smallest unit (Sun), the minimum is 1000000sun.\n\nResourceCode\n\u003e 0 BANDWIDTH;1 ENERGY\n\nExample:\n```console\nwallet\u003e FreezeBalanceV2 TJAVcszse667FmSNCwU2fm6DmfM5D4AyDh 1000000000000000 0\ntxid is 82244829971b4235d98a9f09ba67ddb09690ac2f879ad93e09ba3ec1ab29177d\nwallet\u003e GetTransactionById  82244829971b4235d98a9f09ba67ddb09690ac2f879ad93e09ba3ec1ab29177d\n{\n    \"ret\":[\n        {\n            \"contractRet\":\"SUCCESS\"\n        }\n    ],\n    \"signature\":[\n        \"4faa3772fa3d3e4792e8126cafed2dc2c5c069cd09c29532f0119bc982bf356004772e16fad86e401f5818c35b96d214d693efab06997ca2f07044d4494f12fd01\"\n    ],\n    \"txID\":\"82244829971b4235d98a9f09ba67ddb09690ac2f879ad93e09ba3ec1ab29177d\",\n    \"raw_data\":{\n        \"contract\":[\n            {\n                \"parameter\":{\n                    \"value\":{\n                        \"frozen_balance\":1000000000000000,\n                        \"owner_address\":\"4159e3741a68ec3e1ebba80ad809d5ccd31674236e\"\n                    },\n                    \"type_url\":\"type.googleapis.com/protocol.FreezeBalanceV2Contract\"\n                },\n                \"type\":\"FreezeBalanceV2Contract\"\n            }\n        ],\n        \"ref_block_bytes\":\"0000\",\n        \"ref_block_hash\":\"19b59068c6058ff4\",\n        \"expiration\":1671109891800,\n        \"timestamp\":1671088291796\n    },\n    \"raw_data_hex\":\"0a020000220819b59068c6058ff440d8ada5afd1305a5c083612580a34747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e467265657a6542616c616e63655632436f6e747261637412200a154159e3741a68ec3e1ebba80ad809d5ccd31674236e1080809aa6eaafe30170d4fffea4d130\"\n}\n```\n\n    \u003e unfreezeBalanceV2 [OwnerAddress] unfreezeBalance ResourceCode(0 BANDWIDTH,1 ENERGY,2 TRON_POWER)\n\nOwnerAddress\n\u003e The address of the account that initiated the transaction, optional, default is the address of the login account.\n\nunfreezeBalance\n\u003e The amount of unfreeze, the unit is the smallest unit (Sun)\n\nResourceCode\n\u003e 0 BANDWIDTH;1 ENERGY\n\nExample:\n```console\nwallet\u003e UnFreezeBalanceV2 TJAVcszse667FmSNCwU2fm6DmfM5D4AyDh 9000000 0\ntxid is dcfea1d92fc928d24c88f7f71a03ae8105d0b5b112d6d48be93d3b9c73bea634\nwallet\u003e GetTransactionById dcfea1d92fc928d24c88f7f71a03ae8105d0b5b112d6d48be93d3b9c73bea634\n{\n    \"ret\":[\n        {\n            \"contractRet\":\"SUCCESS\"\n        }\n    ],\n    \"signature\":[\n        \"f73a278f742c11e8e5ede693ca09b0447a804fcb28ea2bfdfd8545bb05da7be44bd08cfaa92bd4d159178f763fcf753f28d5296bd0c3d4557532cce3b256b9da00\"\n    ],\n    \"txID\":\"dcfea1d92fc928d24c88f7f71a03ae8105d0b5b112d6d48be93d3b9c73bea634\",\n    \"raw_data\":{\n        \"contract\":[\n            {\n                \"parameter\":{\n                    \"value\":{\n                        \"owner_address\":\"4159e3741a68ec3e1ebba80ad809d5ccd31674236e\",\n                        \"unfreeze_balance\":9000000\n                    },\n                    \"type_url\":\"type.googleapis.com/protocol.UnfreezeBalanceV2Contract\"\n                },\n                \"type\":\"UnfreezeBalanceV2Contract\"\n            }\n        ],\n        \"ref_block_bytes\":\"0000\",\n        \"ref_block_hash\":\"19b59068c6058ff4\",\n        \"expiration\":1671119916913,\n        \"timestamp\":1671098316907\n    },\n    \"raw_data_hex\":\"0a020000220819b59068c6058ff440f19e89b4d1305a5a083712560a36747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e556e667265657a6542616c616e63655632436f6e7472616374121c0a154159e3741a68ec3e1ebba80ad809d5ccd31674236e10c0a8a50470ebf0e2a9d130\"\n}\n```\n\n### delegate/undelegate resource\n\n    \u003e delegateResource [OwnerAddress] balance ResourceCode(0 BANDWIDTH,1 ENERGY), ReceiverAddress [lock]\n\nOwnerAddress\n\u003e The address of the account that initiated the transaction, optional, default is the address of the login account.\n\nbalance\n\u003e The amount of delegate, the unit is the smallest unit (Sun), the minimum is 1000000sun.\n\nResourceCode\n\u003e 0 BANDWIDTH;1 ENERGY\n\nReceiverAddress\n\u003e The address of the account\n\nlock\n\u003e default is false, set true if need lock delegate for 3 days\n\nExample:\n```console\nwallet\u003e DelegateResource TJAVcszse667FmSNCwU2fm6DmfM5D4AyDh 10000000 0 TQ4gjjpAjLNnE67UFbmK5wVt5fzLfyEVs3 true\ntxid is 363ac0b82b6ad3e0d3cad90f7d72b3eceafe36585432a3e013389db36152b6ed\nwallet\u003e GetTransactionById 363ac0b82b6ad3e0d3cad90f7d72b3eceafe36585432a3e013389db36152b6ed\n{\n    \"ret\":[\n        {\n            \"contractRet\":\"SUCCESS\"\n        }\n    ],\n    \"signature\":[\n        \"1f57fd78456136faadc5091b47f5fd27a8e1181621e49129df6a4062499429fb48ee72e5f9a9ff5bfb7f2575f01f4076f7d4b89ca382d36af46a6fa4bc749f4301\"\n    ],\n    \"txID\":\"363ac0b82b6ad3e0d3cad90f7d72b3eceafe36585432a3e013389db36152b6ed\",\n    \"raw_data\":{\n        \"contract\":[\n            {\n                \"parameter\":{\n                    \"value\":{\n                        \"balance\":10000000,\n                        \"receiver_address\":\"419a9afe56e155ef0ff3f680d00ecf19deff60bdca\",\n                        \"lock\":true,\n                        \"owner_address\":\"4159e3741a68ec3e1ebba80ad809d5ccd31674236e\"\n                    },\n                    \"type_url\":\"type.googleapis.com/protocol.DelegateResourceContract\"\n                },\n                \"type\":\"DelegateResourceContract\"\n            }\n        ],\n        \"ref_block_bytes\":\"0000\",\n        \"ref_block_hash\":\"19b59068c6058ff4\",\n        \"expiration\":1671120059226,\n        \"timestamp\":1671098459216\n    },\n    \"raw_data_hex\":\"0a020000220819b59068c6058ff440daf691b4d1305a720839126e0a35747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e44656c65676174655265736f75726365436f6e747261637412350a154159e3741a68ec3e1ebba80ad809d5ccd31674236e1880ade2042215419a9afe56e155ef0ff3f680d00ecf19deff60bdca280170d0c8eba9d130\"\n}\n\n```\n\n    \u003e unDelegateResource [OwnerAddress] balance ResourceCode(0 BANDWIDTH,1 ENERGY), ReceiverAddress\n\nOwnerAddress\n\u003e The address of the account that initiated the transaction, optional, default is the address of the login account.\n\nbalance\n\u003e The amount of unDelegate, the unit is the smallest unit (Sun)\n\nResourceCode\n\u003e 0 BANDWIDTH;1 ENERGY\n\nReceiverAddress\n\u003e The address of the account\n\nExample:\n```console\nwallet\u003e UnDelegateResource TJAVcszse667FmSNCwU2fm6DmfM5D4AyDh 1000000 0 TQ4gjjpAjLNnE67UFbmK5wVt5fzLfyEVs3\ntxid is feb334794cf361fd351728026ccf7319e6ae90eba622b9eb53c626cdcae4965c\nwallet\u003e GetTransactionById  feb334794cf361fd351728026ccf7319e6ae90eba622b9eb53c626cdcae4965c\n{\n    \"ret\":[\n        {\n            \"contractRet\":\"SUCCESS\"\n        }\n    ],\n    \"signature\":[\n        \"85a41a4e44780ffbe0841a44fd71cf621f129d98e84984cfca68e03364f781aa7f9d44177af0b40d82da052feec9f47a399ed6e51be66c5db07cb13477dcde8c01\"\n    ],\n    \"txID\":\"feb334794cf361fd351728026ccf7319e6ae90eba622b9eb53c626cdcae4965c\",\n    \"raw_data\":{\n        \"contract\":[\n            {\n                \"parameter\":{\n                    \"value\":{\n                        \"balance\":1000000,\n                        \"receiver_address\":\"419a9afe56e155ef0ff3f680d00ecf19deff60bdca\",\n                        \"owner_address\":\"4159e3741a68ec3e1ebba80ad809d5ccd31674236e\"\n                    },\n                    \"type_url\":\"type.googleapis.com/protocol.UnDelegateResourceContract\"\n                },\n                \"type\":\"UnDelegateResourceContract\"\n            }\n        ],\n        \"ref_block_bytes\":\"0000\",\n        \"ref_block_hash\":\"19b59068c6058ff4\",\n        \"expiration\":1671120342283,\n        \"timestamp\":1671098742280\n    },\n    \"raw_data_hex\":\"0a020000220819b59068c6058ff4408b9aa3b4d1305a71083a126d0a37747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e556e44656c65676174655265736f75726365436f6e747261637412320a154159e3741a68ec3e1ebba80ad809d5ccd31674236e18c0843d2215419a9afe56e155ef0ff3f680d00ecf19deff60bdca7088ecfca9d130\"\n}\n```\n### withdraw expire unfreeze\n\u003e withdrawExpireUnfreeze [OwnerAddress]\n\nOwnerAddress\n\u003e The address of the account that initiated the transaction, optional, default is the address of the login account.\n\nExample:\n```console\nwallet\u003e withdrawexpireunfreeze TJAVcszse667FmSNCwU2fm6DmfM5D4AyDh\ntxid is e5763ab8dfb1e7ed076770d55cf3c1ddaf36d75e23ec8330f99df7e98f54a147\nwallet\u003e GetTransactionById e5763ab8dfb1e7ed076770d55cf3c1ddaf36d75e23ec8330f99df7e98f54a147\n{\n    \"ret\":[\n        {\n            \"contractRet\":\"SUCCESS\"\n        }\n    ],\n    \"signature\":[\n        \"f8f02b5aa634b8666862a6d2ed68fcfd90afc616d14062952b0b09f0404d9bca6c4d3dc6dab082784950ff1ded235a07dab0d738c8a202be9451d5ca92b8eece01\"\n    ],\n    \"txID\":\"e5763ab8dfb1e7ed076770d55cf3c1ddaf36d75e23ec8330f99df7e98f54a147\",\n    \"raw_data\":{\n        \"contract\":[\n            {\n                \"parameter\":{\n                    \"value\":{\n                        \"owner_address\":\"4159e3741a68ec3e1ebba80ad809d5ccd31674236e\"\n                    },\n                    \"type_url\":\"type.googleapis.com/protocol.WithdrawExpireUnfreezeContract\"\n                },\n                \"type\":\"WithdrawExpireUnfreezeContract\"\n            }\n        ],\n        \"ref_block_bytes\":\"0000\",\n        \"ref_block_hash\":\"19b59068c6058ff4\",\n        \"expiration\":1671122055318,\n        \"timestamp\":1671100455315\n    },\n    \"raw_data_hex\":\"0a020000220819b59068c6058ff44096e18bb5d1305a5a083812560a3b747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5769746864726177457870697265556e667265657a65436f6e747261637412170a154159e3741a68ec3e1ebba80ad809d5ccd31674236e7093b3e5aad130\"\n}\n```\n\u003e cancelAllUnfreezeV2 [OwnerAddress]\n\nOwnerAddress\n\u003e The address of the account that initiated the transaction, optional, default is the address of the login account.\n\nExample:\n```console\nwallet\u003e cancelAllUnfreezeV2 TJAVcszse667FmSNCwU2fm6DmfM5D4AyDh\ntxid is e5763ab8dfb1e7ed076770d55cf3c1ddaf36d75e23ec8330f99df7e98f54a147\nwallet\u003e GetTransactionById e5763ab8dfb1e7ed076770d55cf3c1ddaf36d75e23ec8330f99df7e98f54a147\n{\n    \"ret\":[\n        {\n            \"contractRet\":\"SUCCESS\"\n        }\n    ],\n    \"signature\":[\n        \"f8f02b5aa634b8666862a6d2ed68fcfd90afc616d14062952b0b09f0404d9bca6c4d3dc6dab082784950ff1ded235a07dab0d738c8a202be9451d5ca92b8eece01\"\n    ],\n    \"txID\":\"e5763ab8dfb1e7ed076770d55cf3c1ddaf36d75e23ec8330f99df7e98f54a147\",\n    \"raw_data\":{\n        \"contract\":[\n            {\n                \"parameter\":{\n                    \"value\":{\n                        \"owner_address\":\"4159e3741a68ec3e1ebba80ad809d5ccd31674236e\"\n                    },\n                    \"type_url\":\"type.googleapis.com/protocol.CancelAllUnfreezeV2\"\n                },\n                \"type\":\"CancelAllUnfreezeV2Contract\"\n            }\n        ],\n        \"ref_block_bytes\":\"0000\",\n        \"ref_block_hash\":\"19b59068c6058ff4\",\n        \"expiration\":1671122055318,\n        \"timestamp\":1671100455315\n    },\n    \"raw_data_hex\":\"0a020000220819b59068c6058ff44096e18bb5d1305a5a083812560a3b747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5769746864726177457870697265556e667265657a65436f6e747261637412170a154159e3741a68ec3e1ebba80ad809d5ccd31674236e7093b3e5aad130\"\n}\n```\n\n### get resource delegation information use v2 API\n\n    \u003e getDelegatedResourceV2 fromAddress toAddress\n\u003e get the information from the fromAddress to the toAddress resource delegate use v2 API\n\nfromAddress\n\u003e The address of the account that start the delegate\n\ntoAddress\n\u003e The address of the account that receive the delegate\n\nExample:\n```console\nwallet\u003e getDelegatedResourceV2 TJAVcszse667FmSNCwU2fm6DmfM5D4AyDh TQ4gjjpAjLNnE67UFbmK5wVt5fzLfyEVs3\n{\n\t\"delegatedResource\": [\n\t\t{\n\t\t\t\"from\": \"TJAVcszse667FmSNCwU2fm6DmfM5D4AyDh\",\n\t\t\t\"to\": \"TQ4gjjpAjLNnE67UFbmK5wVt5fzLfyEVs3\",\n\t\t\t\"frozen_balance_for_bandwidth\": 10000000\n\t\t}\n\t]\n}\n```\n\n    \u003e getDelegatedResourceAccountIndexV2 address\n\u003e get the information that address is delegated to other account resources use v2 API\n\naddress\n\u003e The address of the account that start the delegate or receive the delegate\n\nExample:\n```console\nwallet\u003e getDelegatedResourceAccountIndexV2 TJAVcszse667FmSNCwU2fm6DmfM5D4AyDh\n{\n\t\"account\": \"TJAVcszse667FmSNCwU2fm6DmfM5D4AyDh\",\n\t\"toAccounts\": [\n\t\t\"TQ4gjjpAjLNnE67UFbmK5wVt5fzLfyEVs3\"\n\t]\n}\n```\n\n    \u003e getcandelegatedmaxsize ownerAddress type\n\u003e get the max size that the ownerAddress can delegate use delegateResource\n\nownerAddress\n\u003e The address of the account that start the delegate, optional, default is the address of the login account.\n\ntype\n\u003e 0 bandwidth, 1 energy\n\nExample:\n```console\nwallet\u003e getCanDelegatedMaxSize TJAVcszse667FmSNCwU2fm6DmfM5D4AyDh 0\n{\n\t\"max_size\": 999999978708334\n}\n```\n\n    \u003e getavailableunfreezecount ownerAddress\n\u003e get the available unfreeze count that the ownerAddress can call unfreezeBalanceV2\n\nownerAddress\n\u003e The address of the account that initiated the transaction, optional, default is the address of the login account.\n\nExample:\n```console\nwallet\u003e getAvailableUnfreezeCount TJAVcszse667FmSNCwU2fm6DmfM5D4AyDh\n{\n\t\"count\": 31\n}\n```\n\n    \u003e getcanwithdrawunfreezeamount ownerAddress timestamp\n\u003e get the withdraw unfreeze amount that the ownerAddress can get by  withdrawexpireunfreeze \n\nownerAddress\n\u003e The address of the account that initiated the transaction, optional, default is the address of the login account.\n\ntimestamp\n\u003e get can withdraw unfreeze amount until timestamp,\n\n\nExample:\n```console\nwallet\u003e getCanWithdrawUnfreezeAmount TJAVcszse667FmSNCwU2fm6DmfM5D4AyDh 1671100335000\n{\n\t\"amount\": 9000000\n}\n```\n## Get resource prices and memo fee\n    \u003e getbandwidthprices\n\u003e get historical unit price of bandwidth\n\nExample:\n```console\nwallet\u003e getBandwidthPrices\n{\n    \"prices\": \"0:10,1606537680000:40,1614238080000:140,1626581880000:1000,1626925680000:140,1627731480000:1000\"\n}\n```\n    \u003e getenergyprices\n\u003e get historical unit price of energy\n\nExample:\n```console\nwallet\u003e getEnergyPrices\n{\n    \"prices\": \"0:100,1575871200000:10,1606537680000:40,1614238080000:140,1635739080000:280,1681895880000:420\"\n}\n```\n    \u003e getmemofee\n\u003e get memo fee\n\nExample:\n```console\nwallet\u003e getMemoFee\n{\n    \"prices\": \"0:0,1675492680000:1000000\"\n}\n```\n\n### get chain parameters\n\n\u003e GetChainParameters\n\nShow all parameters that the blockchain committee can set.\nExample:\n\n```console\n\u003e GetChainParameters\n```\n\n## import and export mnemonic\n    \u003eImportWalletByMnemonic\n\u003eImport wallet, you need to set a password, mnemonic\n\nExample:\n```console\nwallet\u003e ImportWalletByMnemonic\nPlease input password.\npassword:\nPlease input password again.\npassword:\nPlease enter 12 words (separated by spaces) [Attempt 1/3]:\n```\n\n\u003e ExportWalletMnemonic\n\u003eexport mnemonic of the address in the wallet\n\nExample:\n```console\nwallet\u003e ExportWalletMnemonic\nPlease input your password.\npassword:\nexportWalletMnemonic successful !!\na*ert tw*st co*rect mat*er pa*s g*ther p*t p*sition s*op em*ty coc*nut aband*n\n```\n\n## generate sub account\n    \u003eGenerateSubAccount\n\u003egenerate subaccount using the mnemonic in the wallet\n\nExample:\n```console\nwallet\u003e GenerateSubAccount  \nPlease input your password.  \npassword:  \n\n=== Sub Account Generator ===  \n-----------------------------  \nDefault Address: TYEhEg7b7tXm92UDbRDXPtJNU6T9xVGbbo  \nDefault Path: m/44'/195'/0'/0/1  \n-----------------------------  \n\n1. Generate Default Path  \n2. Change Account  \n3. Custom Path  \n\nEnter your choice (1-3): 1  \nmnemonic file : ./Mnemonic/TYEhEg7b7tXm92UDbRDXPtJNU6T9xVGbbo.json  \nGenerate a sub account successful, keystore file name is TYEhEg7b7tXm92UDbRDXPtJNU6T9xVGbbo.json  \ngenerateSubAccount successful.  \n```\n## clear wallet keystore\n    \u003eClearWalletKeystore\n\u003eclear wallet keystore of the login account\n\nExample:\n```console\nwallet\u003e ClearWalletKeystore \n\nWarning: Dangerous operation!\nThis operation will permanently delete the Wallet\u0026Mnemonic files of the Address: TABWx7yFhWrvZHbwKcCmFLyPLWjd2dZ2Rq\nWarning: The private key and mnemonic words will be permanently lost and cannot be recovered!\nContinue? (y/Y to proceed):y\n\nFinal confirmation:\nPlease enter: 'DELETE' to confirm the delete operation:\nConfirm: (DELETE): DELETE\n\nFile deleted successfully:\n- /wallet-cli/Wallet/TABWx8yFhWrvZHbwKcCmFLyPLWjd2dZ2Rq.json\n- /wallet-cli/Mnemonic/TABWx8yFhWrvZHbwKcCmFLyPLWjd2dZ2Rq.json\nClearWalletKeystore successful !!!\n```\n## export import wallet keystore\n    \u003eExportWalletKeystore\n\u003eexport the wallet keystore to the format of tronlink wallet\n\nExample:\n```console\nwallet\u003e ExportWalletKeystore tronlink /tmp\nPlease input your password.\npassword:\nexported keystore file : /tmp/TYdhEg8b7tXm92UDbRDXPtJNU6T9xVGbbo.json\nexportWalletKeystore successful !!\n```\n    \u003eImportWalletByKeystore\n\u003eimport the keystore file of tronlink wallet to wallet-cli \n\nExample:\n```console\nwallet\u003e ImportWalletByKeystore tronlink /tmp/tronlink.json\nPlease input password.\npassword:\nPlease input password again.\npassword:\nfileName = TYQq6zp51unQDNELmT4xKMWh5WLcwpCDZJ.json\nimportWalletByKeystore successful !!\n```\n## import wallet by ledger\n    \u003eImportWalletByLedger\n\u003eimport the derived account of ledger to wallet-cli\n\nExample:\n```console\nwallet\u003e ImportWalletByLedger\n((Note:This will pair Ledger to user your hardward wallet)\nOnly one Ledger device is supported. If you have multiple devices, please ensure only one is connected.\nLedger device found: Nano X\nPlease input password.\npassword:\nPlease input password again.\npassword:\n-------------------------------------------------\nDefault Account Address: TAT1dA8F9HXGqmhvMCjxCKAD29YxDRw81y\nDefault Path: m/44'/195'/0'/0/0\n-------------------------------------------------\n1. Import Default Account\n2. Change Path\n3. Custom Path\nSelect an option: 1\nImport a wallet by Ledger successful, keystore file : ./Wallet/Ledger-TAT1dA8F9HXGqmhvMCjxCKAD29YxDRw81y.json\nYou are now logged in, and you can perform operations using this account.\n```\n## login all\n\u003e LoginAll\n\u003eMultiple Keystore accounts can be logged in with a unified password\n\nExample:\n```console\nwallet\u003e loginall\nPlease input your password.\npassword: \nUse user defined config file in current dir\n[========================================] 100%\nThe 1th keystore file name is TJEEKTmaVTYSpJAxahtyuofnDSpe2seajB.json\nThe 2th keystore file name is TX1L9xonuUo1AHsjUZ3QzH8wCRmKm56Xew.json\nThe 3th keystore file name is TVuVqnJFuuDxN36bhEbgDQS7rNGA5dSJB7.json\nThe 4th keystore file name is Ledger-TRvVXgqddDGYRMx3FWf2tpVxXQQXDZxJQe.json\nThe 5th keystore file name is TYXFDtn86VPFKg4mkwMs45DKDcpAyqsada.json\nPlease choose between 1 and 5\n5\nLoginAll  successful !!!\n```\n\n## logout\n\u003e Logout\n\u003e Log out of the current wallet account.\n\nExample:\n```console\nwallet\u003e Logout\nLogout  successful !!!\n```\n\n## lock\n\u003e Lock\n\u003eTo use the lock function of the login account, it is necessary to configure **lockAccount = true** in the **config.conf**.\nThe current login account is locked, which means that signatures and transactions are not allowed.\n\nExample:\n```console\nwallet\u003e lock\nlock  successful !!!\n```\n\n## unlock\n\u003e Unlock\n\u003eTo use the unlock function of the login account, it is necessary to configure **lockAccount = true** in the **config.conf**.\nAfter the current login account is locked, it can be unlocked. By default, it will be unlocked again after 300 seconds. Unlocking can specify parameters in seconds.\n\nExample:\n```console\nwallet\u003e unlock 60\nPlease input your password.\npassword: \nunlock  successful !!!\n```\n\n## switch network\n    \u003e SwitchNetwork\n\u003eThis command allows for flexible network switching at any time.\n\u003e`switchnetwork local` will switch to the network configured in local config.conf.\n\nExample:\n```console\nwallet\u003e switchnetwork\nPlease select network：\n1. MAIN\n2. NILE\n3. SHASTA\nEnter numbers to select a network (1-3):1\nNow, current network is : MAIN\nSwitchNetwork  successful !!!\n```\n```console\nwallet\u003e switchnetwork main\nNow, current network is : MAIN\nSwitchNetwork  successful !!!\n```\n\n```console\nwallet\u003e switchnetwork empty localhost:50052\nNow, current network is : CUSTOM\nSwitchNetwork  successful !!!\n```\n\n## current network\n    \u003e CurrentNetwork\n\u003eView current network.\n\nExample:\n```console\nwallet\u003e currentnetwork\ncurrentNetwork: NILE\n```\n\n```console\nwallet\u003e currentnetwork\ncurrent network: CUSTOM\nfullNode: EMPTY, solidityNode: localhost:50052\n```\n## Gas Free Support\n\nWallet-cli now supports GasFree integration. This guide explains the new commands and provides instructions on how to use them.\n\nFor more details, please refer to  [GasFree Documentation](https://gasfree.io/specification) and [TronLink User Guide For GasFree](https://support.tronlink.org/hc/en-us/articles/38903684778393-GasFree-User-Guide).\n\nPrerequisites\nAPI Credentials: Users must obtain the API Key and API Secret from GasFree for authentication. Please refer to the official [application form](https://docs.google.com/forms/d/e/1FAIpQLSc5EB1X8JN7LA4SAVAG99VziXEY6Kv6JxmlBry9rUBlwI-GaQ/viewform) for instructions on setting up API authentication.\n\nNew Commands:\n\n### Gas Free info\n\u003e GasFreeInfo\nQuery GasFree Information\nFunction: Retrieve the basic info, including the GasFree address associated with your current wallet address.\nNote: The GasFree address is automatically activated upon the first transfer, which may incur an activation fee.\n\nExample:\n```console\nwallet\u003e gasfreeinfo\nbalanceOf(address):70a08231\n{\n\t\"gasFreeAddress\":\"TCtSt8fCkZcVdrGpaVHUr6P8EmdjysswMF\",\n\t\"active\":true,\n\t\"tokenBalance\":998696000,\n\t\"activateFee\":0,\n\t\"transferFee\":2000,\n\t\"maxTransferValue\":998694000\n}\ngasFreeInfo:  successful !!\n```\n\n```console\nwallet\u003e gasfreeinfo TRvVXgqddDGYRMx3FWf2tpVxXQQXDZxJQe\nbalanceOf(address):70a08231\n{\n\t\"gasFreeAddress\":\"TCtSt8fCkZcVdrGpaVHUr6P8EmdjysswMF\",\n\t\"active\":true,\n\t\"tokenBalance\":998696000,\n\t\"activateFee\":0,\n\t\"transferFee\":2000,\n\t\"maxTransferValue\":998694000\n}\ngasFreeInfo:  successful !!\n```\n### Gas Free transfer\n\u003e GasFreeTransfer\nSubmit GasFree Transfer\nFunction: Submit a gas-free token transfer request.\n\nExample:\n```console\nwallet\u003e gasfreetransfer TEkj3ndMVEmFLYaFrATMwMjBRZ1EAZkucT 100000\n\nGasFreeTransfer result: {\n\t\"code\":200,\n\t\"data\":{\n\t\t\"amount\":100000,\n\t\t\"providerAddress\":\"TKtWbdzEq5ss9vTS9kwRhBp5mXmBfBns3E\",\n\t\t\"apiKey\":\"\",\n\t\t\"accountAddress\":\"TUUSMd58eC3fKx3fn7whxJyr1FR56tgaP8\",\n\t\t\"signature\":\"\",\n\t\t\"targetAddress\":\"TEkj3ndMVEmFLYaFrATMwMjBRZ1EAZkucT\",\n\t\t\"maxFee\":2000000,\n\t\t\"version\":1,\n\t\t\"nonce\":8,\n\t\t\"tokenAddress\":\"TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf\",\n\t\t\"createdAt\":1747909635678,\n\t\t\"expiredAt\":1747909695000,\n\t\t\"estimatedTransferFee\":2000,\n\t\t\"id\":\"6c3ff67e-0bf4-4c09-91ca-0c7c254b01a0\",\n\t\t\"state\":\"WAITING\",\n\t\t\"estimatedActivateFee\":0,\n\t\t\"gasFreeAddress\":\"TNER12mMVWruqopsW9FQtKxCGfZcEtb3ER\",\n\t\t\"updatedAt\":1747909635678\n\t}\n}\nGasFreeTransfer  successful !!!\n```\n\n### Gas Free trace\n\u003e GasFreeTrace\nTrack Transfer Status\nFunction: Check the progress of a GasFree transfer using the traceId obtained from GasFreeTransfer.\n\nExample:\n```console\nwallet\u003e gasfreetrace 6c3ff67e-0bf4-4c09-91ca-0c7c254b01a0\nGasFreeTrace result: {\n\t\"code\":200,\n\t\"data\":{\n\t\t\"amount\":100000,\n\t\t\"providerAddress\":\"TKtWbdzEq5ss9vTS9kwRhBp5mXmBfBns3E\",\n\t\t\"txnTotalCost\":102000,\n\t\t\"accountAddress\":\"TUUSMd58eC3fKx3fn7whxJyr1FR56tgaP8\",\n\t\t\"txnActivateFee\":0,\n\t\t\"estimatedTotalCost\":102000,\n\t\t\"targetAddress\":\"TEkj3ndMVEmFLYaFrATMwMjBRZ1EAZkucT\",\n\t\t\"txnBlockTimestamp\":1747909638000,\n\t\t\"txnTotalFee\":2000,\n\t\t\"nonce\":8,\n\t\t\"estimatedTotalFee\":2000,\n\t\t\"tokenAddress\":\"TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf\",\n\t\t\"txnHash\":\"858f9a00776163b1f8a34467b9c5727657f8971a9f4e9d492f0a247fac0384f9\",\n\t\t\"txnBlockNum\":57175988,\n\t\t\"createdAt\":1747909635678,\n\t\t\"expiredAt\":1747909695000,\n\t\t\"estimatedTransferFee\":2000,\n\t\t\"txnState\":\"ON_CHAIN\",\n\t\t\"id\":\"6c3ff67e-0bf4-4c09-91ca-0c7c254b01a0\",\n\t\t\"state\":\"CONFIRMING\",\n\t\t\"estimatedActivateFee\":0,\n\t\t\"gasFreeAddress\":\"TNER12mMVWruqopsW9FQtKxCGfZcEtb3ER\",\n\t\t\"txnTransferFee\":2000,\n\t\t\"txnAmount\":100000\n\t}\n}\nGasFreeTrace:  successful!!\n```\n\n## switch wallet\n    \u003e SwitchWallet\n\u003eAfter logging in with the LoginAll command, you can switch wallets\n\nExample:\n```console\nwallet\u003e switchwallet\nThe 1th keystore file name is TJEEKTmaVTYSpJAxahtyuofnDSpe2seajB.json\nThe 2th keystore file name is TX1L9xonuUo1AHsjUZ3QzH8wCRmKm56Xew.json\nThe 3th keystore file name is TVuVqnJFuuDxN36bhEbgDQS7rNGA5dSJB7.json\nThe 4th keystore file name is Ledger-TRvVXgqddDGYRMx3FWf2tpVxXQQXDZxJQe.json\nThe 5th keystore file name is TYXFDtn86VPFKg4mkwMs45DKDcpAyqsada.json\nPlease choose between 1 and 5\n5\nSwitchWallet  successful !!!\n```\n\n## reset wallet\n    \u003e ResetWallet\n\u003eUse the resetWallet command to delete all local wallet's Keystore files and mnemonic files, and guide you to re register or import the wallet through prompts\n\nExample:\n```console\nwallet\u003e resetwallet\nUser defined config file doesn't exists, use default config file in jar\n\nWarning: Dangerous operation!\nThis operation will permanently delete the Wallet\u0026Mnemonic files \nWarning: The private key and mnemonic words will be permanently lost and cannot be recovered!\nContinue? (y/Y to proceed, c/C to cancel): \ny\n\nFinal confirmation:\nPlease enter: 'DELETE' to confirm the delete operation:\nConfirm: (DELETE): DELETE\nresetWallet  successful !!!\nNow, you can RegisterWallet or ImportWallet again. Or import the wallet through other means.\n```\n\n## create account\n\u003e CreateAccount\n\u003eThis command can create a new account with an inactive address and burn a 1-trx handling fee for it\n\nExample:\n```console\nwallet\u003e createaccount TDJ13zZzT3w91WMBm98gC3mwL7NbA6sQPA\n{\n\t\"raw_data\":{\n\t\t\"contract\":[\n\t\t\t{\n\t\t\t\t\"parameter\":{\n\t\t\t\t\t\"value\":{\n\t\t\t\t\t\t\"owner_address\":\"TQLaB7L8o3ikjRVcN7tTjMZsRYPJ23XZbd\",\n\t\t\t\t\t\t\"account_address\":\"TDJ13zZzT3w91WMBm98gC3mwL7NbA6sQPA\"\n\t\t\t\t\t},\n\t\t\t\t\t\"type_url\":\"type.googleapis.com/protocol.AccountCreateContract\"\n\t\t\t\t},\n\t\t\t\t\"type\":\"AccountCreateContract\"\n\t\t\t}\n\t\t],\n\t\t\"ref_block_bytes\":\"91a4\",\n\t\t\"ref_block_hash\":\"2bfcd3bb597f3d40\",\n\t\t\"expiration\":1745333676000,\n\t\t\"timestamp\":1745333618318\n\t},\n\t\"raw_data_hex\":\"0a0291a422082bfcd3bb597f3d4040e0cff9efe5325a6612640a32747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e4163636f756e74437265617465436f6e7472616374122e0a15419d9c2bb5ee381a4396dd49ce42292e756b2e5e4b12154124764e4674179d4578cfc4c833c1ac1a09f6ce56708e8df6efe532\"\n}\nBefore sign transaction hex string is 0a84010a0291a422082bfcd3bb597f3d4040e0cff9efe5325a6612640a32747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e4163636f756e74437265617465436f6e7472616374122e0a15419d9c2bb5ee381a4396dd49ce42292e756b2e5e4b12154124764e4674179d4578cfc4c833c1ac1a09f6ce56708e8df6efe532\nPlease confirm and input your permission id, if input y/Y means default 0, other non-numeric characters will cancel transaction.\ny\nPlease choose your key for sign.\nThe 1th keystore file name is TJEEKTmaVTYSpJAxahtyuofnDSpe2seajB.json\nThe 2th keystore file name is TX1L9xonuUo1AHsjUZ3QzH8wCRmKm56Xew.json\nThe 3th keystore file name is TVuVqnJFuuDxN36bhEbgDQS7rNGA5dSJB7.json\nThe 4th keystore file name is Ledger-TRvVXgqddDGYRMx3FWf2tpVxXQQXDZxJQe.json\nThe 5th keystore file name is TYXFDtn86VPFKg4mkwMs45DKDcpAyqsada.json\nPlease choose between 1 and 5\n1\nAfter sign transaction hex string is 0a84010a0291a422082bfcd3bb597f3d404083bd9cfae5325a6612640a32747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e4163636f756e74437265617465436f6e7472616374122e0a15419d9c2bb5ee381a4396dd49ce42292e756b2e5e4b12154124764e4674179d4578cfc4c833c1ac1a09f6ce56708e8df6efe5321241ce53add4f75fe1838aa7e0a4e2411b3bbfce1d2164d68dac18507ed87e22ae503f65592a1161640834b3c0cef43c28f20b2d335120cc78b6f745a82ea95e451100\nTxId is 26d6fcdfdc0018097ec4166eb140e19ebd597bea2212579d2f6d921b0ad6e56f\nCreateAccount  successful !!\n```\n\n### set account id\n\n\u003e SetAccountId [owner_address] account_id\n\nSets a custom unique identifier (Account ID) for an account.\n\nExample:\n\n```console\n\u003e SetAccountId TEDapYSVvAZ3aYH7w8N9tMEEFKaNKUD5Bp 100\n```\n\n### update account\n\n\u003e UpdateAccount [owner_address] account_name\n\nModify account name.\n\nExample:\n\n```console\n\u003e UpdateAccount test-name\n```\n\n### Modify wallet name\n\u003e ModifyWalletName new_wallet_name\n\nModify wallet's name.\n\nExample:\n```console\nwallet\u003e ModifyWalletName new-name\nModify Wallet Name  successful !!\n```\n\n### View backup records\n\u003e ViewBackupRecords\n\nView backup records. You can configure the maximum number of records that `maxRecords` can retain in `config.conf`, excluding the number of buffer records.\n\nExample:\n```console\nwallet\u003e ViewBackupRecords\n\n=== View Backup Records ===\n1. View all records\n2. Filter by time range\nChoose an option (1-2): 1\n```\n### View transaction history\n\u003e ViewTransactionHistory\n\nView transaction history. You can configure the maximum number of records that `maxRecords` can retain in `config.conf`, excluding the number of buffer records.\n\nExample:\n```console\nwallet\u003e ViewTransactionHistory\n====================================\n        TRANSACTION VIEWER\n====================================\n\nMAIN MENU:\n1. View all transactions\n2. Filter by time range\n3. Help\n4. Exit\nSelect option: 1\n```\n\n\n## Wallet related commands\n\n**RegisterWallet**\n\u003e Register your wallet, you need to set the wallet password and generate the address and private key.\n\n**BackupWallet**\n\u003e Back up your wallet, you need to enter your wallet password and export the private key.hex string format, such\nas: 1234567890123456789012345678901234567890123456789012345678901234\n\n**BackupWallet2Base64**\n\u003e Back up your wallet, you need to enter your wallet password and export the private key.base64 format, such as: ch1jsHTxjUHBR+BMlS7JNGd3ejC28WdFvEeo6uUHZUU=\n\n**ChangePassword**\n\u003e Modify the password of an account\n\n**ImportWallet**\n\u003e Import wallet, you need to set a password, hex String format\n\n**ImportWalletByBase64**\n\u003e Import wallet, you need to set a password, base64 format\n\n## Account related commands\n\n**GenerateAddress**\n\u003e Generate an address and print out the address and private key\n\n**GetAccount**\n\u003e Get account information based on address\n**GetAccountById**\n\u003e Get account details information through account id\n\n**GetAccountNet**\n\u003e The usage of bandwidth\n\n**GetAccountResource**\n\u003e The usage of bandwidth and energy\n\n**GetAddress**\n\u003e Get the address of the current login account\n\n**GetBalance**\n\u003e Get the balance of the current login account\n\n## How to get transaction information\n\n**GetTransactionById**\n\u003e Get transaction information based on transaction id\n\n**GetTransactionCountByBlockNum**\n\u003e Get the number of transactions in the block based on the block height\n\n**GetTransactionInfoById**\n\u003e Get transaction-info based on transaction id, generally used to check the result of a smart contract trigger\n\n**GetTransactionInfoByBlockNum**\n\u003e Get the list of transaction information in the block based on the block height\n\n## How to get block information\n\n**GetBlock**\n\u003e Get the block according to the block number; if you do not pass the parameter, get the latest block\n\n**GetBlockById**\n\u003e Get block based on blockID\n\n**GetBlockByIdOrNum**\n\u003e Get blocks based on their ID or block height. If no parameters are passed, Get the header block.\n\n**GetBlockByLatestNum n**\n\u003e Get the latest n blocks, where 0 \u003c n \u003c 100\n\n**GetBlockByLimitNext startBlockId endBlockId**\n\u003e Get the block in the range [startBlockId, endBlockId)\n\n## Some others\n\n**GetNextMaintenanceTime**\n\u003e Get the start time of the next maintain period\n\n**ListNodes**\n\u003e Get other peer information\n\n**ListWitnesses**\n\u003e Get all miner node information\n\n**BroadcastTransaction**\n\u003e Broadcast the transaction, where the transaction is in hex string format.\n\n## How to use tron-dex to sell asset\n\n### MarketSellAsset\n\nCreate an order to sell asset    \n\n\u003e MarketSellAsset owner_address sell_token_id sell_token_quantity buy_token_id buy_token_quantity  \n\nownerAddress\n\u003e The address of the account that initiated the transaction\n\nsell_token_id, sell_token_quantity\n\u003e ID and amount of the token want to sell\n\nbuy_token_id, buy_token_quantity\n\u003e ID and amount of the token want to buy\n\nExample: \n\n```console\nMarketSellAsset TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW  1000001 200 _ 100    \n\nGet the result of the contract execution with the getTransactionInfoById command:   \ngetTransactionInfoById 10040f993cd9452b25bf367f38edadf11176355802baf61f3c49b96b4480d374   \n\n{\n\t\"id\": \"10040f993cd9452b25bf367f38edadf11176355802baf61f3c49b96b4480d374\",\n\t\"blockNumber\": 669,\n\t\"blockTimeStamp\": 1578983493000,\n\t\"contractResult\": [\n\t\t\"\"\n\t],\n\t\"receipt\": {\n\t\t\"net_usage\": 264\n\t}\n} \n```\n\n### GetMarketOrderByAccount\n\nGet the order created by account(just include active status)\n\n\u003e GetMarketOrderByAccount ownerAddress\n\nownerAddress\n\u003e The address of the account that created market order\n\nExample:\n\n```console\nGetMarketOrderByAccount TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW   \n{\n\t\"orders\": [\n\t\t{\n\t\t\t\"order_id\": \"fc9c64dfd48ae58952e85f05ecb8ec87f55e19402493bb2df501ae9d2da75db0\",\n\t\t\t\"owner_address\": \"TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW\",\n\t\t\t\"create_time\": 1578983490000,\n\t\t\t\"sell_token_id\": \"_\",\n\t\t\t\"sell_token_quantity\": 100,\n\t\t\t\"buy_token_id\": \"1000001\",\n\t\t\t\"buy_token_quantity\": 200,\n\t\t\t\"sell_token_quantity_remain\": 100\n\t\t}\n\t]\n}  \n```\n\n### GetMarketOrderById\n\nGet the specific order by order_id\n\n\u003e GetMarketOrderById orderId\n\nExample:  \n\n```console\nGetMarketOrderById fc9c64dfd48ae58952e85f05ecb8ec87f55e19402493bb2df501ae9d2da75db0   \n{\n\t\"order_id\": \"fc9c64dfd48ae58952e85f05ecb8ec87f55e19402493bb2df501ae9d2da75db0\",\n\t\"owner_address\": \"TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW\",\n\t\"create_time\": 1578983490000,\n\t\"sell_token_id\": \"_\",\n\t\"sell_token_quantity\": 100,\n\t\"buy_token_id\": \"1000001\",\n\t\"buy_token_quantity\": 200,\n}\n```\n\n### GetMarketPairList\n\nGet market pair list\n\nExample:\n\n```console\nGetMarketPairList   \n{\n\t\"orderPair\": [\n\t\t{\n\t\t\t\"sell_token_id\": \"_\",\n\t\t\t\"buy_token_id\": \"1000001\"\n\t\t}\n\t]\n}\n```\n\n### GetMarketOrderListByPair\n\nGet order list by pair   \n\n\u003e GetMarketOrderListByPair sell_token_id buy_token_id   \n\nsell_token_id\n\u003e ID of the token want to sell      \n\nbuy_token_id\n\u003e ID of the token want to buy\n\nExample: \n\n```console\nGetMarketOrderListByPair _ 1000001   \n{\n\t\"orders\": [\n\t\t{\n\t\t\t\"order_id\": \"fc9c64dfd48ae58952e85f05ecb8ec87f55e19402493bb2df501ae9d2da75db0\",\n\t\t\t\"owner_address\": \"TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW\",\n\t\t\t\"create_time\": 1578983490000,\n\t\t\t\"sell_token_id\": \"_\",\n\t\t\t\"sell_token_quantity\": 100,\n\t\t\t\"buy_token_id\": \"1000001\",\n\t\t\t\"buy_token_quantity\": 200,\n\t\t\t\"sell_token_quantity_remain\": 100\n\t\t}\n\t]\n}\n```\n\n### GetMarketPriceByPair\n\nGet market price by pair   \n\n\u003e GetMarketPriceByPair sell_token_id buy_token_id   \n\nsell_token_id\n\u003e ID of the token want to sell\n\nbuy_token_id\n\u003e ID of the token want to buy\n\nExample:   \n\n```console\nGetMarketPriceByPair _ 1000001   \n{\n\t\"sell_token_id\": \"_\",\n\t\"buy_token_id\": \"1000001\",\n\t\"prices\": [\n\t\t{\n\t\t\t\"sell_token_quantity\": 100,\n\t\t\t\"buy_token_quantity\": 200\n\t\t}\n\t]\n}\n```\n\n### MarketCancelOrder\n\nCancel the order   \n\n\u003e MarketCancelOrder owner_address order_id  \n\nowner_address\n\u003e the account address who have created the order\n\norder_id\n\u003e the order id which want to cancel \n\nExample:   \n\n```console\nMarketCancelOrder TJCnKsPa7y5okkXvQAidZBzqx3QyQ6sxMW fc9c64dfd48ae58952e85f05ecb8ec87f55e19402493bb2df501ae9d2da75db0  \n```\n\nGet the result of the contract execution with the getTransactionInfoById command:  \n```console\ngetTransactionInfoById b375787a098498623403c755b1399e82910385251b643811936d914c9f37bd27   \n{\n\t\"id\": \"b375787a098498623403c755b1399e82910385251b643811936d914c9f37bd27\",\n\t\"blockNumber\": 1582,\n\t\"blockTimeStamp\": 1578986232000,\n\t\"contractResult\": [\n\t\t\"\"\n\t],\n\t\"receipt\": {\n\t\t\"net_usage\": 283\n\t}\n}\n```\n### Address book\n\u003e AddressBook\n\nAddition, deletion, modification, and search of address book.\n\nExample:\n```console\nwallet\u003e AddressBook \n\nMAIN MENU:\n1. addAddress\n2. editAddress\n3. delAddress\n4. getAddressBook\nSelect option: 1\n```\n### show receiving qr code\n\u003e show-receiving-qr-code\n\nDisplay Receive Payment QR Code for the current address.\nExecuting this command requires installing 'qrencode' on the terminal in advance.\nDebian/Ubuntu:\nsudo apt install qrencode\nCentOS:\nsudo yum install qrencode\nRHEL/Fedora:\nsudo dnf install qrencode\nmacOS:\nbrew install qrencode\n\nExample:\n```console\nwallet\u003e ShowReceivingQrCode \n█████████████████████████████████████\n████ ▄▄▄▄▄ ██▄▀▀ ▄ ▀▄▀ ▀▀█ ▄▄▄▄▄ ████\n████ █   █ █▄  ▀▄  ▀▄▀▀███ █   █ ████\n████ █▄▄▄█ ██▀▄██▀▄▀▄▀ ▀██ █▄▄▄█ ████\n████▄▄▄▄▄▄▄█ ▀ █ ▀ ▀ ▀ ▀ █▄▄▄▄▄▄▄████\n████▄  █▄▄▄▄▄█  ██  ▀▀██▀  ██▀▄▀▀████\n████▄█▀▄█▀▄▀▄▄█▀█▄█▀▄ █▀██▄ █▄▄ ▄████\n████ █▄█▄ ▄▄▄██▀ ▀█▀▄██▄█▄▄ █ █ ▄████\n████ ▄▀▄▀▄▄▀ ▄█▄ ▀ ▀█  █ ██▀▀█▄▄▄████\n████▄█▀ ██▄██ ▄ ██ ██ █   ▄▄▄   ▄████\n████▄▀▀ ▀█▄█▀▄▀▀█▄█▄█▀ ▀▄▀█ ▄▄▄ ▄████\n████▄██▄█▄▄▄▀ ▄▀ ▀██  ▄▄ ▄▄▄  ▄▄▄████\n████ ▄▄▄▄▄ █ █▀▄ ▀ █▄▀▄  █▄█ ▄█▄ ████\n████ █   █ █▄▀▀ ██ ▄▄  █  ▄ ▄▄▄██████\n████ █▄▄▄█ █ ▀█▀█▄█▄▀▀█▄ ▄█  ██▀▄████\n████▄▄▄▄▄▄▄█▄▄██▄██ ▀▀▄▄▄▄█   ▀  ████\n█████████████████████████████████████\nTEDapYSVvAZ3aYH7w8N9tMEEFKaNKUD5Bp\n```\n### get usdt balance\n\u003e GetUSDTBalance\n\nGet the current USDT balance of the account.\n\nExample:\n```console\nwallet\u003e getusdtbalance\nbalanceOf(address):70a08231\nExecution result = {\n        \"constant_result\": [\n                \"0000000000000000000000000000000000000000000000000000000000000000\"\n        ],\n        \"result\": {\n                \"result\": true\n        },\n        \"energy_used\": 4062,\n        \"energy_penalty\": 3127\n}\nUSDT balance = 0\n```\n### get usdt transfer by id\n\u003e GetUsdtTransferById\n\nGet USDT transfer transaction summary based on transaction ID.\n\nExample:\n```console\nwallet\u003e GetUsdtTransferById b0044dcb188568d11e77da926d96630f3e878583c5d5f4b3a72d2b984802143a\n{\n        \"id\":\"b0044dcb188568d11e77da926d96630f3e878583c5d5f4b3a72d2b984802143a\",\n        \"type\":\"TriggerSmartContract(transferUSDT)\",\n        \"from\":\"TUUSMd58eC3fKx3fn7whxJyr1FR56tgaP8\",\n        \"to\":\"TGDjv2KKD4UqEmFTnZgLzup5WWjTex4Mvq\",\n        \"amount\":100,\n        \"tronscanQueryUrl\":\"https://nile.tronscan.org/#/transaction/b0044dcb188568d11e77da926d96630f3e878583c5d5f4b3a72d2b984802143a\"\n}\n```\n### transfer usdt\n\u003e TransferUSDT\n\nMake a USDT transfer.\n\nExample:\n```console\nwallet\u003e transferusdt TR311sD6KasRnofj5RnFiFBA2rH8RH2kYk 1\nbalanceOf(address):70a08231\nExecution result = {\n\t\"constant_result\": [\n\t\t\"000000000000000000000000000000000000000000000000000000006544ae57\"\n\t],\n\t\"result\": {\n\t\t\"result\": true\n\t},\n\t\"energy_used\": 935\n}\nUSDT balance = 1698999895\ntransfer(address,uint256):a9059cbb\nIt is estimated that 345 bandwidth and 29650 energy will be consumed.\nExecution result = {\n\t\"constant_result\": [\n\t\t\"0000000000000000000000000000000000000000000000000000000000000000\"\n\t],\n\t\"result\": {\n\t\t\"result\": true\n\t},\n\t\"energy_used\": 29650,\n\t\"logs\": [\n\t\t{\n\t\t\t\"address\": \"NaMomAhUzuFzMNFzzQHVNsR8xbmP3A5LT\",\n\t\t\t\"topics\": [\n\t\t\t\t\"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\",\n\t\t\t\t\"000000000000000000000000caf9798d70a3c609b600f163e53cfe8f586e1b9f\",\n\t\t\t\t\"000000000000000000000000a5418b8da12e73075abb46375e7a15c758ea21fc\"\n\t\t\t],\n\t\t\t\"data\": \"0000000000000000000000000000000000000000000000000000000000000001\"\n\t\t}\n\t]\n}\n{\n\t\"raw_data\":{\n\t\t\"contract\":[\n\t\t\t{\n\t\t\t\t\"parameter\":{\n\t\t\t\t\t\"value\":{\n\t\t\t\t\t\t\"data\":\"a9059cbb000000000000000000000041a5418b8da12e73075abb46375e7a15c758ea21fc0000000000000000000000000000000000000000000000000000000000000001\",\n\t\t\t\t\t\t\"owner_address\":\"TUUSMd58eC3fKx3fn7whxJyr1FR56tgaP8\",\n\t\t\t\t\t\t\"contract_address\":\"TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf\"\n\t\t\t\t\t},\n\t\t\t\t\t\"type_url\":\"type.googleapis.com/protocol.TriggerSmartContract\"\n\t\t\t\t},\n\t\t\t\t\"type\":\"TriggerSmartContract\"\n\t\t\t}\n\t\t],\n\t\t\"ref_block_bytes\":\"08c7\",\n\t\t\"ref_block_hash\":\"c02252c2ae3b92e1\",\n\t\t\"expiration\":1761639507000,\n\t\t\"fee_limit\":1000000000,\n\t\t\"timestamp\":1761639448851\n\t},\n\t\"raw_data_hex\":\"0a0208c72208c02252c2ae3b92e140b8c896cfa2335aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a1541caf9798d70a3c609b600f163e53cfe8f586e1b9f121541eca9bc828a3005b9a3b909f2cc5c2a54794de05f2244a9059cbb000000000000000000000041a5418b8da12e73075abb46375e7a15c758ea21fc000000000000000000000000000000000000000000000000000000000000000170938293cfa23390018094ebdc03\"\n}\nBefore sign transaction hex string is 0ad4010a0208c72208c02252c2ae3b92e140b8c896cfa2335aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a1541caf9798d70a3c609b600f163e53cfe8f586e1b9f121541eca9bc828a3005b9a3b909f2cc5c2a54794de05f2244a9059cbb000000000000000000000041a5418b8da12e73075abb46375e7a15c758ea21fc000000000000000000000000000000000000000000000000000000000000000170938293cfa23390018094ebdc03\nPlease confirm and input your permission id, if input y/Y means default 0, other non-numeric characters will cancel transaction.\ny\nPlease choose your key for sign.\n\nNo.  Address                                    Name                                                                        \n1    TUUSMd58eC3fKx3fn7whxJyr1FR56tgaP8         test                                                                                                                                          \nPlease choose No. between 1 and 1, or enter search to search wallets\n1\nPlease input your password.\nLxc1992117\nAfter sign transaction hex string is 0ad4010a0208c72208c02252c2ae3b92e1409fb0b9d9a2335aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a1541caf9798d70a3c609b600f163e53cfe8f586e1b9f121541eca9bc828a3005b9a3b909f2cc5c2a54794de05f2244a9059cbb000000000000000000000041a5418b8da12e73075abb46375e7a15c758ea21fc000000000000000000000000000000000000000000000000000000000000000170938293cfa23390018094ebdc031241a776830e5cd054c6a94631b6d62704e249e7587ab3f036e5e4fac15cbf49e671262532e094e1a32ad858272da3e101958102df61b0f72f26756a94b608883a6f01\nTxId is 9c8d4b84e9a71ccaad86b0a96f790067d3fc7ea85c26b425e5d748b81d31a8b8\nTransfer 1 to TR311sD6KasRnofj5RnFiFBA2rH8RH2kYk broadcast  successful.\nPlease check the given transaction id to get the result on blockchain using getTransactionInfoById command.\n```\n### tronlink multi sign\n\u003e TronlinkMultiSign\n\nCreate multi sign transactions and view the multi sign transaction list through the tronlink service.\n\nExample:\n```console\nwallet\u003e tronlinkmultisign\n\n=== Multi-Sign Manager ===\n1. Multi-sign transaction list\n2. Create multi-sign transaction\n0. Exit\nPlease enter the number to operate:\n```\n\n### encoding converter\n\u003e EncodingConverter\n\nA Useful Encoding Converter.\n\nExample:\n```console\nwallet\u003e EncodingConverter\n\n==============================\n  Encoding Converter (CLI)\n==============================\n1) TRON - EVM Address\n2) Base64 Encode / Decode\n3) Base58Check Encode / Decode\n4) Public Key -\u003e Address\n5) Private Key -\u003e Public Key \u0026 Address\n0) Exit\n\u003e \n```\n\n### How to get privateKey through mnemonic\n\u003e GetPrivateKeyByMnemonic\n\nGet the private key through mnemonics.\n\nExample:\n```console\nwallet\u003e GetPrivateKeyByMnemonic\n\nPlease enter 12 or 24 words (separated by spaces) [Attempt 1/3]:\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftronprotocol%2Fwallet-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftronprotocol%2Fwallet-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftronprotocol%2Fwallet-cli/lists"}