I have this ts function:
import { keccak_256 } from "js-sha3";
import { Buffer } from "buffer/";
export function getNamehash(name: string) {
let node = "0000000000000000000000000000000000000000000000000000000000000000";
if (name) {
let labels = name.split(".");
for (let i = labels.length - 1; i >= 0; i--) {
let labelSha = keccak_256(labels[i]);
node = keccak_256(Buffer.from(node + labelSha, "hex"));
}
}
return "0x" + node;
}
and when calling this method, it gives results like:
getNamehash("a")
// "0xc3025f6c23b9ab4d91adbcccf350072ec880c65db9a3f42e802fe4ceed56e728"
getNamehash("a.b")
// "0xa57dcb7e802753630ec035bae538ca332465791509b1375525fe8b3b0bada7ef"
getNamehash("abc.def")
// "0xc3025f6c23b9ab4d91adbcccf350072ec880c65db9a3f42e802fe4ceed56e728"
How to implement this method in Ruby?