[Blockchain | ENS] Namehash encryption logic in ENS

Calculate namehash in smart contract 

function computeNamehash(string _name) public pure returns (bytes32 namehash) {
  namehash = 0x0000000000000000000000000000000000000000000000000000000000000000;
  namehash = keccak256(
  abi.encodePacked(namehash, keccak256(abi.encodePacked('eth')))
  );
  namehash = keccak256(
  abi.encodePacked(namehash, keccak256(abi.encodePacked(_name)))
  );
}

caA sample implementation in Python is provided below.

def namehash(name):
  if name == '':
    return '\0' * 32
  else:
    label, _, remainder = name.partition('.')
    return sha3(namehash(remainder) + sha3(label))
var hash = namehash('www.baidu.com')

Reference documentation: 

Guess you like

Origin blog.csdn.net/qq_28505809/article/details/126971216