forked from cerc-io/plugeth
e7d1867964
* contracts/ens: update public resolver solidity code * contracts/ens: update public resolver, update go bindings * update build * fix ens.sol * contracts/ens: change contract interface * contracts/ens: implement public resolver changes * contracts/ens: added ENSRegistry contract * contracts/ens: reinstate old contract code * contracts/ens: update README.md * contracts/ens: added test coverage for fallback contract * contracts/ens: added support for fallback contract * contracts/ens: removed unused contract code * contracts/ens: add todo and decode multicodec stub * add encode * vendor: add ipfs cid libraries * contracts/ens: cid sanity tests * contracts/ens: more cid sanity checks * contracts/ens: wip integration * wip * Revert "vendor: add ipfs cid libraries" This reverts commit 29d9b6b294ded903a1065d96c8149119713cfd12. * contracts/ens: removed multiformats dependencies * contracts/ens: added decode tests * contracts/ens: added eip spec test, minor changes to exiting tests * contracts/ens: moved cid decoding to own file * contracts/ens: added unit test to encode hash to content hash * contracts/ens: removed unused code * contracts/ens: fix ens tests to use cid decode and encode * contracts/ens: adjust swarm multicodecs after pr merge * contracts/ens: fix linter error * constracts/ens: address PR comments * cmd, contracts: make peoples lives easier * contracts/ens: fix linter error * contracts/ens: address PR comments
31 lines
1.4 KiB
Markdown
31 lines
1.4 KiB
Markdown
# Swarm ENS interface
|
|
|
|
## Usage
|
|
|
|
Full documentation for the Ethereum Name Service [can be found as EIP 137](https://github.com/ethereum/EIPs/issues/137).
|
|
This package offers a simple binding that streamlines the registration of arbitrary UTF8 domain names to swarm content hashes.
|
|
|
|
## Development
|
|
|
|
The SOL file in contract subdirectory implements the ENS root registry, a simple
|
|
first-in, first-served registrar for the root namespace, and a simple resolver contract;
|
|
they're used in tests, and can be used to deploy these contracts for your own purposes.
|
|
|
|
The solidity source code can be found at [github.com/arachnid/ens/](https://github.com/arachnid/ens/).
|
|
|
|
The go bindings for ENS contracts are generated using `abigen` via the go generator:
|
|
|
|
```shell
|
|
go generate ./contracts/ens
|
|
```
|
|
|
|
## Fallback contract support
|
|
|
|
In order to better support content resolution on different service providers (such as Swarm and IPFS), [EIP-1577](https://eips.ethereum.org/EIPS/eip-1577)
|
|
was introduced and with it changes that allow applications to know _where_ content hashes are stored (i.e. if the
|
|
requested hash resides on Swarm or IPFS).
|
|
|
|
The code under `contracts/ens/contract` reflects the new Public Resolver changes and the code under `fallback_contract` allows
|
|
us to support the old contract resolution in cases where the ENS name owner did not update her Resolver contract, until the migration
|
|
period ends (date arbitrarily set to June 1st, 2019).
|