He sincronizado usando el --fast
comando. Ahora como debo proceder?
Intenté detenerlo y luego ejecutarlo geth --rpc
, pero dice:
Last Header #1311471
Last Block #0
Fast Block #1310224
¿Qué debo hacer para mantenerme sincronizado?
Como se indicó en Péter Szilágyi
el comentario anterior, deberá esperar a --fast
que se complete la sincronización; de lo contrario, deberá reiniciar el proceso nuevamente. El mensaje que debería ver en su consola cuando --fast
se haya completado la sincronización es " sincronización rápida completa, desactivación automática " como se muestra a continuación:
I0416 17:16:12.631667 30629 blockchain.go:1251] imported 195 block(s)
(0 queued 0 ignored) including 0 txs in 1.235990428s. #384 [d707e667 / d3d5d5c1]
I0416 17:16:12.631825 30629 sync.go:180] fast sync complete, auto disabling
I0416 17:16:48.831757 30629 blockchain.go:1251] imported 4 block(s) (0
queued 0 ignored) including 0 txs in 12.933585ms. #388 [bbb506ab / 0ace7268]
Y para reiniciar, deberá borrar su carpeta de datos de cadena; consulte "¿Cómo restablezco mi cadena de bloques y ejecuto geth --fast?" a continuación.
Sincronice la cadena de bloques, y cuando tenga sincronizados los últimos bloques, puede escribir el siguiente comando en su consola:
miner.start(n)
donde n es la cantidad de subprocesos con los que desea que su CPU extraiga.
Asumo aquí que desea extraer la cadena de bloques con una CPU normal y no con una unidad de procesamiento de gráficos (GPU). Es posible que desee consultar ¿La minería de CPU vale la pena el Ether? .
Si tiene una GPU en su computadora, es posible que primero desee buscar en este sitio preguntas y respuestas sobre "minería", o hacer una pregunta por separado si no puede encontrar una respuesta. Aquí hay una pregunta y respuesta: ¿Cómo extraer Ether en GNU + Linux? .
Tenga en cuenta que primero deberá crear una cuenta en la que se paguen sus recompensas mineras. Consulte "Pero tengo una GPU y quiero minar con ella" a continuación.
Vea los detalles abajo.
Solo deberías necesitar correr geth --fast console
por primera vez. La --fast
opción no sincronizará los bloques más rápido después de la primera vez. Puede omitir los --fast
parámetros en ejecuciones posteriores de geth
.
Cuando ejecuta geth
por primera vez sin el --fast
parámetro, geth
puede tomar algunos días descargar la cadena de bloques de otras computadoras a través de Internet; este tiempo depende de la velocidad de su conexión de red y la CPU de su computadora.
Si lo usa geth --fast
por primera vez en su instalación nueva, geth --fast
le llevará varias horas descargar la cadena de bloques; nuevamente, esto dependerá de su conexión de red y su CPU.
Después de la descarga inicial de la cadena de bloques usando geth --fast
, solo se ejecuta geth
sin el --fast
parámetro. La sincronización ahora será rápida, ya que solo los nuevos bloques deben descargarse de otros nodos de Ethereum a través de Internet y se están produciendo a una tasa promedio de aproximadamente un bloque cada 14 a 15 segundos.
Si desea restablecer su cadena de bloques y volver a descargar la cadena de bloques usando --fast
, consulte la sección a continuación "¿Cómo restablezco mi cadena de bloques y ejecuto geth --fast
".
geth --fast
no es para minar?geth --fast
se utiliza para descargar INICIALMENTE una copia de la cadena de bloques actual de otros nodos de Ethereum a través de Internet. Como se respondió en ¿Qué es la sincronización "rápida" de Geth y por qué es más rápida? :
En lugar de procesar toda la cadena de bloques, un enlace a la vez, y reproducir todas las transacciones que alguna vez sucedieron en el historial, la sincronización rápida descarga los recibos de transacciones a lo largo de los bloques y extrae una base de datos de estado reciente completa.
geth --fast
NO es para minería. Es solo el primer paso para descargar una copia de la cadena de bloques. Posteriormente, necesitará una copia de sincronización continua de la cadena de bloques si desea extraerla.
No es que pueda decirlo. Es inusual que su cadena comience a sincronizarse desde el principio, a menos que no se complete correctamente o haya algunos problemas de configuración. Intente borrar su chaindata
directorio y vuelva a sincronizar su cadena de bloques. No debería necesitar volver a sincronizar desde cero después de esto.
Supongo que desea ejecutar el comando de sincronización en una ventana (#1) y adjuntar otra geth
consola en otra ventana (#2). Y cuando quiera salir de su consola, use la combinación de teclas Control-D (^D). Si usa Control-C varias veces, o elimina el proceso de otras maneras ( kill
en Linux o Mac, o el Administrador de tareas en Windows), sus datos de cadena de bloques pueden corromperse (solo muy raramente, me pasó una vez).
En la ventana #1, ejecute el comando:
geth --fast console
En la ventana #2, ejecute el siguiente comando para adjuntar a la geth --fast console
instancia anterior:
geth attach
No necesita las --rpc
banderas para esto, ya que la comunicación entre estas dos geth
instancias se realizará a través del protocolo IPC. El protocolo IPC solo se ejecuta dentro de la computadora local a través de un descriptor de archivo. El protocolo RPC se puede usar para la comunicación entre diferentes computadoras.
En la ventana #1, ejecute el comando:
geth console
En la ventana #2, ejecute el siguiente comando para adjuntar a la geth console
instancia anterior:
geth attach
--fast
y sincronización normalLos siguientes mensajes se muestran en la geth --fast console
pantalla; tenga en cuenta los encabezados y los recibos :
I0416 13:35:53.497422 30629 blockchain.go:889] imported 192 header(s)
(0 ignored) in 71.941018ms. #6336 [2edbbc3f… / b80c9ac3…]
I0416 13:35:54.263134 30629 blockchain.go:1044] imported 192 receipt(s)
(0 ignored) in 55.447062ms. #6336 [2edbbc3f… / b80c9ac3…]
I0416 13:35:54.683682 30629 blockchain.go:889] imported 192 header(s)
(0 ignored) in 73.050377ms. #6528 [8ab9a7af… / f2ffecac…]
Y los siguientes mensajes se muestran en la geth console
pantalla - tenga en cuenta los bloques :
I0416 13:32:23.331906 30581 blockchain.go:1251] imported 256 block(s) (0
queued 0 ignored) including 0 txs in 979.938402ms. #6366 [66dcf4c1 / c5d009a1]
I0416 13:32:24.169955 30581 blockchain.go:1251] imported 256 block(s) (0
queued 0 ignored) including 0 txs in 836.388044ms. #6622 [e11a3fa9 / d211c2e1]
I0416 13:32:24.974790 30581 blockchain.go:1251] imported 256 block(s) (0
queued 0 ignored) including 0 txs in 803.457715ms. #6878 [c9f9ae12 / 238493b8]
Aquí está la transición cuando la --fast
sincronización se ha completado y comienza la sincronización normal:
I0416 17:16:12.631667 30629 blockchain.go:1251] imported 195 block(s)
(0 queued 0 ignored) including 0 txs in 1.235990428s. #384 [d707e667 / d3d5d5c1]
I0416 17:16:12.631825 30629 sync.go:180] fast sync complete, auto disabling
I0416 17:16:48.831757 30629 blockchain.go:1251] imported 4 block(s) (0
queued 0 ignored) including 0 txs in 12.933585ms. #388 [bbb506ab / 0ace7268]
geth --fast
Los datos de la cadena de bloques, por defecto, se almacenan en las siguientes ubicaciones (referencia Copia de seguridad y restauración ):
Elimine el contenido del directorio anterior, o muévalo a otra ubicación y cuando haya sincronizado correctamente sus datos, elimine la copia anterior.
Una vez que se eliminan los datos en el chaindata
directorio, debería poder --fast
sincronizar nuevamente.
En este caso, necesitará otra aplicación como ethminer
la que realizará las operaciones de minería en la GPU. Las comunicaciones entre geth
y ethminer
no funcionan a través de IPC. Deberá habilitar las comunicaciones RPC mediante:
geth --rpc console
geth
utiliza el valor predeterminado --rpcaddr 127.0.0.1
y --rpcport 8545
. Inicie su ethminer
con el siguiente comando
ethminer -F http://127.0.0.1:8545 -G
El -G
parámetro es la instrucción para ethminer
realizar los cálculos de minería usando su GPU.
Antes de que pueda ejecutar los comandos anteriores para minar, deberá crear una cuenta en la que se pagarán las recompensas mineras. Ejecute el siguiente comando
geth account new
Se le pedirá una contraseña dos veces, luego podrá ejecutar los comandos anteriores.
Los moderadores pueden marcar esta pregunta como duplicada ya que hay varias preguntas en este sitio que posiblemente estén relacionadas:
Pero espero que esta sea una guía más completa para superar sus problemas de sincronización.
geth
ha estado sincronizando durante una semana con la --fast
opción y aún no ha terminado. Hizo la sincronización completa con el número total de bloques una vez y luego se reinicia desde el primer bloque para procesarlos. Este segundo proceso es extremadamente lento. ¿Hay alguna manera de descargar la cadena de bloques sin tener que pasar semanas sincronizando?If you want to mine one cannot use --fast
Ahora tengo que empezar de nuevo desde que dejé de sincronizar la última vez con --fast
q9f
kostasps
Péter Szilágyi