0
点赞
收藏
分享

微信扫一扫

遍历查询miner


node – v14.18.1

npm --v 6.14.15

nohup node scanAddrAndFunc.js >>blockMiner.log 2>&1 &
// Part 1 Import Related Package
var Web3 = require('web3');
var mongoose = require('mongoose');
var moment = require('moment');

const startBlock = 14621879;
const endBlock = 14621880;

const ethContractSchema = mongoose.Schema({
blockNumber: String,
miner: String,
//code: String,
//storage: String,
});

const EthContract = mongoose.model('blockMiner', ethContractSchema);

EthContract.addContract = function(newContract, callback) {
newContract.save(callback);
};

EthContract.updateContract = function(contractAddress, newCode, newStorage) {
EthContract.update({address: contractAddress}, { $set: {
"blockNumber": newCode,
"miner": newStorage,
}}, (err, suc) => {});
}

EthContract.checkUnique = function(contractAddress) {
let res = EthContract.find({address: contractAddress});
console.log(res);
if(res) return false;
return true;
};

async function connectDB() {
mongoose.connect('mongodb://localhost:27017/eth_blockminer');
mongoose.connection.on('connected', () => {
console.log('MongoDB has started successfully.');
});
mongoose.connection.on('error', (err) => {
console.log('Database error' + err);
});
}

// Part Connection to Local RPC
async function connectWeb3() {
web3 = new Web3(new Web3.providers.HttpProvider("https://mainnet.infura.io/v3/daa578881869407da748a2603f5cee52"));
//web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8546"));
global.web3 = web3;
console.log('web3 has connected successfully.');
}

async function scanTheChain() {
for(let i = startBlock; i <= endBlock; i++) {
console.log('scanning the chain.');
console.log("[ " + moment().format('MMMM Do YYYY, h:mm:ss a') + " ] " + "Scanning Block " + i);
var blockInfo = await web3.eth.getBlock(i);
var blockTxes = blockInfo.miner;
console.log("miner " + blockTxes);
EthContract.addContract(new EthContract({
blockNumber: i,
miner: blockTxes,
//code: newCode,
//storage: newStorage,
}));
}
}
// Part Main Function
(async function main(){
moment.locale('zh-cn');
await connectDB();
await connectWeb3();
await scanTheChain();
})();



举报

相关推荐

0 条评论