Is there any way to tell a miner "Do not include my tx before 2am UTC"?
There isn't as of right now. An EIP about account abstraction would make any number of scenarios possible around pre-mining tx validation. The only thing you can really do right now is implement this via a proxy-contract that executes a function only if your minimum time is hit. Of course you'll still be charged the gas if the tx is mined.
-
wow this is interesting. I'm not very familiar with solidity. Has somebody done this before? Is it maybe open source somewhere? – Ini Jan 27 '18 at 3:33
It's not very scalable but the Parity node wallet allows you to specify a time in the future to submit a transaction (select 'advanced sending options' when making a transaction). Of course you need your Parity node to be running at that time so you may need to consider hosting it on a server.
-
Thank you for the answer. But it's not about when I send the tx, because I can send it manually at 2pam UTC, it's about incude the txs only into the block between 2:00-2:01. – Ini Jan 27 '18 at 12:52
-
Ah I thought it might just be to do with automating making the transaction. You can fairly easily apply a
modifier
to your contract functions restricting when they can be called to between 2:00 and 2:01. You have access toblock.timestamp
which roughly represents the current time, although since it's such a short period, I would recommend estimating the block number's at those times and restricting access to between them. You can access block number's in Solidity withblock.number
. – willjgriff Jan 27 '18 at 18:24