Si uso un comando geth --cache=1024
, cuántos bloques mantendrá el tiempo de ejecución en caché. Y cuál será el tamaño de cada bloque. ¿Hay algún cálculo? ¿Y hay alguna forma en la que podamos obligar a escribir los datos presentes en el caché en archivos leveldb?
Encontré esta explicación de un usuario de reddit y pensé que te sería útil para entender algunas cosas.
Ethereum tiene un límite de gas en lugar de un tamaño de bloque. El límite de gas es un límite tanto para el procesamiento como para el almacenamiento/ancho de banda porque el costo de una transacción/función se fija en unidades de gas para cada tipo de instrucción.
Cada minero vota hacia arriba o hacia abajo el límite de gas y cada minero determina qué precio de gas está dispuesto a aceptar, que es como las tarifas de transacción de bitcoin, pero por gas en lugar de por transacción.
Para calcular cuántas transacciones pueden caber en un bloque, no necesita saber cuál es el precio del gas. Solo necesita saber cuánto gas usa una transacción y dividir el límite de gas por eso.
Si la red recibe una gran cantidad de transacciones de spam que comienzan a llenar bloques, los mineros tienen 2 opciones. Pueden votar por el límite de gasolina para incluir más transacciones o pueden comenzar a aumentar el precio de la gasolina y rechazar las transacciones que pagan una tarifa demasiado baja. Al igual que con bitcoin, una transacción con una tarifa baja aún podría realizarse, pero tendría que esperar hasta que un minero que acepte una tarifa más baja (precio de gasolina más bajo) esté dispuesto a dejarla entrar.
Con un ataque de spam sostenido, las transacciones se volverían progresivamente más costosas hasta que el spammer se quedara sin dinero o los mineros ganaran tanto dinero que comenzaran a expandir la capacidad de la red...
Todo lo que dice este usuario es cierto, y está muy bien explicado.
Como puede ver, funciona bastante diferente al esquema de Bitcoin.
EDITAR Dejo aquí la discusión completa de reddit sobre eso
Espero eso ayude.
kevin j
DESTELLO
kill -9 <processId>
de bloque 1000 y luego comencé la cadena nuevamente, pero no comenzó desde la altura 1000. Entonces, si mi cadena muere, ¿cómo evitar la pérdida de datos? ¿Y hay alguna forma de escribir explícitamente los datos de caché en el disco?CPereez19
DESTELLO
CPereez19