Tengo geth ejecutándose en mi servidor. Estoy construyendo un sitio web php que actúa como billetera. Ahora puedo crear direcciones. Necesito poder depositar y retirar ETH entre direcciones en el mismo nodo. Comienzo geth con el siguiente comando.
go-ethereum/build/bin/geth console --rpc --rpcapi="db,eth,net,web3,personal,web3" --rpccorsdomain "*" --syncmode "light"
¿Cómo lograr la funcionalidad de una billetera en geth sobre rpc? ¿Hay un comando o una llamada API para eso? Me resulta difícil entender la documentación.
ACTUALIZACIÓN : Lo que quiero hacer es transferir ETH de una cuenta a otra. A continuación se muestran las llamadas a la API que probé y los errores que obtuve en el navegador cuando llamé a la función de transferencia en mi clase php. alguien me puede corregir por favor
{"jsonrpc":"2.0","id":1,"método":"personal_signAndSendTransaction","params":[[{"from":"0xb60e8dd61c5d32be8058bb8eb970870f07233155","to":"0xd46e8dd67c5d32be8058bb8eb970870f0724","4567gas "0x76c0","gasPrice":"0x9184e72a000","valor":"0x9184e72a","datos":"0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"}],"contraseña"}]
Error fatal: RPCException no detectada: json: no se puede descomponer la matriz en el valor Go del tipo eth.SendTxArgs
{"jsonrpc":"2.0","id":1,"método":"personal_sendTransaction","params":[[{"from":"0xb60e8dd61c5d32be8058bb8eb970870f07233155","to":"0xd46e8dd67c5d32be8058bb8eb970870f07244567","gas": "0x76c0","gasPrice":"0x9184e72a000","valor":"0x9184e72a","datos":"0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"}],"contraseña"}]
Error fatal: RPCException no detectada: el método personal_sendTransaction no existe/no está disponible lanzado
{"jsonrpc":"2.0","id":1,"método":"eth_sendTransaction","params":[{"from":"0xb60e8dd61c5d32be8058bb8eb970870f07233155","to":"0xd46e8dd67c5d32be8058bb8eb970870f07244567","gas":" 0x76c0","gasPrecio":"0x9184e72a000","valor":"0x9184e72a","datos":"0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"}]}
Error fatal: RPCException no detectada: la cuenta está bloqueada lanzada
¡Por favor ayuda!
En la consola Geth, puede usar la función sendTransaction:
web3.eth.sendTransaction({
from: "0xE618A4B5A516f371Ce26d9A1DBE7839F4e3812GB",
to: "0xE618A4B5A516f371Ce26d9A1DBE7839F4e3812CB",
value: web3.toWei(1, "ether")
})
Puede usar eth_sendtransaction para enviar una transacción al destino
En la sección de parámetros
params: [{
"from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
"to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
"gas": "0x76c0", // 30400
"gasPrice": "0x9184e72a000", // 10000000000000
"value": "0x9184e72a", // 2441406250
"data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
}]
Debería obtener una firma de transacción
{
"id":1,
"jsonrpc": "2.0",
"result": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
}
Esto funciona en cuentas que han sido desbloqueadas en geth previamente.
geth
cliente y debería poder enviar fracciones de ese Ether a otras direcciones.eth_sendTransaction
Nulik
SMJ
Nulik
Nulik