Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Nodos de Ethereum y métodos JSON RPC

3/23
Recursos

Aportes 9

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

⚠️ Nota

Por un error de dedo, la forma canónica la escribí con espacio entre los parámetros:

someFunction(uint256, address)

Sin embargo lo correcto es:

someFunction(uint256,address)

La segunda da el hash correcto y el MethodID correspondiente.

Por si luego tienen problemas debuggeando algún proyecto propio 🤓

Ejemplo Data

Decode Input Data

Recursos

Si les quedaron dudas de qué es JSON RPC les recomiendo estos recursos

Excelente explicación!

😽😽

Una verdadera perla esta clase, un pequeno aporte de mi parte:

El método id se utiliza para construir la data del mensaje que se envía a la red Ethereum para realizar una transacción o invocar una función de un contrato. La data se construye concatenando el selector de función y los argumentos codificados en abi.

El selector de función es un hash de 4 bytes que identifica la función que se va a llamar. Este hash se calcula a partir del nombre y los tipos de datos de los argumentos de la función. Por ejemplo, si tenemos la función transfer(address to, uint256 amount) de un contrato, su selector de función sería el hash de 4 bytes de la cadena "transfer(address,uint256)", que es 0xa9059cbb.

Para codificar los argumentos, se utiliza el estándar abi (Application Binary Interface), que especifica cómo se deben codificar los tipos de datos en bytes. Por ejemplo, si queremos enviar el valor 100 como el segundo argumento de la función transfer, se debe codificar como un entero uint256 de 32 bytes. Por lo tanto, la data resultante sería la concatenación del selector de función y los argumentos codificados:

0xa9059cbb + 0000000000000000000000000123456789abcdef00000000000000000000000000000000000000000000000000000000000064

Esta data se envía como entrada a la transacción y se ejecuta en la EVM (Ethereum Virtual Machine) para realizar la función o el contrato que se invoca.

excelente explicacion

Wow que interesante!

Qué excelente Clase !