Se llama a la función de reserva cuando se establecen variables de contrato desde un nodo externo

Soy un principiante en el mundo de Ethereum y tengo algunos problemas para lidiar con un contrato de SimpleStorage en mi red de prueba privada ( http://solidity.readthedocs.io/en/latest/introduction-to-smart-contracts.html ) . En particular, si creo una instancia de contrato y luego llamo a la función set() desde el mismo nodo, todo funciona. Pero si llamo a la función set() desde otro nodo de mi testnet privado usando los siguientes comandos:

> var instance = web3.eth.contract(abi).at(contractAddress);
> instance.set.sendTransaction(21, {from: web3.eth.accounts[0]});

la función no parece funcionar. Más precisamente, simplemente agregando algunos detectores de eventos, puedo notar que en su lugar se llama a la función de reserva. ¿Alguien podría decirme por qué? ¿Qué estoy haciendo mal?

Cualquier ayuda apreciada.

¿Estás seguro de que el ABI es correcto? Vería este comportamiento si intenta llamar a una función que no existe o tiene parámetros formales diferentes a los que implementó.
Ese era en realidad el problema. Ahora funciona perfectamente. ¡Muchas gracias!
@ AM122 Buen camino para agregar un detector de eventos. Dado que nadie más sabe cuál fue el error en el ABI, es probable que desee publicar la respuesta a su propia pregunta y luego, en unos días, podrá aceptar la respuesta. Publicar su propia respuesta está bien aquí.
Hubo un error en la definición abi del tipo de entrada (simplemente se definió como 'uint' en lugar de 'uint256'). Gracias de nuevo
@ AM122 Tenía la intención de publicar en el cuadro grande "su respuesta" a continuación, en lugar de este cuadro pequeño que es solo para comentarios. Luego, en un par de días, puede hacer clic en la marca de verificación en su respuesta.

Respuestas (1)

Hubo un error en la definición abi del tipo de entrada (simplemente se definió como 'uint' en lugar de 'uint256').