No se pueden leer datos de contratos inteligentes

Estoy haciendo PoC en Ethereum usando la red Azure Ethereum y Web3. Estuve trabajando desde el último mes y creé un contrato inteligente para la gestión de estudiantes y funcionó de maravilla. Pero por alguna razón, eliminé mi red Azure Ethereum y creé una nueva. He seguido todos los pasos que hice anteriormente, pero muestra un error en la sección de verificación formal como

Error: el tipo int256 no se admite para la variable de estado

El mismo código de contrato inteligente funcionaba bien anteriormente. Las transacciones se realizan desde Metamask, pero no puedo leer los datos de las funciones, así que puedo averiguar dónde está exactamente el problema.

~pragma solidity ^0.4.9;
contract SimpleTest {
    int public count;

    function IncCounter()
    {
        count++;
    }

    function GetCounter() constant returns(int)
    {
        return count;
    }
}

He buscado este problema pero no encontré nada valioso. ¿Puede alguien ayudarme a comprender el problema exacto y cómo resolverlo rápidamente?

¿Dónde muestra el error? ¿ Qué haces para desencadenar el error? ¿Qué pasos estás siguiendo?

Respuestas (2)

Suena como un error del compilador (no tengo idea de qué es la "sección de verificación formal").

Lo más probable es que el compilador Solidity se haya actualizado a una versión más nueva que viene con controles más estrictos.

Sin embargo, es imposible saberlo a menos que incluya el código fuente de su contrato y los errores reales en la pregunta. Edite la pregunta y use las capacidades de formato de código de Markdown para agregar los detalles necesarios.

Me editaron la publicación y agregué un código que intenté usar. hoy estoy tratando de ejecutar métodos de contrato después de 3/4 días, pero sigue existiendo el mismo problema
He resuelto esto usando el método web contract.new(). He implementado un contrato inteligente desde el nodo js usando el proveedor web3.

Su código de contrato funciona bien:ingrese la descripción de la imagen aquí

tu variable countes pública de todos modos. puede intentar usar el captador automático, SimpleTestInstance.count()supongo que el problema que tuvo fue con uinty int. Recuerda que into uintsignifica uint256y int256. Entonces, dependiendo de las firmas de tipo de sus contratos, puede ser incorrecto.

enlace al violín: https://ethfiddle.com/C6ARx6vyyo