¿Cómo ser notificado con malas transacciones al enviar a un servidor JSON-RPC?

Con Ubuntu, probé Wallet/Mist y MetaMask en la red de prueba de Ropsten: ambos me notifican transacciones incorrectas antes de ingresar mi contraseña. He intentado hacer lo mismo con un servidor JSON-RPC, de forma normal. El servidor procede a enviar malas transacciones sin previo aviso.

Con respecto a las malas transacciones, ¿hay alguna forma de tener el mismo efecto de Wallet/Mist/MetaMask con un servidor JSON-RPC?

Respuestas (1)

No. Un punto final JSON RPC implementa la funcionalidad según una especificación.

Mist/Metamask implementa la validación de transacciones dentro del cliente antes de enviar la transacción al nodo de respaldo.

En su ejemplo, está enviando la transacción directamente al nodo y, por lo tanto, debe realizar la validación adecuada con anticipación.

En realidad, puede adjuntar cualquier dato a una transacción, por lo que, si bien los datos de transacción firmados incorrectamente no harán lo que espera que hagan, no son necesariamente inválidos.

EDITAR - Más información

Si desea discernir si se generará una transacción, debe ejecutarla en un entorno que imite el estado de la cadena y ver qué sucede.

Geth y Parity implementan el [eth_estimateGas](https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_estimategas)punto final que, cuando se llama con una llamada de función que arroja, devolverá un error.

Entonces, suponiendo que el servidor pueda validar las transacciones antes de la transmisión, ¿cómo puedo hacer que lo haga? Además, ¿cómo puedo autovalidar transacciones? FYI, en este caso, por "malas transacciones" me refiero a llamadas de función que son lanzadas/revertidas por modificadores.
Puedes eth_estimateGasllamar Respuesta editada.
Acabo de probar eth_estimateGas y obtuve resultados normales (sin error al realizar llamadas de función de lanzamiento). Por otro lado, eth_call parece funcionar, siempre que las llamadas a funciones que no lanzan devuelvan algún valor.
Acabo de darme cuenta de que los "resultados normales" no son tan normales: esos son los límites de gas que permito para las transacciones.