Estoy usando una red privada con geth 1.7 y tengo algunas preguntas
1- Para obtener el tiempo de ejecución de una función, encontré una discusión sobre el uso de Data.getTime(), pero me pregunto si alguien pudo implementar con éxito otros métodos como performance.now() para medir el tiempo en las líneas de comando geth ? ¡Lo intenté pero parece que la función no está definida!
2- ¿Cómo puedo obtener la marca de tiempo para un bloque específico si sabía el número de bloque?
3- ¿Cómo puedo minar solo un bloque? Por ejemplo, envío una transacción a la red privada y luego solo extraigo un bloque que contiene esa transacción. Encontré aquí algunos que sugieren usar while loop para verificar si no hay transacciones pendientes y luego detener la minería. Pero no quiero este método, preferiría extraer solo un bloque.
Gracias de antemano,
1: puede obtener el tiempo de ejecución de una función actualizando la fuente en el archivo jsre.go, de la siguiente manera:
func (self *JSRE) Evaluate(code string, w io.Writer) error {
var fail error
self.Do(func(vm *otto.Otto) {
var startTime = time.Now();
fmt.Println("jsre function ",code," start")
val, err := vm.Run(code)
if err != nil {
prettyError(vm, err, w)
} else {
prettyPrint(vm, val, w)
}
fmt.Fprintln(w)
fmt.Println("jsre function ",code," end ,consume time " ,(time.Now().UnixNano() - startTime.UnixNano()))
})
return fail
}
y luego, implemente el contrato para probar.
2: no hay forma de obtener la marca de tiempo del bloque por número, block.timestamp
o now
simplemente es la marca de tiempo del bloque actual como segundos desde la época de Unix.
3: miner.start(1);admin.sleepBlocks(1);miner.stop();
solo extrae un bloque y luego detiene el mío. Tenga en cuenta que se ejecutan juntos.
BinGoBinBin
BinGoBinBin
BinGoBinBin
MWH
BinGoBinBin
geth
y comenzó geth./build/bin/geth --datadir=./dev/data --networkid 1 --dev console
? de esta manera está bien para mí, por favor, cada paso es correcto ~MWH