Configuré una red de prueba local usando geth siguiendo estas instrucciones . Pude extraer mi Ether inicial y todo estaba funcionando. Después de implementar algunos contratos, rápidamente gasté todo el Ether que tenía. Ahora parece que no puedo extraer más éter. ¿Cómo continúa financiando su cuenta con Ether en una red de prueba privada?
¿No se procesan los bloques cada cierto tiempo independientemente del número de transacciones? Eso no parece estar sucediendo en mi nodo de prueba.
Actualizado: aquí está el resultado cuando inicio manualmente el minero (nota, la cuenta está desbloqueada)
>miner.start();
I0128 15:22:16.501677 8525 backend.go:584] Automatic pregeneration of ethash DAG ON (ethash dir: /Users/testgeth/.ethash)
I0128 15:22:16.501789 8525 backend.go:591] checking DAG (ethash dir: /Users/testgeth/.ethash)
I0128 15:22:16.501843 8525 miner.go:119] Starting mining operation (CPU=8 TOT=10)
true
> I0128 15:22:16.503824 8525 worker.go:570] commit new work on block 48 with 0 txs & 0 uncles. Took 1.893754ms
I0128 15:22:16.503953 8525 ethash.go:220] Generating DAG for epoch 0 (size 1073739904) (0000000000000000000000000000000000000000000000000000000000000000)
I0128 15:22:17.432934 8525 ethash.go:237] Done generating DAG for epoch 0, it took 928.992201ms
ACTUALIZACIÓN: lo que parece funcionar es enviar una transacción. Una vez que geth llegó al punto de parada que mencioné anteriormente, envié una transacción y comenzó el procesamiento normal del bloque.
Si está en una red/cadena privada, en realidad no necesita minar para obtener éteres, sino solo para confirmar transacciones.
Puede depositar fondos en su(s) cuenta(s) especificando la cantidad en la que desea que comience esa cuenta, en su archivo genesis json:
"alloc": {
"<your account address e.g. 0xaaabd38c8f1a188a0b8bbf93bdca420cfdd760aa>": {
"balance": "10000000000000000000"
}
}
Otra cosa que puedes hacer si todavía quieres extraer éteres es reducir la dificultad, de nuevo en el bloque de génesis, un valor de "0x400"
o `"0x200" te permitirá extraer más rápido los primeros bloques. Si su geth está atascado y ya no es mío (en osx lo encontré común cuando pone la computadora en suspensión), simplemente elimínelo con Crtl-C y reinícielo.
Para especificar su bloque de génesis, puede pasar estos parámetros al comando geth:
$ geth --genesis <genesis json file path> --datadir <some path to an empty folder>
Un bloque de génesis de muestra es:
{
"nonce": "0x000000000000002a",
"timestamp": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x0",
"gasLimit": "0x8000000",
"difficulty": "0x400",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
"alloc": {
}
}
Puedes encontrar una guía más completa aquí
geth --datadir <your datadir> init path/to/genesis.json
después de crear las cuentas y escribirlas en el bloque de génesis, ya no desea usarlas --genesis
ya que estos parámetros se cargan realmente desde el datadir :)No estoy seguro de si es posible agregar ether a una cuenta existente sin minar. Si desea agregar saldo de éter para cuentas al principio, el siguiente artículo explica el proceso paso a paso.
Ethereum: cómo configurar un nodo de prueba local con el balance de éter inicial usando geth
ética
dbryson
tjaden hess
eth.coinbase
devuelva la dirección que desea. Solo para tu informaciónniksmac