IPFS2.eth (IPFS-To-ETH) is a IPFS gateway-like framework using ENS CCIP-Read Resolver with base32
and base36
IPFS decoder, it’s capable of resolving IPFS and IPNS contenthashes as subdomains *.ipfs2.eth
when queried as ENS subdomain or via public ENS gateway services such as <*>.ipfs2.eth.limo
, IPLD & other content type will be added soon.
- Note : we’re still debugging CCIP implementations, (Ethers.js ?bug in ccip callback (eip-2544 vs eip-3668)? - #3 by 0xc0de4c0ffee)
Network | Resource |
---|---|
Goerli | 0x4774c87ec49589464b6a0e7b24097ac03a9779a9 |
Mainnet | 0xb4BA47783Ff613ec55c9ECdaF38fCF29D7632048 |
.eth (testnet) | https://ipfs2.istest.istest.eth.limo |
.eth | https://ipfs2.eth.limo |
Github | GitHub - namesys-eth/ipfs2-eth-resolver: Web3 IPFS Gateway |
Supported Subdomain Formats
Type | Format | Prefix | CH | f16 | b32 | k36 |
---|---|---|---|---|---|---|
IPFS | dag-pb/raw | 0xe30101<70/55>… | ||||
IPNS | libp2p-key | 0xe5010172… | ||||
IPLD | dag-cbor | 0xe2010171… | ||||
Swarm | swarm-ns | 0xe40101f… | ||||
Onion | - | 0xbc03… | ||||
Onion3 | - | 0xbd03… | ||||
Skylink | - | 0x90b2c6… | ||||
Arweave | - | 0x90b2ca… |
IPFS (base32):
Syntax: b<base32>.ipfs2.eth
https://bafybeiftyo7xm6ktvsmijtwyzcqavotjybnmsiqfxx3fawxvpr666r6z64.ipfs2.eth.limo
IPNS (base36):
Syntax: k<base36>.ipfs2.eth
https://k51qzi5uqu5dkgt2xdmfcyh6058cl8fa6tfnj06u6vdf510260imor3yak48fv.ipfs2.eth.limo
IPLD (base32/dag-cbor):
https://bafyreie2nochynilsdmcyqpxid7d2dzdle4dbptvep65kujtg2uywm7jre.ipfs2.eth.limo
IPFS/IPNS (base16/subdomains):
Syntax: f<prefix>.<bytes16>.<bytes16>.ipfs2.eth
ENS Contenthash (base16/subdomains):
Syntax: <prefix>.<bytes16>.<bytes16>.ipfs2.eth
JS test
let wallet = new BrowserProvider(window.ethereum);
const resolver = await wallet.getResolver("bafybeiftyo7xm6ktvsmijtwyzcqavotjybnmsiqfxx3fawxvpr666r6z64.ipfs2.eth");
let contenthash = await resolver.getContentHash();
console.log(contenthash);
- update : mainnet deployment