ensdomains / docs Goto Github PK
View Code? Open in Web Editor NEWMain documentation site for the ENS protocol
Home Page: https://docs.ens.domains/
License: Creative Commons Zero v1.0 Universal
Main documentation site for the ENS protocol
Home Page: https://docs.ens.domains/
License: Creative Commons Zero v1.0 Universal
Hey team,
We've noticed that you're referencing a subgraph deployed on The Graph's hosted service in this repository. Just a heads-up: after June 12th, hosted service subgraph endpoints will no longer be available as the offering is being deprecated.
If you are the subgraph owner or maintainer, it's time to upgrade your subgraph to the network. This ensures everything keeps running smoothly and you get access to all the latest features and improvements. Here is a quick guide with all the upgrade steps.
If you're not the subgraph owner or maintainer, check Graph Explorer to see if the subgraph development team has already upgraded to the network. If you don’t find an upgraded subgraph, a friendly nudge to the subgraph development team would be greatly appreciated—it's a quick process that benefits everyone. Here's the upgrade guide with all the necessary steps for the subgraph development team.
Once the subgraph is upgraded to the network, you can create an API key and updated query URL in Subgraph Studio then update this repository to query from the new endpoint, https://api.studio.thegraph.com/query/<ID>/<SUBGRAPH_NAME>/<VERSION>
Need more support or have more questions? Feel free to reach out to [email protected]. We're here to help!
Cheers,
Paka
In the docs in the example for Submitting the proof to the DNSRegistrar, the import for the abi
seems to be outdated. In the docs it is:
import { abi } from '@ensdomains/contracts/abis/dnsregistrar/DNSRegistrar.json'
but checking the node_modules it should be this:
import abi from "@ensdomains/ens-contracts/build/contracts/DNSRegistrar.json";
Maybe also add a comment that for this to work, the experimental flag has to be set.
Appologies for recording this in the wrong place but this seemed the next best place.
Your main project board https://github.com/orgs/ensdomains/projects/1 seems a bit stale, the only two issues marked as "Good First Issue" and sat in "todo" are both completed...
ensdomains/ens-app#943
ensdomains/ens-app#1140
I assume more are perhaps but these were the only two I checked.
https://docs.ens.domains/dapp-developer-guide/resolving-names#looking-up-other-resources
the code example uses a getText
function that isn't present anymore in a TextResolver.sol
instead, there's text
, which requires a byte32 node
argument that isn't documented anywhere
pls help ;-;
On line 10 of the Submitting the proof to the DNSRegistrar example, data
and proof
get destructured:
const { data, proof } = oracle.getProofData(result)
But data
does not exist in the object. It should be rrsets
instead:
const { rrsets, proof } = oracle.getProofData(result)
ENS domains can be set up to resolve to .onion names as discussed in the following blog posts:
I think it would be helpful to add this information to the documentation. The documentation currently does not have any results for the queries "onion" or "tor".
Where is the code that shows how an expiration is executed?
hello, i'd like to know the primary difference between a name
and a domain
. is it that a name
is specified as consisting of at least two label
s... whereas domain
is more of a generic, colloquial term available for derivation (domain
, TLD
, subdomain
)?
e.g.
valid name
s:
alice.eth
iam.alice.eth
valid "domain"s:
eth
.eth
alice.eth
iam.alice.eth
Whenever I press save on a file, there are a lot of formatting changes (indents, quotes, semicolons, etc). Might be partially because of my weird system defaults, but more consistency would be great.
Eg in #226 there is a bigger diff than intended because of formatting.
https://docs.ens.domains/contract-api-reference/.eth-permanent-registrar
"In addition, the registrar is an ERC721 compliant nonfungable token contract”
—> “non-fungible”
As discussed with @Arachnid
Submission Deadline: April 30th
Judging Criteria: Best submission
Judging Date: Week following submission date
Bounty: 2.25 ETH
Guidelines and details
The tutorial aims to get someone started with the following about ENS (minimum, feel free to add more):
Alongside the tutorial should be a full code example that a reader can follow and create, resulting in a functional application at the end of the tutorial.
Text should be written in clear technical English and follow a similar style to the existing ENS documentation. Preferably using as little unnecessary passive voice, future tense and weasel words as possible.
I can also help review the tutorial from a written and explanatory side and the ENS team from a technical side. The ENS documentation currently uses DocBook, which is Markdown with a few extensions.
This tells us that we can set multiple records in a single operation using multicall. But there is no documentation on how to make bytes data of setting records in here.
Like how "setting address" bytes data is generated as below
var addrSet = resolver.contract.methods['setAddr(bytes32,address)'](node, accounts[1]).encodeABI();
Incase if we want to create bytes data for creating subdomain, how should one go about it?
On line 14 of the Submitting the proof to the DNSRegistrar example, there is the variable claim.encodedName
used, which is neither imported nor declared beforehand.
Would be beneficial to show where it comes from with maybe a comment to explain what it does.
https://docs.ens.domains/deploying-ens-on-a-private-chain
Can we update this page? It is not using the latest version of ens-contracts and showing errors.
All the screenshots on the DNS Registrar guide page are missing.
Controllers are currently not described in terminology, this could make sense to add.
EP5.2 references both the Service Provider Streams and the eth.link litigation proposal; however, the eth.link proposal should be listed as EP5.3
The landing page of ENS Domains (https://ens.domains) says that the following traditional domains are supported: .xyz
, .kred
, .luxe
, .club
, .art
. I have two suggestions:
.xyz
, .luxe
and kred
domains supported?"Create a documentation about ENS Data
When I followed the deploying-ens-on-a-private-chain to deploy the contract via hardhat I encountered the following error:
$ npx hardhat run scripts/deploy.js
HardhatError: HH700: Artifact for contract "ReverseRegistrar" not found.
at Artifacts._handleWrongArtifactForContractName (/Users/lsl/go/src/github/Uniswap/uniswap-v2-deploy/node_modules/hardhat/src/internal/artifacts.ts:702:11)
at Artifacts._getArtifactPathFromFiles (/Users/lsl/go/src/github/Uniswap/uniswap-v2-deploy/node_modules/hardhat/src/internal/artifacts.ts:827:19)
at Artifacts._getArtifactPath (/Users/lsl/go/src/github/Uniswap/uniswap-v2-deploy/node_modules/hardhat/src/internal/artifacts.ts:507:21)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at runNextTicks (node:internal/process/task_queues:64:3)
at listOnTimeout (node:internal/timers:538:9)
at processTimers (node:internal/timers:512:7)
at async Artifacts.readArtifact (/Users/lsl/go/src/github/Uniswap/uniswap-v2-deploy/node_modules/hardhat/src/internal/artifacts.ts:71:26)
at async getContractFactory (/Users/lsl/go/src/github/Uniswap/uniswap-v2-deploy/node_modules/@nomiclabs/hardhat-ethers/src/internal/helpers.ts:99:22)
at async main (/Users/lsl/go/src/github/Uniswap/uniswap-v2-deploy/scripts/deploy_ens.ts:43:28)
package.json
content:
{
"name": "ens-deploy",
"version": "1.0.0",
"description": "ens contracts deploy",
"main": "deploy.js",
"scripts": {
"compile": "pnpm hardhat compile",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@ensdomains/ens-contracts": "^0.0.20",
"hardhat": "^2.13.0",
"web3": "^1.8.2"
},
"devDependencies": {
"@ethersproject/abi": "^5.4.7",
"@ethersproject/providers": "^5.4.7",
"@nomicfoundation/hardhat-chai-matchers": "^1.0.0",
"@nomicfoundation/hardhat-network-helpers": "^1.0.0",
"@nomicfoundation/hardhat-toolbox": "^2.0.0",
"@nomiclabs/hardhat-ethers": "^2.0.0",
"@nomiclabs/hardhat-etherscan": "^3.0.0",
"@typechain/ethers-v5": "^10.1.0",
"@typechain/hardhat": "^6.1.2",
"@types/chai": "^4.2.0",
"@types/mocha": ">=9.1.0",
"@types/node": ">=12.0.0",
"chai": "^4.2.0",
"eth-ens-namehash": "^2.0.8",
"ethers": "^5.4.7",
"hardhat-gas-reporter": "^1.0.8",
"solidity-coverage": "^0.8.0",
"ts-node": ">=8.0.0",
"typechain": "^8.1.0",
"typescript": ">=4.5.0"
}
}
Is there a problem somewhere? Very much feel your answer.
Introduce two executable proposals:
—
Introduce two social proposals:
Including docs on writing resolvers and writing registrars.
Deploying on Private Chain Example Here is getting error can not find ReverseRegistrar
contract.
Because ReverseRegistrar
is not import in contracts/deps.sol
. Please note that import ReverseRegistrar
will cause an error.
Add EP5.2 to the Governance Documentation.
In the "Service Keys" section of ENSIP-5, there's several examples given. However, as time marches on, the examples are a little less relevant than when they were created. Notably, Peepeth appears to have shut down (seems last time website was accessible was January 2024, though I can find no closure announcement), and there are several other social media sites that ENS users are likely more familiar with. Therefore, I'd recommend evaluating if the following changes should be done to that section:
com.peepeth
as an examplefediverse
(behaving similarly to email
)com.warpcast
net.threads
com.twitter
to be com.x
? Twitter officially changed its logo to "X", and x.com
as a domain redirects to them, so should that be the canonical service link for that social media site?On line 7 of the Submitting the proof to the DNSRegistrar example, there is a missing =
.
The documentation still contains:
The target deployment date for the permanent registrar is the 4th of May, 2019.
This date is already in the past.
This section should explain our implementation of DNSSEC including:
As well as some content explaining how DNSSEC in general works.
We need a section describing how to setup ENS locally (eg: to ganache) and register some sample names.
Ideally using the followings
The larger value has 1 too many 0
.
Not sure if I should create a PR to edit.
I'm attempting to deploy ENS to a private network. I'm running into issues with the documented process for using a single transaction deploy. I'm curious if there's something minor I'm missing or if the example needs to be tweaked slightly?
Here's a link to the documentation section I'm using: https://github.com/ensdomains/docs/blob/master/deploying-ens-on-a-private-chain.md#deploying-ens-in-a-single-transaction
Here's the relevant error output:
$MYPATH/contracts/TestDependancies.sol:6:1: DeclarationError: Identifier already declared.
import "@ensdomains/resolver/contracts/PublicResolver.sol";
^---------------------------------------------------------^
@ensdomains/ens/contracts/ReverseRegistrar.sol:5:1: The previous declaration is here:
contract NameResolver {
^ (Relevant source part starts here and spans across multiple lines).
Compilation failed. See above.
Truffle v5.0.13 (core: 5.0.13)
Node v14.2.0
Contract text:
pragma solidity ^0.5.0;
import "@ensdomains/ens/contracts/ENSRegistry.sol";
import "@ensdomains/ens/contracts/FIFSRegistrar.sol";
import "@ensdomains/ens/contracts/ReverseRegistrar.sol";
import "@ensdomains/resolver/contracts/PublicResolver.sol";
// Construct a set of test ENS contracts.
contract TestDependencies {
bytes32 constant TLD_LABEL = keccak256("eth");
bytes32 constant RESOLVER_LABEL = keccak256("resolver");
bytes32 constant REVERSE_REGISTRAR_LABEL = keccak256("reverse");
bytes32 constant ADDR_LABEL = keccak256("addr");
ENSRegistry public ens;
FIFSRegistrar public fifsRegistrar;
ReverseRegistrar public reverseRegistrar;
PublicResolver public publicResolver;
function namehash(bytes32 node, bytes32 label) public pure returns (bytes32) {
return keccak256(abi.encodePacked(node, label));
}
constructor() public {
ens = new ENSRegistry();
publicResolver = new PublicResolver(ens);
// Set up the resolver
bytes32 resolverNode = namehash(bytes32(0), RESOLVER_LABEL);
ens.setSubnodeOwner(bytes32(0), RESOLVER_LABEL, address(this));
ens.setResolver(resolverNode, address(publicResolver));
publicResolver.setAddr(resolverNode, address(publicResolver));
// Create a FIFS registrar for the TLD
fifsRegistrar = new FIFSRegistrar(ens, namehash(bytes32(0), TLD_LABEL));
ens.setSubnodeOwner(bytes32(0), TLD_LABEL, address(fifsRegistrar));
// Construct a new reverse registrar and point it at the public resolver
reverseRegistrar = new ReverseRegistrar(ens, Resolver(address(publicResolver)));
// Set up the reverse registrar
ens.setSubnodeOwner(bytes32(0), REVERSE_REGISTRAR_LABEL, address(this));
ens.setSubnodeOwner(namehash(bytes32(0), REVERSE_REGISTRAR_LABEL), ADDR_LABEL, address(reverseRegistrar));
}
}
https://docs.ens.domains/dns-registrar-guide all of the images seem to be broken here.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.