Ens

ENS:如何根據智能合約中的名稱計算 namehash?

  • July 17, 2018

在智能合約中使用 Solidity,namehash 是如何從 name (“foo.eth”) 計算出來的?

https://eips.ethereum.org/EIPS/eip-137上的正式規範

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

引用自:https://ethereum.stackexchange.com/questions/54550