Add script for finding block closest to given date #211

Merged
raucao merged 1 commits from feature/find_block_by_date into master 2021-05-29 14:59:38 +00:00
3 changed files with 37 additions and 2 deletions
Showing only changes of commit f11c4f7764 - Show all commits

17
package-lock.json generated
View File

@ -3620,6 +3620,15 @@
} }
} }
}, },
"ethereum-block-by-date": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/ethereum-block-by-date/-/ethereum-block-by-date-1.4.0.tgz",
"integrity": "sha512-3D+6esxU9bQDyFev9/9C6+Wqpb+HdSyeKnAhktIZXOQjgPdGRc4zwr/FdrgMfrJlB9Ee4cG9psu7eCgYQ3szaA==",
"dev": true,
"requires": {
"moment": "^2.29.1"
}
},
"ethereum-common": { "ethereum-common": {
"version": "0.0.18", "version": "0.0.18",
"resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz",
@ -6040,6 +6049,12 @@
"integrity": "sha512-Yp4o3/ZA15wsXqJTT+R+9w2AYIkD1i80Lds47wDbuUhOvQvm+O2EfjFZSz0pMgZZSPHRhGxgcd2+GL4+jZMtdw==", "integrity": "sha512-Yp4o3/ZA15wsXqJTT+R+9w2AYIkD1i80Lds47wDbuUhOvQvm+O2EfjFZSz0pMgZZSPHRhGxgcd2+GL4+jZMtdw==",
"dev": true "dev": true
}, },
"moment": {
"version": "2.29.1",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
"integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==",
"dev": true
},
"ms": { "ms": {
"version": "2.1.2", "version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@ -9470,7 +9485,7 @@
"dev": true "dev": true
}, },
"websocket": { "websocket": {
"version": "github:web3-js/WebSocket-Node#905deb4812572b344f5801f8c9ce8bb02799d82e", "version": "github:web3-js/WebSocket-Node#ef5ea2f41daf4a2113b80c9223df884b4d56c400",
"from": "github:web3-js/WebSocket-Node#polyfill/globalThis", "from": "github:web3-js/WebSocket-Node#polyfill/globalThis",
"dev": true, "dev": true,
"requires": { "requires": {

View File

@ -51,6 +51,7 @@
"eslint-plugin-node": "^11.1.0", "eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1", "eslint-plugin-promise": "^4.2.1",
"eth-provider": "^0.2.5", "eth-provider": "^0.2.5",
"ethereum-block-by-date": "^1.4.0",
"homedir": "^0.6.0", "homedir": "^0.6.0",
"promptly": "^3.0.3", "promptly": "^3.0.3",
"solc": "^0.6.8", "solc": "^0.6.8",

View File

@ -0,0 +1,19 @@
const promptly = require('promptly');
const EthDater = require('ethereum-block-by-date');
const initKredits = require('./helpers/init_kredits.js');
module.exports = async function(callback) {
let kredits;
try { kredits = await initKredits(web3); } catch(e) { callback(e); return; }
const dater = new EthDater(kredits.provider);
const dateStr = await promptly.prompt('Specify a date and time (e.g. 2021-05-07T14:00:40Z): ');
const blockData = await dater.getDate(dateStr, true);
console.log(`
The closest block is #${blockData.block}:
https://rinkeby.etherscan.io/block/${blockData.block}
`);
callback();
}