Development resources at your finger tips
Build with the coolest Web3 projects
Recurring funding for Open Source
Learn about Web3 & earn rewards
Show appreciation for each other
Meet fellow developers, designers, futurists and more. Collaborate and BUIDL awesome projects together.
Discover great web3 organizations, work on meaningful projects and build relationships with like minded people. Browse Tribes
Meet the top hunters and contributors from our community.
Hello, Gitcoiners & Gitcoinerettes! It’s happening again – happy blockchain times are coming to San Francisco 🎉, as the San Francisco…
Heya Gitcoiners & Gitcoinerettes! They say that July is the warmest month of the year (location depending), and we’re definitely getting ready fo…
Gitcoin is GDPR complaint. Learn more in
Gitcoin's Terms & Conditions.
Check out the Issue Explorer
Looking to fund some work? You can submit a new Funded Issue here.
The [Ethereum Name Service](https://ens.domains/) is an equivalent of the domain name system in the Ethereum blockchain. It maps names to addresses, enabling users to transact with contracts and wallets through human-readable names, and allowing owners to change the backing contract for their dApps by updating their ENS records.
Ethereum Names are gaining weight in the community, therefore we should support them in EthQL.
- [ ] Enhance the `Address` scalar to identify `.eth` names. The `parseLiteral` and `parseValue` functions should return a promise, which immediately resolves to the original value if it's not an ENS name, and to the resolved address if it's an ENS name.
- [ ] Perform resolution through this library: https://github.com/ensdomains/ensjs
- [ ] Solution must be developed as an EthQL plugin called `ens`. This plugin:
* Depends on the 'web3' service, and is ordered _after_ `core`.
* Adds a new service `ens`: a singleton instance of the `ENS` object instantiated with the `ensjs` library above.
* Adds resolvers that wrap core resolvers, `awaiting` on the promise and delegating to the underlying resolver. These fields introduced by the `core` schema, and resolved there, are to be wrapped:
* top-level `account`
## Definition of done
- [ ] Test cases with full coverage.
- [ ] PR accepted and merged, introducing a new top-level directory `ens` with the specified plugin.
- [ ] Code commented, documented and linted.
- [ ] README and wiki updated listing and showcasing this functionality.