Tabla de contenido
iniciar la sincronización del nodo
Sincronizar bloques de red principal
Sincronizar los bloques de la testnet
Sincroniza los bloques de la testnet de Ropsten
Sincronizar RinkeyPor bloques de red de prueba
iniciar la sincronización del nodo
Sincronizar bloques de red principal
Geth está instalado, ahora podemos intentar ejecutarlo de la siguiente manera. Ejecute el siguiente comando, geth comenzará a sincronizar bloques y los almacenará en el directorio actual. El parámetro rápido --syncmode aquí significa que sincronizaremos bloques en modo "rápido".
En este modo, dirigimos la descarga de cada encabezado de bloque y cuerpo de bloque , pero no verificamos todas las transacciones hasta que todos los bloques estén sincronizados antes de obtener el estado de un sistema. Esto ahorra mucho tiempo en la verificación de transacciones.
geth --datadir .--syncmode fast
Por lo general, al sincronizar la cadena de bloques de Ethereum, el cliente descarga y verifica cada bloque y cada transacción al principio , es decir, puede comenzar desde el bloque de génesis.
No hay duda de que si no añadimos el parámetro rápido --syncmode, la sincronización tardará mucho tiempo y tendrá muchos requisitos de recursos (necesitará más RAM, y si no tiene almacenamiento rápido, tardará mucho tiempo).
Algunos artículos escribirán este parámetro como --fast, este es el método de escritura de parámetros del modo de sincronización rápida en el pasado, y ha sido reemplazado por
--syncmode reemplaza rápidamente
Sincronizar los bloques de la testnet
Sincroniza los bloques de la testnet de Ropsten
geth --testnet --datadir .--syncmode fast
--testnet Este parámetro le indicará a geth que inicie y se conecte a la última red de prueba, que es Ropsten. La cantidad de bloques y transacciones de la red de prueba será significativamente menor que la de la red principal, por lo que será más rápida. Pero incluso sincronizar la red de prueba en modo rápido puede llevar horas.
Sincronizar RinkeyPor bloques de red de prueba
geth --Rinkeby --datadir .--syncmode fast
Crea tu propia cadena privada
Crear genesis.json
Debido a que hay demasiados bloques en la red pública y la sincronización lleva demasiado tiempo, podemos comprender rápidamente a Geth en el futuro y podemos intentar usarlo para construir una cadena privada que solo nos pertenezca a nosotros.
Primero, necesitamos crear el estado de "génesis" de la red, que está escrito en un pequeño archivo JSON (por ejemplo, lo llamamos genesis.json):
chainId: identificación de la cadena, trate de no ser coherente con la identificación de la cadena pública y la identificación de la cadena de prueba
dificultad: coeficiente de dificultad de minería, 2000 no es demasiado grande
gasLimit: el requisito de límite superior de gas en un bloque
alloc: información inicial de la cuenta, incluida una dirección y un objeto, que indica cuánto dinero hay en el saldo una vez que se crea el bloque de génesis
balance: balance, la unidad es wei
{
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip150Block": 0,
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0
},
"alloc": {
"0x1E17ECE93b3c72277E4B22a58B87934C9F654089":{"balance":"900000000000000000000"}},
"coinbase": "0x0000000000000000000000000000000000000000",
"difficulty": "0x200",
"extraData": "",
"gasLimit": "0x2fefd8",
"nonce": "0x0000000000000042",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp": "0x00"
}
init inicializar gensis.json
Para crear una cadena de bloques con él como bloque de génesis, podemos usar el siguiente comando:
Donde ruta/a/personalizado/datos/carpeta es el directorio donde almacena
geth --datadir path/to/custom/data/folder init gensis.json
init prueba inicial cadena privada éxito
geth --datadir ~/桌面/geth-project/myChain/ init ~/桌面/geth-project/myChain/genesis.json
Iniciar cadena privada
Ejecutar geth en el directorio actual iniciará esta cadena privada
Tenga en cuenta que el networkid debe configurarse para que sea coherente con el chainId en la configuración del bloque de génesis
geth --datadir path/to/custom/data/folder --networkid 15
Podemos ver que el nodo se inició normalmente:
geth --datadir ~/桌面/geth-project/myChain --networkid 15
De esta forma, hemos iniciado una cadena privada propia.