Henry Ma's Website

Ipfs@dw

12 Feb 2019 - Henry Ma

:whale: “Everyone is an entire world, yet no one could be a lonely island.”

:notes: An episode of Exploration of the Decentralized World

TTL;DDR


Wonderlands being explored


Practices:

Website: My Personal Blog @ /ipns/$MyPK

step 0: Enable Jekyll to generate for IPFS(URL, etc)
      JEKYLL_ENV=ipfs bundle exec build
step 1: Add the generaetd website directory to IPFS
      ipfs add -r _site
      https://ipfs.io/ipfs/$WebSiteHash
step 2: Publish through the generated hash(the last in step 1) to /ipns/$MYPK
      ipfs name publish --key=$MyPK $WebSiteHash
      https://ipfs.io/ipns/$MYPK

:herb:Optional Optimizations

  • Setup DNS/DNSLink to make the addressing more human friendly
          DNS TXT Record: my.domain => dnslink=/ipns/$MyPK
          https://ipfs.io/ipns/my.domain
  • Setup DNS/DNSLink to make the entrypoint all the same to traditional web
          DNS TXT Record: _dnslink.my.domain => dnslink=/ipns/$MyPK
          DNS A/CNAME Record: my.domain => ipfs gateway
          http://my.domain
  • Use Files/MFS to track the publishing history
          ipfs files cp /ipfs/$WebSiteHash /blog?

Personal&Offline First: SNS(Super Nerd Space)

【TBD】

Distribution: Love(Living over Earth)

【TBD】

:sound: Disclaimer: The entire world of IPFS is drifting dramatically, please be aware of it and engage with caution, especially when you’d like to use something for production.

:satellite: Current State of IPFS


Understanding

Origin Problems Directions Stack Stack-Deep Core Picture Addressing Applications


Conclusions

:whale: The world of web really needs to be shifted to distributed/decentralized(p2p), permanent, offline(local)-first structure underneath. The Distributed, Permanent Web

  • FileSystem as a special folder on all of your computers where the same contents are available on every machine.

    Discussion - Bazil - Brig

  • WebApp deployed locally(on builder’s device), distributed globally, and used as-if locally(on user’s device).

    I want such an app for the idea of Love: Living over Earth

  • Resource/Data controlled fully(by original owner), used directly and completely on-demand, without intermediate brokers.
  • Ownership&Permanence Really Counts

    Problems: :fire:Accidents like these are happening very frequently.

    • Emoji@Github CDN Link BrokenGithubAssetsURL
    • Sandstorm Free Plan DiscontinuationSandstormFreePlanDis
  • Web SpaceTime Continuum where we may beat time(the speed of light), in exchange of some reasonable (storage) space.InterPlanetary File System.png

How

IPFS is designed to be used in a number of different ways. Here are just some of the use cases I(@Juan Benet) will be pursuing:

  1. As a mounted global filesystem, under /ipfs and /ipns.
  2. As a mounted personal sync folder that automatically versions, publishes, and backs up any writes.
  3. As an encrypted file or data sharing system.
  4. As a versioned package manager for all software.
  5. As the root filesystem of a Virtual Machine.
  6. As the boot filesystem of a VM (under a hypervisor).
  7. As a database: applications can write directly to the Merkle DAG data model and get all the versioning, caching, and distribution IPFS provides.
  8. As a linked (and encrypted) communications platform.
  9. As an integrity checked CDN for large files (without SSL).
  10. As an encrypted CDN.
  11. On webpages, as a web CDN.
  12. As a new Permanent Web where links do not die.

The IPFS implementations target:

(a) an IPFS library to import in applications.

(b) commandline tools to manipulate objects directly.

(c) mounted file systems, using FUSE [?] or as kernel modules.