Eliminar transacciones de coinbase en red privada

Estaba dispuesto a configurar una red ethereum privada con poca dificultad. Puedo fijar la dificultad de cada bloque a 1 (o constante) para evitar problemas de dificultad muy alta con aumento en el número de bloques.

Pero esto tiene la desventaja de reducir el tiempo de bloqueo y, por lo tanto, quedarse sin espacio en disco antes.

¿Hay alguna forma de modificar el código fuente de geth para eliminar la recompensa de los mineros y, por lo tanto, las transacciones de base de monedas? Entonces, se agrega un bloque a la cadena cuando hay una transacción real. Esto ahorrará espacio en disco en gran medida y podremos disfrutar de una dificultad constante.

Respuestas (3)

Ethereum no tiene una transacción de base de monedas. Las recompensas se acreditan automáticamente a la dirección del minero en el encabezado del bloque (después de procesar todas las transacciones). La dirección del minero tiene solo 20 bytes, por lo que no ahorrará mucho al eliminarla.

En una cadena PoW, la seguridad se basa en bloques extraídos, por lo que generar menos bloques va en contra de la seguridad de la cadena. Tal vez desee cambiar a una red PoA u otra alternativa, como usar una cadena de plasma.

¿Hay alguna forma de modificar el código fuente de geth para eliminar la recompensa de los mineros y, por lo tanto, las transacciones de base de monedas?

Ethereum otorgará una recompensa minera por la base de monedas al agregarla a su saldo. Luego, si no desea otorgar una recompensa por coinbase , solo necesita eliminar estas líneas a continuación en consenso.

https://github.com/ethereum/go-ethereum/blob/a1f8549262567ddacac3d4180f8a6ca0826036a9/consensus/ethash/consensus.go#L567

https://github.com/ethereum/go-ethereum/blob/a1f8549262567ddacac3d4180f8a6ca0826036a9/consensus/ethash/consensus.go#L575

¡Espero que esto ayude!

Simplemente agregue la siguiente opción a la gethlínea de comando:

--exec 'setInterval (() => txpool.status.pending > 0 ? miner.start () : miner.stop (), 100)'

Comenzará a minar automáticamente cuando haya algo que minar y dejará de minar en el caso contrario.

Consulte la documentación geth de la línea de comandos y las API de administración para obtener más información.