ENS 在 2023 年 4 月进行了大量更新,本站 “教程” 和 “文档” 中的相关内容已经过时。
如需了解最新的使用说明或技术文档,请到 ENS 官方提供的
支持 或
文档 进行查阅。
ENS 中的注册器就是一个拥有某个名称所有权的合约,并根据合约代码中定义的一组规则来分配它的子名称。一个简易的即时注册合约如下:
contract FIFSRegistrar { ENS ens; bytes32 rootNode;
function FIFSRegistrar(address ensAddr, bytes32 node) { ens = ENS(ensAddr); rootNode = node; }
function register(bytes32 subnode, address owner) { var node = sha3(rootNode, subnode); var currentOwner = ens.owner(node);
if (currentOwner != 0 && currentOwner != msg.sender) throw;
ens.setSubnodeOwner(rootNode, subnode, owner); } }
|
你可能希望通过设置自定义规则为用户分配新名称,至于设置什么样的规则,这完全由你来决定。
你还应该记住,只要你保留父名称的所有权(无论是直接的还是通过另一个合约的方式),你的用户就无法保证他们拥有的子名称的所有权不会被你收回,也无法保证他们关于子名称的设置不会被你更改。你可能打算将名称的所有权转让给一个能够限制你控制它的合约中。有关示例,请参见 ENSNow。
转载本站内容请注明出处和链接。咨询 ENS 问题或加入 ENS 中文社区请联系
我们。