Open frozeman opened 7 years ago
The account page could show:
Once the IPFS hash has been loaded from the blockchain, how do you envisage fetching the data?
If Mist bundled an IPFS node, you could load the data directly, but I suspect this isn't what you want to do. Without a bundled IPFS node, you could redirect fs:/<ipfs URL>
to http://localhost:8080/<ipfs URL>
if a local IPFS node is detected. If no local node is detected you could redirect to a public IPFS gateway which could default to https://gateway.ipfs.io
. The resolution process would then look something like:
ipfs://mysite.eth =>
fs:/ipfs/<multihash from Ethereum blockchain> =>
http://localhost:8080/ipfs/<hash> =>
data
One nagging question is why only the /ipfs/
scheme is supported... my understanding is that the IPFS devs plan to support many different paths like /ipns
, /dns
, /bittorrent
, yet if we only load a hash from the blockchain, we have to default to a single scheme (although I suspect that /ipfs/<hash>
is "sufficient" in that you can achieve mutability by updating your ENS resolver record to point to a new hash).
NB: I used the fs:/
prefix above because that seems to be the consensus from the discussion at https://github.com/ethereum/EIPs/issues/137 and https://github.com/ipfs/go-ipfs/issues/1678.
Perhaps the Mist client should catch attempts to go to .eth now to make clear to new users it doesn't work yet. I am getting DNS hijacked by AT&T (my ISP) if I enter anything of these protocols in Mist. :-(
An under construction gif would articulate to new users that we are still in 1993 as far as development. :-)
^ You can change your dns servers to opendns servers. My old ISP did the same thing and they even locked down the routers so that you couldn't set DNS from the router so I had to do it individually on each device. Quite annoying
Eagerly awaiting this feature :)
eth://inigomontoya.eth
-> callsresolver.addr()
-> shows account page with balance or somethinghttp://inigomontoya.eth
-> callsresolver.a()
-> will resolve a normal DNS ipbzz://inigomontoya.eth
-> callsresolver.multiHash()
-> will resoslve using swarmipfs://inigomontoya.eth
-> callsresolver.multiHash()
-> will resoslve using ipfsinigomontoya.eth
-> will default to swarm and callsresolver.multiHash()
-> will resoslve using swarm