¿Cómo preasignar varias cuentas con ether para geth --dev chain?

Estoy tratando de configurar una cadena privada con geth --devque tiene varias cuentas con mucho éter. No parece claro si esto ya es posible de acuerdo con esto .

Esto es lo que probé en geth 1.4.x y 1.5:

geth --datadir data --dev --password <(echo -n foobar) account new
geth --datadir data --dev --password <(echo -n foobar) account new
geth --datadir data --dev --password <(echo -n foobar) account new

Luego inicie así:

geth --datadir data --dev --password <(echo -n foobar) init custom.json

Luego ejecutando geth con el mío:

geth --datadir data --dev --password <(echo -n foobar) \
  --unlock 0,1,2 \
  --verbosity 6 \
  --rpc --rpcaddr "0.0.0.0" --rpccorsdomain '"*"' --nodiscover \
  --rpcapi "admin,db,eth,debug,miner,net,shh,txpool,personal,web3" \
  --mine --minerthreads 1 --gasprice 0

Luego aprovecho curlpara consultar el saldo de las cuentas. El resultado es 0x0.

Si elimino la --devopción, hay saldo, pero lleva una eternidad, ya que luego usa el DAG real. No quiero eso como esto si para probar.

¿Cuál es la mejor manera de obtener varias cuentas preasignadas con mucho éter para una cadena de desarrollo privada?

¡Gracias!

@BokkyPooBah sí, eso funciona, pero es para una cadena privada sin--dev
--devson solo algunas configuraciones adicionales: consulte github.com/ethereum/go-ethereum/blob/master/cmd/utils/… y github.com/ethereum/go-ethereum/blob/master/cmd/utils/… . maxpeers = 0, listenaddr =: 0, el susurro está habilitado, powtest es verdadero y tiene algo que ver con el bloque de génesis olímpica y el precio del combustible. De lo contrario, lo que puede hacer es usar --dev, extraer y mover el ETH a su otra cuenta. No parece haber una forma conveniente de establecer cuentas preasignadas usando la --devconfiguración.
@BokkyPooBah, sí, sé que es posible mover éter, pero como esto solía funcionar, me gustaría saber si todavía funciona o, si no, por qué ya no lo es :)
Desde github.com/ethereum/go-ethereum/releases ,With the coming of Geth 1.4 we've deprecated the --genesis <json_file> flag and replaced with a geth init <json file> sub command. This means that you'll no longer be able to mix the destructive --genesis flag with other flags.
@BokkyPooBah sí, también lo he leído. Lo uso initcon un génesis personalizado que tiene cuentas como me gustaría que estuvieran en formato alloc. Es decir, primero ejecuto new accounty luego ajusto la génesis personalizada y luego ejecuto init. No hay saldo si tengo la --devbandera.
Me he retractado del voto cerrado.

Respuestas (2)

Se supone que debe hacerse editando su archivo de génesis personalizado de su red de prueba. añadiendo algo como:

//The genesis file
"alloc":{
        "address":{
                  "balance": "1000000"
                  }
        }
}

Fuente: https://souptacular.gitbooks.io/ethereum-tutorials-and-tips-by-hudson/content/private-chain.html

Esto ya no funciona para dev... de ahí mi pregunta.
Ok, si encuentro alguna otra solución para esto, te lo diré.
Probé hace un rato y me funcionó. Verifique que esté iniciando la red de prueba correctamente con su archivo de génesis personalizado.
No uso testnet... --devy cadena privada
El uso --devhace que su privado comience con un conjunto preconfigurado de opciones. Por lo tanto, no hay posibilidad de preasignar, ya que no está utilizando un archivo Genesis.json personalizado, sino uno preconfigurado.
solía funcionar y estaba documentado pero cambiado. la razón --deves interesante por la falta de DAG...

Lo hice así:

  1. Inicializar geth en modo dev con la --bandera

    geth --dev --allow-insecure-unlock

    Nunca hagas esto en el modo de red principal.

  2. Adjunte una consola web3 js

  3. Ejecute esto para crear 10 cuentas desbloqueadas y financiarlas desde la cuenta predeterminada:

    for (i=0;i<10;i++){ a = personal.newAccount('pwd') personal.unlockAccount(a,'pwd',0) web3.eth.sendTransaction({from:eth.accounts[0],to:eth.accounts[i+1],value:1000000000000}) }