UNPKG

create-ipfs-app

Version:

Create IPFS apps with no build configuration.

116 lines (79 loc) 4.43 kB
# Create IPFS App <img alt="Create IPFS App" src="https://raw.githubusercontent.com/alexbakers/create-ipfs-app/main/public/create-ipfs-app.png" /> <img alt="IPFS" align="right" src="https://raw.githubusercontent.com/alexbakers/create-ipfs-app/main/public/ipfs.svg" width="130px" /> Create IPFS apps with no build configuration (like create-react-app). <a href="https://filebase.com"><img alt="FileBase.Com" align="right" src="https://raw.githubusercontent.com/alexbakers/create-ipfs-app/main/public/filebase.png" width="55px" /></a> <a href="https://web3.storage"><img alt="Web3.Storage" align="right" src="https://raw.githubusercontent.com/alexbakers/create-ipfs-app/main/public/web3.png" width="50px" /></a> <a href="https://pinata.cloud"><img alt="Pinata.Cloud" align="right" src="https://raw.githubusercontent.com/alexbakers/create-ipfs-app/main/public/pinata.svg" width="55px" /></a> <a href="https://moralis.io"><img alt="Moralis.Io" align="right" src="https://raw.githubusercontent.com/alexbakers/create-ipfs-app/main/public/moralis.png" width="70px" /></a> Create IPFS App works on macOS, Windows, and Linux.<br> If something doesn’t work, please [file an issue](https://github.com/alexbakers/create-ipfs-app/issues/new).<br> If you have questions or need help, please ask in [GitHub Discussions](https://github.com/alexbakers/create-ipfs-app/discussions). If you want to watch the tutorial, go to [this video](https://vimeo.com/745362905). ## Quick Overview To create a new IPFS app, you may choose one of the following methods: ### NPX ```sh npx create-ipfs-app my-ipfs-app --web3 WEB3_STORAGE_API_TOKEN ``` ### YARN ```sh yarn create ipfs-app my-ipfs-app --moralis MORALIS_WEB3_API_KEY ``` ### NPM ```sh npm install -g create-ipfs-app create-ipfs-app my-ipfs-app --pinata PINATA_API_KEY:PINATA_API_SECRET ``` ## Params - `--web3 WEB3_STORAGE_API_TOKEN` - `--moralis MORALIS_WEB3_API_KEY` - `--pinata PINATA_API_KEY:PINATA_API_SECRET` - `--filebase FILEBASE_API_KEY:FILEBASE_API_SECRET:FILEBASE_BUCKET_NAME` <img alt="Create IPFS App Success" src="https://raw.githubusercontent.com/alexbakers/create-ipfs-app/main/public/success.png" /> Once the installation is done, you can open your project folder: ```sh cd my-ipfs-app ``` Inside the newly created project, you can run some built-in commands: ### `npm start` or `yarn start` Runs the app in development mode.<br> Open [http://localhost:3000](http://localhost:3000) to view it in the browser. ### `npm test` or `yarn test` Runs the test watcher in an interactive mode.<br> By default, runs tests related to files changed since the last commit. ### `npm run build` or `yarn build` Builds the app for production to the `build` folder.<br> Your app is ready to be deployed. ### `npm run deploy:service` or `yarn deploy:service` <img alt="Create IPFS App Deployed" src="https://raw.githubusercontent.com/alexbakers/create-ipfs-app/main/public/deployed.png" /> - `deploy:web3` - deploy to <a href="https://web3.storage">web3.storage</a> - `deploy:moralis` - deploy to <a href="https://moralis.io">moralis.io</a> - `deploy:pinata` - deploy to <a href="https://pinata.cloud">pinata.cloud</a> - `deploy:filebase` - deploy to <a href="https://filebase.com">filebase.com</a> [<a href="https://docs.filebase.com/knowledge-base/web3-tutorials/create-ipfs-dapp">tutorial</a>] In a few seconds, your application will be deployed on the decentralized network.<br> - Open `ipfs://Q.../index.html` to view it in the Brave browser. - Open `https://dweb.link/ipfs/Q.../index.html` to view it in the ALL browsers. If you see a white screen instead of a website: - Add to package.json `"homepage": "."`; - Build the project; - Deploy it again. ## How to add a deployment script to an existing project? - Install global package `ipfs-scripts`; - Create `.env` file at the root of project: - `MORALIS="MORALIS.IO WEB3_API_KEY"` - `PINATA="PINATA.CLOUD API_KEY:API_SECRET"` - `WEB3="WEB3.STORAGE API_TOKEN"` - `FILEBASE="FILEBASE.COM API_KEY:API_SECRET:BUCKET_NAME"` - Add **scripts** to package.json: - `"deploy:moralis": "ipfs-scripts moralis"` - `"deploy:pinata": "ipfs-scripts pinata"` - `"deploy:web3": "ipfs-scripts web3"` - `"deploy:filebase": "ipfs-scripts filebase"` # TODO - [x] web3.storage - [x] moralis.io - [x] pinata.cloud - [x] filebase.com - [ ] framework agnostic (vue, svelte, ...) - [ ] auto-update CloudFlare DNS