Ethereum crea una cadena privada go-ethereum

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

Crea tu propia cadena privada 

Crear genesis.json

init inicializar gensis.json 

Iniciar cadena privada


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.

Supongo que te gusta

Origin blog.csdn.net/m0_46262108/article/details/123273386
Recomendado
Clasificación