¿Cómo usar keccak256 en Solidity?

Creé un formulario de registro de estudiante y tomé la entrada como nombre, apellido y estudianteRegId. Algo como esto:

contract Unique {

string fn;
string ln;
bytes20  val;
bytes32 sId;

function identify(string s, string y, bytes32 i)returns (bytes20){
    fn =s;
    ln =y;
    sId =i;
    val = keccak256(sm,bm,vm);
}

function getOut()constant returns (bytes20 ){
    return val;
}
}    

Esto debería devolver un valor hash (dirección). Pero está mostrando el siguiente error:

Untitled1:13:25: Error: Undeclared identifier.
    val = keccak256(sm,bm,vm); 

¿Qué tengo que hacer?

Respuestas (1)

keccak256está disponible en Solidity 0.4.3 y versiones posteriores.

Si está utilizando la solidez del navegador, se necesita Solidity 0.4.4 y versiones posteriores: keccak256 Error Identificador no declarado en la solidez del navegador