Как использовать keccak256 в Solidity?

Я создал регистрационную форму студента и вводил данные как firstName, lastName и studentRegId. Что-то вроде этого:

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;
}
}    

Это должно вернуть хеш-значение (адрес). Но он показывает следующую ошибку:

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

Что я должен делать?

Ответы (1)

keccak256доступно в Solidity 0.4.3 и более поздних версиях.

Если вы используете браузер-солидность, требуется Solidity 0.4.4 и более поздние версии: keccak256 Ошибка Необъявленный идентификатор в браузере-солидности