Estoy jugando Ethernaut Nivel 3, así que escribí el siguiente código para recuperar el valor de "suposición":
async do_guess => { let no = await web3.eth.getBlockNumber() let block = await web3.eth.getBlock(no) let factor = new web3.utils.BN('57896044618658097711785492504343953926634992332820282019728792003956564819968') let result = new web3.utils.BN(block.hash) let tmp = result.div(factor) return tmp.toString() } let value = await do_guess() console.log(value)Pero el valor siempre es "indefinido" de alguna manera, ¿alguien sabe qué está mal?
No está definido porque ese es el valor de retorno de la última declaración que se ejecutó en su consola, es probable que su promesa nunca se resuelva.