Transfer Tokens
This guide will walk you through the process of transferring tokens on ParallelChain Mainnet / Testnet.
Creating Transaction with a Transfer Command
To create a transaction, you first need to know the nonce
of your account, which is an account-related entity required to submit a transaction. Here's how to check your account's nonce
using pchain_client
:
./pchain_client query nonce --address <YOUR_ACCOUNT_ADDRESS>
./pchain_client.exe query nonce --address <YOUR_ACCOUNT_ADDRESS>
When you run this command, you'll see the output of your account's nonce
value, like this:
0
Next, to transfer tokens from your account to someone else's account using pchain_client
, you need to create a transaction file containing one transfer command first.
./pchain_client transaction create \
--nonce <NONCE> \
--gas-limit <GAS_LIMIT> \
--max-base-fee-per-gas <MAX_BASE_FEE_PER_GAS> \
--priority-fee-per-gas <PRIORITY_FEE_PER_GAS> \
transfer \
--recipient <RECIPIENT_ADDRESS> \
--amount <AMOUNT_TO_TRANSFER>
./pchain_client.exe transaction create `
--nonce <NONCE> `
--gas-limit <GAS_LIMIT> `
--max-base-fee-per-gas <MAX_BASE_FEE_PER_GAS> `
--priority-fee-per-gas <PRIORITY_FEE_PER_GAS> `
transfer `
--recipient <RECIPIENT_ADDRESS> `
--amount <AMOUNT_TO_TRANSFER>
A file with the name tx.json
will be saved in the current directory if the destination
flag is not specified. If you want to store the transaction file in your preferred location, specify the path with your preferred file name and JSON extension under the destination
flag.
Please note that max-base-fee-per-gas
had to be at least 8.
Make sure to replace
<NONCE>
with your account's nonce value;<GAS_LIMIT>
with the gas limit of the transaction;<MAX_BASE_FEE_PER_GAS>
with the maximum base fee you want to pay;<PRIORITY_FEE_PER_GAS>
with the priority fee you want to pay;<RECIPIENT_ADDRESS>
with the recipient's account address;<AMOUNT_TO_TRANSFER>
with the number of tokens you want to transfer;
Submitting Transaction
./pchain_client transaction submit --file <PATH_TO_TRANSACTION_FILE> --keypair-name <KEYPAIR_NAME>
./pchain_client transaction submit `
--file <PATH_TO_TRANSACTION_FILE> `
--keypair-name <KEYPAIR_NAME>
After submitting the transaction to RPC successfully, you should receive a message that describes the content of the transaction. The transaction hash in the content will be useful later on when you want to check its status. Still, transactions may fail for various reasons. We suggest you test the transaction and estimate the gas used in the testnet.
Querying Transaction
You can check the transaction status using pchain_client
with the following command:
./pchain_client query tx --hash <TRANSACTION_HASH>
./pchain_client.exe query tx --hash <TRANSACTION_HASH>
Make sure to replace <TRANSACTION_HASH>
with the transaction hash that you want to check.
Creating Transaction with Multiple Transfer Commands
You may append an extra transfer transaction with pchain_client
. After creating a transaction with single transfer command in the last tutorial, instead of submitting the transaction, you can append extra command on the tx.json
generated by pchain_client
.
./pchain_client transaction append \
--file <PATH_TO_TRANSACTION_FILE> \
transfer \
--recipient <RECIPIENT_ADDRESS> \
--amount <AMOUNT_TO_TRANSFER>
./pchain_client.exe transaction append `
--file <PATH_TO_TRANSACTION_FILE> `
transfer `
--recipient <RECIPIENT_ADDRESS> `
--amount <AMOUNT_TO_TRANSFER>
Currently, if you construct a transaction with pchain_client
, the fields nonce
, gas limit
, max base fee per gas
and priority fee per gas
are already filled in after calling command create
. You need to manually change the transaction JSON file if you want to change them:
After chaining up commands you are satisfied with, you can submit the transaction as you did in a single command transaction.