En el sistema Ethereum, el estado está formado por objetos llamados "cuentas" (cada cuenta consta de una dirección de 20 bytes) y transiciones de estado que transfieren valor e información entre dos cuentas. Una cuenta de Ethereum consta de cuatro partes: Un número aleatorio que determina un contador que solo puede procesarse una vez por transacción El saldo actual de Ethereum de la cuenta El código de contrato de la cuenta, si lo hay Almacenamiento de la cuenta (vacío por defecto) En pocas palabras, cada cuenta de Ethereum consta de un par de claves públicas y privadas. La clave pública puede entenderse como la dirección de la cuenta, a la que puede acceder cualquier otra cuenta Una clave privada puede entenderse como una contraseña cifrada, y este par de claves públicas y privadas forman juntas una cuenta de Ethereum identificada de forma única. Por ejemplo, en la primera cuenta de Ethereum eth.accounts[0] que establecimos en la sección anterior, la dirección 0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f es la clave pública y la contraseña cifrada es la clave privada. Aumentar las cuentas Podemos introducir el comando personal.newAccount("123") para crear una nueva cuenta, (ten en cuenta que 123 puede cambiarse por cualquier otra contraseña)
Cuando la cadena privada de Ethereum está minando, el ether minado se depositará en la primera cuenta de Ethereum, es decir, eth.accounts[0], y eth.accounts[1] no tendrá ether por defecto. En este momento, podemos usar el siguiente comando para comprobar el saldo de Ethereum en eth.accounts[0].
Cómo convertir Ethereum entre dos cuentas Como se mencionó antes, la clave pública (dirección) de cada cuenta es el núcleo de todas las operaciones de cuentas Ethereum, pero la cadena de direcciones es demasiado larga, así que usamos acc0/acc1 para representar cuentas[0] y [1] respectivamente, y establecemos 0,01 ETH para transferir
En este momento, podemos usar eth.sendTransaction para transferir 0,01 ETH de acc0 a acc1.
Un mecanismo de protección de Ethereum que bloquea automáticamente cuentas de vez en cuando, momento en el que cualquier conversión de ETH entre cuentas será rechazada a menos que la cuenta esté desbloqueada. En este momento, necesitamos ejecutar personal.unlockAccount(acc0) e introducir la contraseña para desbloquear la cuenta de cuenta.
En este momento, volvemos a ejecutar el comando eth.sendTransaction({from: acc0, a: acc1, value: amount}), y el resultado es el siguiente:
Podemos ver que en este momento, acc1 tiene un valor de 10000000000000000000000000, en lugar del 0 anterior. Pero, ¿por qué el valor es tan alto cuando obviamente queremos dar monedas de 0,01 ether? De hecho, es correcto, solo necesitamos introducir el comando web3.fromWei(1000000000000000000, "ether") para saberlo.
La unidad básica del éter
La unidad más pequeña de moneda de éter es Wei, que también es la unidad predeterminada de la línea de comandos, y luego una unidad por cada 1000, en ese orden
kwei (1000 Wei) mwei (1000 kOui) gwei (1000 mwei) Szabo (1000 Gwei) Finney (1000 szabo) éter (1000 finney) En pocas palabras, es 1 ETH = 10000000000000000000000000 Wei (por eso transferimos 0,01 ETH en la parada anterior, pero el resultado fue muy largo) Cómo convertir entre ether y wei
|