An experimental decentralized e-commerce store served entirely from IPFS.
First create a listing on shoporigin.com and make a note of the listing ID.
# Clone and install
git clone https://github.com/OriginProtocol/origin.git origin-store
cd origin-store
yarn
cd dapps/shop
# Copy example multi-product store data
cp -r data/example data/mystore
# OR single-product store data
cp -r data/example-single data/mystore
# Copy PGP dist files
cp -r ../../node_modules/openpgp/dist public
# Generate PGP keys. Make a note of public and private keys.
node scripts/genKey
# Edit config in data/mystore/config.json
# Start local
DATA_DIR=mystore yarn start
PROVIDER=<provider> NETWORK=<mainnet|rinkeby> DATA_DIR=mystore npm run build
First, sign up for Pinata
export IPFS_DEPLOY_PINATA__API_KEY=<YOUR PINATA API KEY>
export IPFS_DEPLOY_PINATA__SECRET_API_KEY=<YOUR PINATA SECRET KEY>
DATA_DIR=mystore yarn build
cp -r data/mystore public
npx ipfs-deploy -p pinata
Make a note of the IPFS hash as you'll need it later...
- Create a CNAME from
subdomain.yourdomain.com
tocloudflare-ipfs.com
- Add a TXT record with the name
_dnslink.subdomain.yourdomain.com
and valuednslink=/ipfs/<your_ipfs_hash_here>
- Visit this page on Cloudflare, scroll to the bottom and add your domain to the form
- Ignore the 'Authentication Error' if there is one
- Wait a minute or so, then visit your URL in a browser
- Visit the ENS App
- Ensure your wallet (MetaMask et al) is pointing to Mainnet
- Register your ENS domain
- Use the Public resolver
- Set content hash to
ipfs://<your_ipfs_hash_here>
- Wait a few minutes, then visit
https://your-ens-domain.eth.link