Transaction
Generating Signed Transaction
You can use Visionweb to complete the tasks of this section, for more details, please refer to:
Visionweb Github
Here is mainly Visionweb, using freezeBalance as an example.
Creating a Transaction
Create an unsigned transaction for freezing balance.
Visionweb freezeBalance
Signing the Transaction
Sign the transaction with your private key.
Visionweb sign
❗️
Never use this in any web / user-facing applications, as it will expose your private key.
For security reasons, please use a local full node.
Broadcast the Transaction
Broadcast the signed transaction.
Visionweb Broadcast transaction
📘
The broadcasting function in Visionweb is sendrawtransaction without a 'broadcast' keyword, refer to the source code for details.
Transaction Confirmation
The mechanism of VISION's block validation is that a block is validated after this block is produced and 12 different FVs produce subsequent blocks based on this block.
When a block is confirmed, transactions inside are all confirmed. Vision provides the /walletsolidty/ interface to make it easier for users to search for confirmed transactions; the following describes how to confirm different types of transactions.
Transaction Type | Method of transaction confirmation |
---|---|
transferContract and transferAssetContract | As long as the transaction can query the results via walletsolidity/gettransactioninfobyid or walletsolidity/gettransactionbyid. |
TriggerSmartContract | There are two ways to judge: 1. Find transactionInfo.receipt.result=success via the /walletsolidity/gettransactioninfobyid interface (It is not recommended to use transactionInfo.result to judge, because for the http interface, successful transactions do not return this field by default). 2. Via /walletsolidity/gettransactionbyid The interface found transaction.ret.contractRet =success |
InternalTransaction | Query by /walletsolidity/gettransactioninfobyid. Http interface: For successful transactions, the rejected field is not returned by default. For failed transactions, rejected=true. Grpc interface: For successful transactions, rejected=false (indicating that the current internalTransaction has not been discarded), For failed transactions, rejected=true |
Multi-type transactions
There are many types of transactions in VISION network:
protobuf
VISIONWEB.TRANSACTIONBUILDER
Please read these contents for more details.
Updated about 3 years ago