¿Cómo crear una cuenta externa (personal.newAccount()) equivalente en ethereumj? Sé que podría usar la API jsonrpc para hacerlo. Pero leí https://github.com/ethereum/ethereumj/issues/335 , que dice que podría crear una cuenta, pero no pudo, solo genera la dirección, pero no la incluye/agrega al almacén de claves. ¿Cómo puedo agregar esto al almacén de claves?
En primer lugar, necesitará la siguiente dependencia de Maven pom.xml:
<dependency>
<groupId>org.ethereum</groupId>
<artifactId>ethereumj-core</artifactId>
<version>1.2.0-RELEASE</version>
<!-- <type>zip</type> -->
</dependency>
Y aquí está el código para crear un par de cuenta/clave privada:
import org.ethereum.crypto.ECKey;
import org.spongycastle.util.encoders.Hex;
public class CreateAccount {
public static void main(String[] args) {
ECKey key = new ECKey();
byte[] addr = key.getAddress();
byte[] priv = key.getPrivKeyBytes();
String addrBase16 = Hex.toHexString(addr);
String privBase16 = Hex.toHexString(priv);
System.out.println("Address : " + addrBase16);
System.out.println("Private Key : " + privBase16);
}
}
Ejecutar el código dos veces produce el siguiente resultado:
Address : 82d4b1c01afaf7f25bb21fd0b4b4c4a7eb7120ce
Private Key : 133965f412d1362645cbd963619023585abc8765c7372ed238374acb884b2b3a
Address : 68ccabefc7f4ae21ce0df1d98e50e099d7fc290f
Private Key : 1caeb7f26cb9f3cc7d9d0dbcdd3cf3cb056dbc011ec9013e8f3b8cdb2f193b32
Verificando la información con https://www.myetherwallet.com/#view-wallet-info :
Y tenga en cuenta que las cuentas creadas en EthereumJ están todas en minúsculas, mientras que las cuentas generadas a partir de las claves privadas usando MyEtherWallet están en mayúsculas y minúsculas. Esto se debe a que MyEtherWallet está utilizando las nuevas cuentas con suma de verificación. Vea Otra codificación de dirección de suma de comprobación genial # 55 .
Abhiram mishra
privacidadisahumanright.eth
Abhiram mishra
privacidadisahumanright.eth
geth
, tendrá que usar el comandogeth account import private-key-file-to-delete-when-completed
donde el contenido del archivo es su clave privada generada. Una vez importadas ageth
, sus cuentas estarán disponibles eneth.accounts
. EthereumJ no interactúa con sugeth
almacén de claves a través del código Java. Puede usar lapersonal.newAccount()
API como se indica en github.com/ethereum/go-ethereum/wiki/… pero tendrá que usar su propio código para acceder a la API de IPC o RPC.tayvano
tayvano