Adding full-featured blockchain
TokenPocket wallet now supports adding EVM, Polkadot, and EOSIO technology blockchain through configuration. This document is for project parties who need to integrate their blockchain to TokenPocket. First of all, the blockchain must be EVM, Polkadot, or EOSIO, and projects need to provide information such as nodes, browsers, token information and transaction record services as described in this document, and finally, after reviewed by the TokenPocket official personnel, the blockchain can be quickly integrated to the TokenPocket wallet.
The full-featured blockchain of TokenPocket wallet provides users with rich functions and experiences. Some common functions include displaying a list of supported blockchain, native currency and non-native currency, token price, popular token picklist, transaction records and details. As shown in the figure 1, display the list of blockchain that TokenPocket wallet supports. Users also can quickly select the blockchain in the list to create or import the wallet for asset management.

As shown in the figure, Users can view transaction records and details, and quickly add tokens through the popular Token list.

The above shows some common functions of the full-featured blockchain of TokenPocket wallet. For more functions, please download TokenPocket for experience. The full-featured blockchain provides users with a very good experience. The next chapter will explain how the blockchain project party submits the full-featured blockchain to the TokenPocket wallet.
This section tells that in order to add the blockchain to the TokenPocket wallet, the blockchain project party has to provide data elements and ports. The full-featured blockchain has functions such as displaying the list of supported blockchain, native and non-native tokens, token prices, popular token picklist, transaction records and details. In order to have these functions on the TokenPocket wallet, the project party needs to provide services such as API and RPC for the corresponding functions. At present, TokenPocket wallet has supported the project party to provide corresponding services as follows:
- Get transaction history list and details
- RPC Nodes
- Blockchain browser
The following describes the port services that need to be submitted respectively.
At present, TokenPocket wallet already supports the display of blockchain transaction history and details, as shown in the below:

As shown in the figure above, for the transaction records and details shown on the wallet, the project party needs to provide the port for obtaining the transaction list and details. The port standards are described below.
As can be seen from the above, in order for users to review the blockchain transaction records and have a better experience, the project party needs to submit the query transaction record service. The service is described as follows:
Get transaction records list (EVM):
- Functions: get transaction record list
- Method:get
- url: /v1/transaction_action/universal_list
List of request parameters:
field | explanation | type | remark |
---|---|---|---|
ns | namespace | string | exists only by querying data through chain id |
chain_id | chain id | int | query data through namespace exists, and data together with namespace |
blockchain_id | blockchain id | int | either ns + chian_id or blockchain_id can be added to the query |
search | search | string | search address |
address | address | string | |
contract_address | contract address | string | |
token_id | token id | int | erc721 tokenid |
page | page | int | 0 |
count | count | int | 20 |
sort | sort | string | desc |
fork | whether the blockchain is forked | int | UnFork = 0
Fork = 1 |
type | type | int | 0:all, 1:from, 2: to |
response data list:
field | explanation | type | remark |
---|---|---|---|
Title | title | string | |
Decimal | decimal | int64 | |
Fee | fee | string | |
Symbol | symbol | string | |
Comment | remark | string | |
Timestamp | timestamp | int64 | |
BlockNumber | block number | int64 | |
TokenValue | token number | string | |
Gas | gas fee | string | |
GasPrice | gas price | string | |
UsedGas | gas used | string | |
Value | value | string | |
Hash | transaction hash | string | |
Nonce | nonce | string | |
BlockHash | block Hash | string | |
TransactionIndex | transaction index | int64(optional) | |
LogIndex | log index | int64(optional) | |
InternalIndex | internal index | string(optional) | |
From | from | string | |
To | to | string | |
AddrToken | token address | string | |
TokenId | NFT token id | string(optional) | |
Type | type | int64 | 0:native currency, 1:token |
Input | input | string | |
InputStatus | input status | int64 | |
Status | status | int | 1: success 0: failure 2:pending 99: unkonw |
ErrorMessage | failed message | string(optional) | |
BaseFee | base fee | string(optional) | |
GasTipCap | tips | string(optional) | |
GasFeeCap | gas fee fap | string(optional) | |
Examples:
request:
https://testtxserver.xxx.com/v1/transaction_action/universal_list?new_way=tp&search=&address=0x0Dd3758c88316723eC434C54BF3e56e733785DFE&blockchain_id=26&count=20&page=0&sort=&contract_address=&type=0
response:
"data": [{
"decimal": 18,
"fee": "0.000254",
"symbol": "ETH",
"timestamp": 1644481313,
"block_number": 3393917,
"gas": "21000",
"gas_price": "1000000",
"used_gas": "21000",
"value": "100000000000000",
"hash": "0x1305d359d3796a5b9c1f0b3e8e204933a16fdbc9677667cbb6ea8db3f9a83611",
"nonce": "0x4",
"block_hash": "0x576634593fabbd92af5af5671f64886cb412b557e2aa465ccd12b340360568a4",
"log_index": -1,
"from": "0x0dd3758c88316723ec434c54bf3e56e733785dfe",
"to": "0x0657659db21230061aae817ae26e5d15de66cf2e",
"addr_token": "",
"type": 0,
"gas_price_bid": "",
"gas_price_paid": "",
"result_type": 0,
"tx_type": 0,
"input": "0x",
"input_status": 0,
"status": 1
}]
Get transaction details(EVM):
- Functions: Transaction details list query
- Method: get
- url: /v1/transaction_action/universal
List of request parameters:
field | explanation | type | remark |
---|---|---|---|
ns | namespace | string | exists only by querying data through chain id |
chain_id | chain id | int | query data through namespace exists, and data together with namespace |
blockchain_id | blockchain id | in | either ns + chian_id or blockchain_id can be added to the query |
block_hash | block hash | string | |
hash | hash | string | |
log_index | log index | int | |
internal_index | internal index | string | |
| | | |
response data list:
field | explanation | type | remark |
---|---|---|---|
Title | title | string | |
Decimal | decimal | int64 | |
Fee | fee | string | |
Symbol | symbol | string | |
Comment | remark | string | |
Timestamp | timestamp | int64 | |
BlockNumber | block number | int64 | |
TokenValue | token number | string | |
Gas | gas fee | string | |
GasPrice | gas price | string | |
UsedGas | gas used | string | |
Value | value | string | |
Hash | transaction hash | string | |
Nonce | nonce | string | |
BlockHash | block Hash | string | |
TransactionIndex | transaction index | int64(optional) | |
LogIndex | log index | int64(optional) | |
InternalIndex | internal index | string(optional) | |
From | from | string | |
To | to | string | |
AddrToken | token address | string | |
TokenId | NFT token id | string(optional) | |
Type | type | int64 | 0:native currency, 1:token |
Input | input | string | |
InputStatus | input status | int64 | |
Status | status | int | 1: success 0: failure 2:pending 99: unkonw |
ErrorMessage | failed message | string(optional) | |
BaseFee | base fee | string(optional) | |
GasTipCap | tips | string(optional) | |
GasFeeCap | gas fee fap | string(optional) | |
Examples:
request:
https://xxxchaintxserver.xxx.com/v1/transaction_action/universal?blockchain_id=26&block_hash=0xf07696455e6bb138cff50390da1e47eb80745efdbcc16a609e4cec955f6a07af&hash=0x539839a5a2dc3bf4edb3dca041fce0aec0e557811cdf7518007d6712d873726a&log_index=-1&internal_index=
response:
{
"data": {
"decimal": 0,
"fee": "0.000763",
"symbol": "",
"timestamp": 1639603935,
"block_number": 1228952,
"token_value": "0",
"gas": "113334",
"gas_price": "1000000",
"used_gas": "113334",
"value": "0",
"hash": "0x539839a5a2dc3bf4edb3dca041fce0aec0e557811cdf7518007d6712d873726a",
"nonce": "0x5",
"block_hash": "0xf07696455e6bb138cff50390da1e47eb80745efdbcc16a609e4cec955f6a07af",
"log_index": -1,
"from": "0x389264158278811653",
"to": "0x389254976595034117",
"addr_token": "389253055922569221",
"type": 1,
"gas_price_bid": "",
"gas_price_paid": "",
"result_type": 0,
"tx_type": 0,
"input": "0x1ebcfe800000000000000000000000000000000000000000000000000000000000000100",
"input_status": 0,
"status": 1
},
"message": "success",
"result": 0
}
Get transaction records list (Polkadot):
- Functions: Get transaction records list
- Method: get
- url: /v1/transaction_action/universal_list
List of request parameters:
field | explanation | type | remark |
---|---|---|---|
ns | namespace | string | exists only by querying data through chain id |
chain_id | chain id | int | query data through namespace exists, and data together with namespace |
blockchain_id | blockchain id | int | either ns + chian_id or blockchain_id can be added to the query |
search | search | string | |
address | address | string | |
contract_address | contract address | string | |
page | page | int | |
count | count | int | |
sort | sort | string | desc |
type | type | int | 0: all, 1:from, 2: to |
response data list:
field | explanation | type | remark |
---|---|---|---|
Title | title | string(optional) | |
Decimal | decimal | int64 | |
Fee | fee | string | |
Tip | tip | string | |
Symbol | symbol | string | |
Comment | comment | string(optional) | |
Timestamp | timestamp | int64 | |
BlockNumber | block number | int64 | |
Value | value | string | |
Hash | transation hash | string | |
Nonce | nonce | string | |
CallIndex | call index | int64 | |
From | from | string | |
To | to | string | |
AddrToken | token address | string | |
Input | input | string | |
Status | status | int | 1:successor 0:failure 2:pending 99:unknow |
Examples:
request:
https://testtxserver.xxx.com/v1/transaction_action/universal_list?address=3iM6wt2uixaTdMj7ZQB6LN9qanvCCxWdd56oVwRg7fmj1uFw&search=&blockchain_id=21&count=40&page=0&sort&contract_address&type=0
response:
{
"data": [
{
"decimal": 10,
"fee": "155000015",
"tip": "0",
"symbol": "DOT",
"comment": "0",
"timestamp": 1633449756,
"block_number": 7129105,
"value": "739595473900",
"hash": "0xdb4cc8adf2b48a50699abc27ca3461b1c497292c1a7fb34cc73fcdbb2c808cc6",
"nonce": "0",
"callIndex": 0,
"from": "1119Ch5Ezu9fKdcZ9ThBFnTeEkUrhfhT59jHjGjKnvVvmsy",
"to": "16FLM85x3Q8qSthJ9riL5Xcop8GfRY8SxuaDqvtMeeyrZNNs",
"status": 1
},
{
"decimal": 10,
"fee": "156000016",
"tip": "0",
"symbol": "DOT",
"comment": "0",
"timestamp": 1621620846,
"block_number": 5163171,
"value": "28645499945",
"hash": "0xe1e9bb207610dba7a98bbec411b549d951ddb8d6c27941ee9b1d32b26367831f",
"nonce": "4",
"callIndex": 0,
"from": "14TMRRRqJUJszegEd7C3svLWxLUyMQPzXJ1wA6UYRcdKFRQZ",
"to": "1119Ch5Ezu9fKdcZ9ThBFnTeEkUrhfhT59jHjGjKnvVvmsy",
"status": 1
}
],
"message": "success",
"result": 0
}
Get transaction details(Polkadot):
- Functions: Transaction details list query
- Method: get
- url: /v1/transaction_action/universal
List of request parameters:
field | explanation | type | remark |
---|---|---|---|
ns | namespace | string | exists only by querying data through chain id |
chain_id | chain id | int | query data through namespace exists, and data together with namespace |
blockchain_id | blockchain id | int | either ns + chian_id or blockchain_id can be added to the query |
from | from | string | |
nonce | nonce | string | |
block_number | block number | int | |
call_index | call index | string | |
response data list:
field | explanation | type | remark |
---|---|---|---|
Title | title | string(optional) | |
Decimal | decimal | int64 | |
Fee | fee | string | |
Tip | tip | string | |
Symbol | symbol | string | |
Comment | comment | string(optional) | |
Timestamp | timestamp | int64 | |
BlockNumber | block number | int64 | |
Value | value | string | |
Hash | transation hash | string | |
Nonce | nonce | string | |
CallIndex | call index | int64 | |
From | from | string | |
To | to | string | |
AddrToken | token address | string | |
Input | input | string | |
Status | status | int | 1:successor 0:failure 2:pending 99:unknow |
Examples:
request:
https://xxxtxserver.xxx.com/v1/transaction_action/universal?from=14TMRRRqJUJszegEd7C3svLWxLUyMQPzXJ1wA6UYRcdKFRQZ&blockchain_id=13&block_number=5163171&nonce=4&call_index=0
respose:
{
"data": {
"decimal": 10,
"fee": "156000016",
"tip": "0",
"symbol": "DOT",
"comment": "0",
"timestamp": 1621620846,
"block_number": 5163171,
"value": "28645499945",
"hash": "0xe1e9bb207610dba7a98bbec411b549d951ddb8d6c27941ee9b1d32b26367831f",
"nonce": "4",
"callIndex": 0,
"from": "14TMRRRqJUJszegEd7C3svLWxLUyMQPzXJ1wA6UYRcdKFRQZ",
"to": "1119Ch5Ezu9fKdcZ9ThBFnTeEkUrhfhT59jHjGjKnvVvmsy",
"status": 1
},
"message": "success",
"result": 0
}
Get transaction records list (EOSIO):
- Functions: Get transaction records list
- Method: get
- url: /v1/transaction_action/universal_list
List of request parameters:
field | explanation | type | remark |
ns | namespace | string | exists only by querying data through chain id |
chain_id | chain id | int | query data through namespace exists, and data together with namespace |
blockchain_id | blockchain id | int | either ns + chian_id or blockchain_id can be added to the query |
search | search | string | |
code | code address | string | |
account | account | string | |
symbol | symbol | string | |
page | page | page | |