Indefinitely lock your IPFS website deployments to versioned ENS subdomains
I'm using the ENS NameWrapper with a special resolver and subname renewal manager from serenae.eth.
- Step 1: Check if a .eth name is wrapped
- Step 2: Call
approve
on the NameWrapper to the subname renewal manager, allowing anyone to renew all subnames - Step 3: Burn
CANNOT_UNWRAP | CANNOT_APPROVE
on the 2LD, preventing anyone from changing the subname renewal manager - Step 4: Create subname while burning fuses
CAN_EXTEND_EXPIRY | PARENT_CANNOT_CONTROL | CANNOT_UNWRAP | CANNOT_SET_RESOLVER
on the subname - Step 5: Set contenthash on the subname
- Step 6: Lock contenthash on the subname using the custom resolver contract
- Code: Vite + React + RainbowKit + viem + wagmi
- Design: Thorin
Clone this repo
git clone https://github.com/gskril/immutable-ens-websites.git
Install dependencies
yarn install
Run the app
yarn dev
I wanted to make this a fully standalone app but ran into some time limitations at the hackathon, so I'm leaning on a few external services for now. I plan to remove these dependencies in the future.
Specifically, I want to allow the user to:
- Input their own RPC endpoint
- Wrap .eth names directly from the app
- Upload their website build directly to IPFS
- Enter an IPFS hash instead of having to encode it first