¿Este contrato no implementa todas las funciones y, por lo tanto, no se puede crear? Soy muy nuevo en solidty. Cualquier ayuda muy apreciada

pragma solidity ^0.4.0;
contract contracta{
    uint mapsize=10;
    struct request_task{ 
    uint task_id; 
    string ip_address;
    uint flag ;// submited, 1, excuteding, 2, finished, 3, failed
    uint task_submit_time; // 08:12:01 06/18/2018
    uint task_deadline; //  09:12:01 06/18/2018
    uint  provided_price; // maximum price: $10 per hour
    uint bandwidth; // minimum: 100.00 KBP
    }
    request_task[] private request;
    uint internal countera;
    function contracta() internal{
        add(1,"172.168.3.3",1,10,30,5,200);
        add(1,"172.168.3.3",1,10,30,5,200);

    }
    function add(uint _task_id,string _ip_address,uint _flag,uint _task_submit_time,uint _task_deadline,uint  _provided_price,uint _bandwidth) internal{
        request.push(request_task(_task_id,_ip_address,_flag, _task_submit_time,_task_deadline,_provided_price,_bandwidth));
    }
    function get()constant returns(uint){
        return request[1].task_submit_time;
    }

}

Respuestas (1)

No puede implementar un contrato con un internalconstructor. Utilice publicen su lugar:

function contracta() public {
    add(1,"172.168.3.3",1,10,30,5,200);
    add(1,"172.168.3.3",1,10,30,5,200);
}

Por cierto, estás usando una versión extremadamente antigua del compilador Solidity. La versión actual es 0.4.23. Hay una sintaxis de constructor mejorada en estos días:

constructor() public {
    ...
}
Un constructor puede ser internal, simplemente no podrá implementar (o crear) el contrato. El objetivo de un constructor internales si desea indicar explícitamente que no desea implementar (o crear) el contrato, pero aún desea heredar de él (es decir, extenderlo a un contrato implementable).