The "transaction" is the signed data set to change the state recorded in the blockchain.
To change the state on the blockchain, a transaction must be created and propagated to the blockchain network. However, dealing with transactions in the blockchain is difficult. Why?
Transactions are not mined in blocks in real time. Therefore, in order to give the user accurate information, we need to know exactly the current status of the transaction.
Mining transactions could be delayed or canceled, depending on several situations.
Then, what does it mean "Handling transactions properly"?
It constantly checks whether a transaction was finally mined and notifies the result to users
If the transaction has not been mined within expected time, investigate the cause and take appropriate actions.
In short, you need to monitor the status of the transaction in real time, and take an appropriate action regarding to the status of transactions. What kinds of status a transaction can have?
In Henesis, there are three transaction status.
The transaction is created, but not yet mined. This can be caused largely by two cases.
The transaction has been mined.
After transactions are mined, additional blocks are created, making chain re-organization difficult.
Now, we know there are three transaction status. However, tracking the status of all transactions generated in your DApps is more difficult than you might expect.
The more transactions you track, the more system resources are consumed.
To check the
pending status, you need to query the transaction pool of blockchain nodes. However, most node providers don't support RPC calls for querying the transaction pool. Therefore, you must operate stable nodes by yourself.
You also need to build an infrastructure that keeps your service informed of updates in real time whenever transaction status is changed.
Henesis provides the managed transaction tracker to help customers handle many transactions without scaling system resources
Henesis uses own blockchain nodes that supports querying the transaction pool for tracking transactions. So you don't have to run a blockchain node.
Henesis informs the status of transactions via WebSocket in real-time. So there is no need to build a separate infrastructure for message delivery.