From 8c4126bdb59d27406b6479d2841edc278d63e03a Mon Sep 17 00:00:00 2001 From: Makoto Inoue <2630+makoto@users.noreply.github.com> Date: Wed, 19 May 2021 09:47:59 +0100 Subject: [PATCH] Update README.md --- README.md | 104 +----------------------------------------------------- 1 file changed, 1 insertion(+), 103 deletions(-) diff --git a/README.md b/README.md index 558ab6f9..806fc945 100644 --- a/README.md +++ b/README.md @@ -1,103 +1 @@ -# ENS - -[![Build Status](https://travis-ci.org/ensdomains/ens.svg?branch=master)](https://travis-ci.org/ensdomains/ens) - -Implementations for registrars and local resolvers for the Ethereum Name Service. - -For documentation of the ENS system, see [docs.ens.domains](https://docs.ens.domains/). - -To run unit tests, clone this repository, and run: - - $ npm install - $ npm test - -# npm package - -This repo doubles as an npm package with the compiled JSON contracts - -```js -import { - Deed, - DeedImplementation, - ENS, - ENSRegistry, - FIFSRegistrar, - Migrations, - Registrar, - ReverseRegistrar, - TestRegistrar -} from '@ensdomains/ens' -``` - -## ENSRegistry.sol - -Implementation of the ENS Registry, the central contract used to look up resolvers and owners for domains. - -## FIFSRegistrar.sol - -Implementation of a simple first-in-first-served registrar, which issues (sub-)domains to the first account to request them. - -# ENS Registry interface - -The ENS registry is a single central contract that provides a mapping from domain names to owners and resolvers, as described in [EIP 137](https://github.com/ethereum/EIPs/issues/137). - -The ENS operates on 'nodes' instead of human-readable names; a human readable name is converted to a node using the namehash algorithm, which is as follows: - - def namehash(name): - if name == '': - return '\0' * 32 - else: - label, _, remainder = name.partition('.') - return sha3(namehash(remainder) + sha3(label)) - -The registry's interface is as follows: - -## owner(bytes32 node) constant returns (address) - -Returns the owner of the specified node. - -## resolver(bytes32 node) constant returns (address) - -Returns the resolver for the specified node. - -## setOwner(bytes32 node, address owner) - -Updates the owner of a node. Only the current owner may call this function. - -## setSubnodeOwner(bytes32 node, bytes32 label, address owner) - -Updates the owner of a subnode. For instance, the owner of "foo.com" may change the owner of "bar.foo.com" by calling `setSubnodeOwner(namehash("foo.com"), sha3("bar"), newowner)`. Only callable by the owner of `node`. - -## setResolver(bytes32 node, address resolver) - -Sets the resolver address for the specified node. - -# Resolvers - -Resolvers can be found in the resolver specific [repository](https://github.com/ensdomains/resolvers). - -# Generating LLL ABI and binary data - -ENS.lll.bin was generated with the following command, using the lllc packaged with Solidity 0.4.4: - - $ lllc ENS.lll > ENS.lll.bin - -The files in the abi directory were generated with the following command: - - $ solc --abi -o abi AbstractENS.sol FIFSRegistrar.sol HashRegistrarSimplified.sol - -# Getting started - -Install Truffle - - $ npm install -g truffle - -Launch the RPC client, for example TestRPC: - - $ testrpc - -Deploy `ENS` and `FIFSRegistrar` to the private network, the deployment process is defined at [here](migrations/2_deploy_contracts.js): - - $ truffle migrate --network dev.fifs - -Check the truffle [documentation](http://truffleframework.com/docs/) for more information. +This repo is now consolidated into https://github.com/ensdomains/ens-contracts