From 6c505231279f8eeab09b69bcaf59a9309a8a4d20 Mon Sep 17 00:00:00 2001 From: Luc Date: Thu, 22 Feb 2024 00:30:10 +0000 Subject: [PATCH 1/6] Introduce Draft DWeb Post --- app/local/config/navigation/protocol.ts | 7 ++++- docs/dweb/intro.mdx | 40 +++++++++++++++++++++++++ docs/resolvers/interfaces.mdx | 3 +- 3 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 docs/dweb/intro.mdx diff --git a/app/local/config/navigation/protocol.ts b/app/local/config/navigation/protocol.ts index cf37ff817..ac637cc0a 100644 --- a/app/local/config/navigation/protocol.ts +++ b/app/local/config/navigation/protocol.ts @@ -67,7 +67,7 @@ export const navigation: SectionData[] = [ name: 'Using ENS', href: '/web', icon: '📖', - activePattern: /^\/web(\/.*)?/, + activePattern: /^\/d?web(\/.*)?/, links: [ { title: '', @@ -137,6 +137,11 @@ export const navigation: SectionData[] = [ title: 'Subgraph', href: '/web/subgraph', }, + { + title: 'Decentralized Web', + href: '/dweb/intro', + wip: true, + }, // { // title: 'Sign In With Ethereum (SIWE)', // href: '/web/siwe', diff --git a/docs/dweb/intro.mdx b/docs/dweb/intro.mdx new file mode 100644 index 000000000..5f40c8063 --- /dev/null +++ b/docs/dweb/intro.mdx @@ -0,0 +1,40 @@ +import { WIP } from '@/components/wip/WIP'; + +{/* * @type {import('@/lib/mdxPageProps').MdxMetaProps} */} +export const meta = { + description: '', + emoji: '🔍', + contributors: [ + 'lucemans' + ] +}; + +# Hosting a Decentralized Website + + + +Lorem ipsum dolor set amet. + +## ContentHash {{ title: 'the \'contenthash\' field' }} + +The ContentHash is a very popular component of an ENS name. +It can be queried by hitting the [contenthash(bytes32)](/resolvers/interfaces#0xbc1c58d1) function on a name's resolver. +You can also [set the contenthash on a name](/resolvers/interfaces#0x304e6ade) if the resolver supports it. + +## Hosting & Pinning {{id: 'hosting'}} + +Lorem ipsum dolor set amet. + +- IPFS / Filecoin +- Swarm +- Arweave + +- Fleek + +## Setting your ContentHash + +If you are using the public resolver (the default for names registered using the ENS Manager App), you can set the contenthash directly from within the ENS Manager App. + +### Alternative Methods + +Not every name uses the public resolver. diff --git a/docs/resolvers/interfaces.mdx b/docs/resolvers/interfaces.mdx index 4668106c6..2004c7748 100644 --- a/docs/resolvers/interfaces.mdx +++ b/docs/resolvers/interfaces.mdx @@ -1,5 +1,6 @@ import { WIP } from "@/components/wip/WIP"; import { resolver_methods } from "#/data/resolver"; +import { h2, h3, h4 } from '@/components/mdx/heading/h2'; {/* * @type {import('@/lib/mdxPageProps').MdxMetaProps} */} export const meta = { @@ -45,7 +46,7 @@ function supportsInterface(bytes4 interfaceID) external pure returns (bool) methods.map((method) => { return (
-

{method.usage}

+

{method.usage}

{method.name} From 7597e2f88250abfc596a9753e813dc0353c44f9a Mon Sep 17 00:00:00 2001 From: Luc Date: Mon, 26 Feb 2024 19:04:27 +0000 Subject: [PATCH 2/6] z --- docs/dweb/intro.mdx | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/docs/dweb/intro.mdx b/docs/dweb/intro.mdx index 5f40c8063..7b6bbff74 100644 --- a/docs/dweb/intro.mdx +++ b/docs/dweb/intro.mdx @@ -2,7 +2,7 @@ import { WIP } from '@/components/wip/WIP'; {/* * @type {import('@/lib/mdxPageProps').MdxMetaProps} */} export const meta = { - description: '', + description: 'Introduction to hosting a decentralized website using ENS', emoji: '🔍', contributors: [ 'lucemans' @@ -21,20 +21,30 @@ The ContentHash is a very popular component of an ENS name. It can be queried by hitting the [contenthash(bytes32)](/resolvers/interfaces#0xbc1c58d1) function on a name's resolver. You can also [set the contenthash on a name](/resolvers/interfaces#0x304e6ade) if the resolver supports it. +
+ { + ['ipfs://qMhx...', 'ar://HGa8...'].map((tag) => ( + {tag} + )) + } +
+ ## Hosting & Pinning {{id: 'hosting'}} -Lorem ipsum dolor set amet. +When it comes to hosting your files there are many options to choose from. -- IPFS / Filecoin -- Swarm -- Arweave -- Fleek +
+ { + ['IPFS / Filecoin', 'Swarm', 'Arweave'].map((tag) => ( + {tag} + )) + } +
## Setting your ContentHash If you are using the public resolver (the default for names registered using the ENS Manager App), you can set the contenthash directly from within the ENS Manager App. -### Alternative Methods - -Not every name uses the public resolver. +If you are using a custom resolver, or are writing your own resolver you will be able to have more fine grained control over the contenthash field. +See [ENSIP-7](/ensip/7) for more information on the contenthash field. \ No newline at end of file From c58fd3886e5c02db4135c220069a2add6c41cd71 Mon Sep 17 00:00:00 2001 From: Lucemans Date: Wed, 29 May 2024 03:28:33 +0300 Subject: [PATCH 3/6] Bump Content --- docs/dweb/intro.mdx | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/docs/dweb/intro.mdx b/docs/dweb/intro.mdx index 7b6bbff74..d51541b3c 100644 --- a/docs/dweb/intro.mdx +++ b/docs/dweb/intro.mdx @@ -13,17 +13,15 @@ export const meta = { -Lorem ipsum dolor set amet. - ## ContentHash {{ title: 'the \'contenthash\' field' }} -The ContentHash is a very popular component of an ENS name. +The ContentHash is a very popular component of an ENS name, first introduced in [ENSIP-7](/ensip/7). It can be queried by hitting the [contenthash(bytes32)](/resolvers/interfaces#0xbc1c58d1) function on a name's resolver. You can also [set the contenthash on a name](/resolvers/interfaces#0x304e6ade) if the resolver supports it.
{ - ['ipfs://qMhx...', 'ar://HGa8...'].map((tag) => ( + ['ipfs://qMhx...', 'bzz:/2477', 'ar://HGa8...'].map((tag) => ( {tag} )) } @@ -44,7 +42,20 @@ When it comes to hosting your files there are many options to choose from. ## Setting your ContentHash -If you are using the public resolver (the default for names registered using the ENS Manager App), you can set the contenthash directly from within the ENS Manager App. +If you are using the public resolver (the default for names registered using the ENS Manager App), you can set the contenthash directly from within the [ENS Manager App](https://app.ens.domains). If you are using a custom resolver, or are writing your own resolver you will be able to have more fine grained control over the contenthash field. -See [ENSIP-7](/ensip/7) for more information on the contenthash field. \ No newline at end of file +See [ENSIP-7](/ensip/7) for more information on the contenthash field. + +### Deploy your site + +Several helpful tools and platforms exist that you can use to deploy your website to IPFS, Swarm, or Arweave. +Most notably [fleek](https://fleek.co), [Pinata](https://pinata.cloud), and [Blumen](https://blumen.stauro.dev/). +Helping you easily deploy your website to a decentralized storage network. + +## Browser Support & Gateways + +In the ideal world every browser supports decentralized websites out of the box. +If you are using [MetaMask](https://metamask.io) or [Brave Browser](https://brave.com) you can already access IPFS websites directly. +On non-conforming browsers you can use a gateway such as [eth.link](https://eth.link) or [eth.limo](https://eth.limo) to access your website. +You can test if your browser supports decentralized websites by visiting [ens.eth](https://ens.eth) or use a gateway via [ens.eth.link](https://ens.eth.link). From a76d85daae24126fc79537a664f072541c7ba3d0 Mon Sep 17 00:00:00 2001 From: Lucemans Date: Wed, 29 May 2024 03:34:04 +0300 Subject: [PATCH 4/6] Bump --- docs/dweb/intro.mdx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/dweb/intro.mdx b/docs/dweb/intro.mdx index d51541b3c..5a41e8113 100644 --- a/docs/dweb/intro.mdx +++ b/docs/dweb/intro.mdx @@ -5,7 +5,7 @@ export const meta = { description: 'Introduction to hosting a decentralized website using ENS', emoji: '🔍', contributors: [ - 'lucemans' + 'luc.eth' ] }; @@ -13,6 +13,8 @@ export const meta = { +{/* TODO: Graphic here */} + ## ContentHash {{ title: 'the \'contenthash\' field' }} The ContentHash is a very popular component of an ENS name, first introduced in [ENSIP-7](/ensip/7). From 3d6007f8b3bdf954f12932b828ffda6a91201418 Mon Sep 17 00:00:00 2001 From: Lucemans Date: Wed, 29 May 2024 03:49:08 +0300 Subject: [PATCH 5/6] Update Header Ids --- docs/dweb/intro.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/dweb/intro.mdx b/docs/dweb/intro.mdx index 5a41e8113..da7514c1d 100644 --- a/docs/dweb/intro.mdx +++ b/docs/dweb/intro.mdx @@ -29,7 +29,7 @@ You can also [set the contenthash on a name](/resolvers/interfaces#0x304e6ade) i }
-## Hosting & Pinning {{id: 'hosting'}} +## Hosting & Pinning {{ id: 'hosting' }} When it comes to hosting your files there are many options to choose from. @@ -42,20 +42,20 @@ When it comes to hosting your files there are many options to choose from. }
-## Setting your ContentHash +## Setting your ContentHash {{ id: 'set' }} If you are using the public resolver (the default for names registered using the ENS Manager App), you can set the contenthash directly from within the [ENS Manager App](https://app.ens.domains). If you are using a custom resolver, or are writing your own resolver you will be able to have more fine grained control over the contenthash field. See [ENSIP-7](/ensip/7) for more information on the contenthash field. -### Deploy your site +### Deploy your site {{ id: 'deploy' }} Several helpful tools and platforms exist that you can use to deploy your website to IPFS, Swarm, or Arweave. Most notably [fleek](https://fleek.co), [Pinata](https://pinata.cloud), and [Blumen](https://blumen.stauro.dev/). Helping you easily deploy your website to a decentralized storage network. -## Browser Support & Gateways +## Browser Support & Gateways {{ id: 'gateway' }} In the ideal world every browser supports decentralized websites out of the box. If you are using [MetaMask](https://metamask.io) or [Brave Browser](https://brave.com) you can already access IPFS websites directly. From 4dcf21cfb14f432f154e594dadd19397b40ace97 Mon Sep 17 00:00:00 2001 From: Lucemans Date: Wed, 29 May 2024 04:05:20 +0300 Subject: [PATCH 6/6] Bump --- app/app/theme.tsx | 1 - docs/dweb/intro.mdx | 16 ++++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/app/app/theme.tsx b/app/app/theme.tsx index 92841ba5f..af7c8c699 100644 --- a/app/app/theme.tsx +++ b/app/app/theme.tsx @@ -24,7 +24,6 @@ const config = createConfig({ ], transports: { [mainnet.id]: http(), - [goerli.id]: http(), [sepolia.id]: http(), [holesky.id]: http(), }, diff --git a/docs/dweb/intro.mdx b/docs/dweb/intro.mdx index da7514c1d..1aaec12e3 100644 --- a/docs/dweb/intro.mdx +++ b/docs/dweb/intro.mdx @@ -42,12 +42,9 @@ When it comes to hosting your files there are many options to choose from. } -## Setting your ContentHash {{ id: 'set' }} - -If you are using the public resolver (the default for names registered using the ENS Manager App), you can set the contenthash directly from within the [ENS Manager App](https://app.ens.domains). - -If you are using a custom resolver, or are writing your own resolver you will be able to have more fine grained control over the contenthash field. -See [ENSIP-7](/ensip/7) for more information on the contenthash field. +Popular options include [IPFS](https://ipfs.io), [Swarm](https://ethswarm.org), and [Arweave](https://arweave.org). +Depending on what option you go with your files are either permanently stored on a network, +or require to be actively stored on atleast one machine, also known as "pinning". ### Deploy your site {{ id: 'deploy' }} @@ -55,6 +52,13 @@ Several helpful tools and platforms exist that you can use to deploy your websit Most notably [fleek](https://fleek.co), [Pinata](https://pinata.cloud), and [Blumen](https://blumen.stauro.dev/). Helping you easily deploy your website to a decentralized storage network. +## Setting your ContentHash {{ id: 'set' }} + +If you are using the public resolver (the default for names registered using the ENS Manager App), you can set the contenthash directly from within the [ENS Manager App](https://app.ens.domains). + +If you are using a custom resolver, or are writing your own resolver you will be able to have more fine grained control over the contenthash field. +See [ENSIP-7](/ensip/7) for more information on the contenthash field. + ## Browser Support & Gateways {{ id: 'gateway' }} In the ideal world every browser supports decentralized websites out of the box.