* 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 29d9b6b294
.
* 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).
|