LinkENS
me3
Old content below, continuing at me3
Contents:
Running Expenses
- Netlify Functions: 125k requests and 100h per month, free
- Fleek: 250min build and 50GB bandwidth, free
- Storage: 1TB for 1yr, free
- ENS: $5USD + gas per year
- DNS: $8.35USD 2 years
- Email: $10.10 USD 1 year
Tasks
UI
- gradient hover state needs to shift right, not left. Left side should be just the darker blue
- hover state for text links in menu
- dark/light theme toggle
- dark theme
- add in logo:
- fix colours for text and links
- the bloody button outlines
- button shadows
- mobile style
Features
- connect wallet
- [-] L2 subdomains and resolvers:
- user page in svelte but deployed as single file from serverless function:
- script to build and save user site in backend folder
- backend to do string replace on bundle for subdomain
- backend to ship bundle to web3
- update fleek build path
- webpack create two bundles
- [-] inline css/js into single html file:
- https://stackoverflow.com/questions/64206486/how-to-use-webpack-to-inline-css-and-js-into-html-and-remove-unused-styles
- https://github.com/JustAGuyCoding/spotlight-webpack
- https://github.com/jantimon/html-webpack-plugin#writing-your-own-templates
- https://www.npmjs.com/package/style-ext-html-webpack-plugin
- form validations:
- select subdomain
- CID fields
- URL fields
- serverless function accept profile data:
- create template that supports hardcoded data
- version inputs
- version specific page building
- user page preview
- marketing/landing page
- use IPNS for contenthash
Admin
- move email hosting somewhere else (current host only allows one user and I'm trying not to dox myself)
- deploy latest SiteManager contract
- new name
Bugs
- if the domain search triggers while backspacing and the user completely empties the input box, validation status of the intermediate search still exists
- if selecting a wallet and metamask is not connected, the profile icon still shows but is empty, button never returns
- validation icon does not always match the provided value, can happen when typing too slow
- on confirmation screen, the avatar has a higher index then the connect wallet modal
- final button should just say publish but trigger connect wallet if not connected
- avatar does not seem to be saved, a recent example:
- https://ropsten.etherscan.io/address/0x42D63ae25990889E35F215bC95884039Ba354115#readContract
- call
text
with0x594aa35033eb33efbdf97912b440c4dac7e476b596a4fe03564dd55ccd76cc8c
andavatar
- call
- Transaction: https://ropsten.etherscan.io/tx/0x4886559fce4053c79a974dae0925379d1ea6ba27c02ec5db5750889dae1c68a8
- I think its being missed in the publish routine based on the input data
- https://ropsten.etherscan.io/address/0x42D63ae25990889E35F215bC95884039Ba354115#readContract
- deploy function does zero checks on subdomain value before replacing in an HTML file. Need to sanitize so that we're not a vector for malware
L2 notes
L2 subdomains are pretty straightforward but the biggest gap is a lack of support from clients. We would want to have support in Metamask, mobile wallets, and Cloudflare's CDN thing before going down this path. We could do L1 subdomains with L2 record resolvers. This would require two transactions: one on L1 and one on L2. We could have the user pay the gas fees plus a small fee to register an L1 subdomain then use the profits to update the rest of the records on L2. To avoid getting cleaned out, we would only do the initial record setting. Any changes would be on the user to perform from their wallet.
Optimism setup:
- https://community.optimism.io/docs/developers/tutorials.html
- https://github.com/ethereum-optimism/optimism-tutorial/tree/main/hardhat
Architecture
Prcoess flow: