Los bloques tío (también conocidos como bloques ommer) son bloques válidos que no fueron incluidos en la cadena principal pero que aún son recompensados en Ethereum. Entenderlos es importante para la minería y la validación de bloques.
// Obtener cantidad de tíos para un bloque
const getUncleCount = async (blockNumber) => {
const block = await web3.eth.getBlock(blockNumber);
return block.uncles.length;
};
// Obtener bloque tío por índice
const getUncleBlock = async (blockNumber, uncleIndex) => {
return await web3.eth.getUncle(blockNumber, uncleIndex);
};
// Monitorear tasas de tíos
const calculateUncleRate = async (blockRange = 100) => {
const latestBlock = await web3.eth.getBlockNumber();
const startBlock = latestBlock - blockRange;
let totalUncles = 0;
for (let i = startBlock; i <= latestBlock; i++) {
const uncleCount = await getUncleCount(i);
totalUncles += uncleCount;
}
return totalUncles / blockRange;
};