I have created one raw transaction and I don't intend to send it to execute right away. I will send this raw transaction later, maybe 5 minutes or 5 hours or more.
Is this going to work? If not, is there workaround?
I have created one raw transaction and I don't intend to send it to execute right away. I will send this raw transaction later, maybe 5 minutes or 5 hours or more.
Is this going to work? If not, is there workaround?
For any kind of the transaction, the following is the data required to make the raw transaction hex which is later signed and broadcasted to the network.
rawTx : {
nonce: nonceHex,
gasPrice: gasPriceHex,
gasLimit: gasLimitHex,
data: hexdata,
from: creating_address,
value: valuehex
};
You basically want to postpone the broadcasting to a later time but want to create the signed hex and store it. From the data given above, the possible ones which would change are the nonce (as mentioned by @smarx in the comments) , and the gasprice.
If the nonce passed is less than the number of transactions that have happened on the account, the transaction would fail.
If the network is facing high transaction traffic, then the gasprice would change considerably as well , deeming the amount of gas payed far less than required at that moment of time .making the transaction stuck in the memory pool till the gasprices come down again. The flipside could this be that the gasprice went down from your time of creation of the signed hex, you will end up paying marginally higher fees.