{"version":3,"file":"static/chunks/pages/index-94d13f6303131e7f.js","mappings":"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","sources":["webpack://_N_E/","webpack://_N_E/./components/box.js","webpack://_N_E/./components/hashlink.js","webpack://_N_E/./components/inline-code.js","webpack://_N_E/./lib/faqContent.js","webpack://_N_E/./pages/faq.js","webpack://_N_E/./components/hero.js","webpack://_N_E/./components/step.js","webpack://_N_E/./pages/index.js"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/\",\n function () {\n return require(\"private-next-pages/index.js\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/\"])\n });\n }\n ","import clsx from 'clsx'\n\n/**\n * @typedef {Object} BoxProps\n * @prop {string} [bgColor]\n * @prop {string} [borderColor]\n * @prop {string} [wrapperClassName]\n * @prop {string} [className]\n * @prop {any} children\n */\n\n/**\n *\n * @param {BoxProps} props\n * @returns\n */\nexport default function Box({\n bgColor = 'white',\n borderColor = 'nsgray',\n wrapperClassName,\n className,\n children,\n}) {\n return (\n
\n {children}\n
\n)\n\nexport default InlineCode\n","import InlineCode from '../components/inline-code'\nimport Link from 'next/link'\n\nconst faqContent = {\n longTermVision: (\n \n NFT.Storage helps NFT developers today who are looking for easy APIs and\n best practices for storing their NFT data securely and resiliently. Even\n in the short-term, it is a trustless and decentralized solution. Users are\n able to cryptographically verify that the{' '}\n \n content identifiers\n {' '}\n that the service provides corresponds to their data, and that this data is\n hosted in multiple ways across the IPFS and Filecoin networks (allowing\n for accessibility across the network and preventing lock-in, with users\n also able to pin their data elsewhere to increase redundance).\n
\n
\n Though we believe that there will always be value in some form of the\n libraries and services NFT.Storage provides, in the long-term the goal is\n to increasingly decentralize NFT.Storage. This includes relying more\n directly on the Filecoin network as the protocol continues to evolve. Some\n examples include storing data directly on the Filecoin network without\n putting it on a centralized IPFS node first and building oracles + DAOs +\n bridges to ensure n copies of data on the network (as Filecoin continues\n to evolve). We also want to make it easy for users to deploy and run their\n own NFT.Storage storage service. This, and other exciting things on the\n horizon, will help upgrade {\"today's\"} NFT.Storage implementation into the\n provably permanent storage solutions of tomorrow.\n
\n Data will be available in IPFS indefinitely as well as stored in\n long-term, redundant Filecoin storage deals with the global community of\n miners. See the{' '}\n \n Terms of Service\n {' '}\n for details.\n
\n ),\n nftSizeRestrictions: (\n\n NFT.Storage can store NFTs up to 31GiB \n in size!\n
\n ),\n nftBestPractices: (\n\n Visit{' '}\n \n NFT School\n {' '}\n for information on NFT best practices as well as a variety of helpful\n tutorials and how-to guides for NFT developers.\n
\n ),\n whoHasAccess: (\n\n All data uploaded to NFT.Storage is available to anyone who requests it\n using the correct CID. Do not store any private or sensitive information\n in an unencrypted form using NFT.Storage.\n
\n ),\n dataDeletion: (\n\n You can delete data from being associated with your account, and it will\n no longer appear on the Files page of your account. However, this doesn’t\n prevent nodes in the IPFS decentralized storage network from retaining\n copies of the data indefinitely. Do not use NFT.Storage for data that may\n need to be permanently deleted in the future.\n
\n ),\n httpGatewayError: (\n\n Not necessarily! HTTP gateways are a great way for users who {\"aren't\"}{' '}\n running their own IPFS nodes to retrieve content from the IPFS network.\n However, they do introduce a centralized point of failure to a user flow.\n If a given gateway is down, or is under too much load, or is facing other\n issues, users who are accessing content through that gateway might be\n unable to access content. In this case, we recommend trying another\n gateway or running and using your own IPFS node.\n
\n
\n Additionally, if the data was not stored on NFT.Storage, then there might\n be issues with the IPFS node(s) with a copy of the data providing that\n data to the gateway. Using NFT.Storage makes sure that the content stored\n is broadcasted to the network using best practices!\n
\n Filecoin storage providers commit their hard drive capacity to the\n Filecoin network, and earn significant block rewards for doing so. This\n translates into real-world profits for storage providers, which\n incentivizes them to continue committing additional hard disk space to the\n Filecoin network. However, when storage providers are storing data from\n Filecoin users, their likelihood of winning block rewards goes up by a big\n factor 一 10x! Because NFT.Storage participates in\n the \n \n Filecoin Plus\n {' '}\n program, all data uploaded through the service is eligible for this 10x\n reward multiplier. This is such a powerful incentive for Filecoin storage\n providers to store user data that they tend to be willing to offer free\n storage and retrieval services in order to get this block reward multiple.\n As a result, most storage providers offer free storage and retrieval on\n Filecoin today and will continue to do so as long as block rewards\n continue to be a powerful incentive. This should be true for a very long\n time 一 for example, it is still the case that block rewards are powerful\n incentives for Bitcoin miners today. While there is some additional\n infrastructure cost associated with running the NFT.Storage service, \n \n Protocol Labs\n {' '}\n is committed to maintaining this infrastructure indefinitely as part of\n our mission to grow the decentralized storage ecosystem and preserve\n humanity's information for future generations.\n
\n ),\n filesLimit: (\n\n There are no limits enforced by the service, other than the 31GiB upload,\n limit. However, if your directory is large or has a lot of files, you\n might have some difficulty uploading it due to memory issues (especially\n if you are uploading to the website via your browser or the directory size\n is larger than your device's memory) or connection issues. If this is\n the case for you, we recommend splitting up your directory into smaller\n directories.\n
\n ),\n unexpectedToken: (\n\n Try updating to Node version 14 or later. We no longer\n offer support for versions prior to v14 (\n \n see here\n \n ). This error can occur when attempting to use{' '}\n \n Optional Chaining\n {' '}\n with an old version of Node.\n
\n ),\n importStatementOutsideModule: (\n\n Try updating to Node version 14 or later. This error can\n occur because of having an old version of Node. We no longer offer support\n for Node versions prior to v14 (\n \n see here\n \n ). With Node v14 or greater, you should be able to use{' '}\n
\n We do not support versions of Node prior to v14 because they are not\n considered active{' '}\n \n releases\n {' '}\n and that would mean loss of important, newer features such as{' '}\n \n Optional Chaining\n \n .\n
\n ),\n httpUrls: (\n\n We generally try to steer people away from linking to specific HTTP\n gateways, since they can be a single point of failure and may go down or\n disappear some point. If your heart is set on using HTTP URLs, I'd say\n your best bet is to create the metadata json manually and store it using{' '}\n
\n We are working on a long-term solution but for now, you can import the\n prebuilt bundle directly in the browser from{' '}\n
\n You may also see this error in relation to the issue:\n
\n
and 10,000+ other users!
\n\n Just upload your data and you'll receive an IPFS hash of the content\n (a "CID," or content address) that you can use to make an IPFS\n URL (ipfs://<cid>
). Use this IPFS URL in your NFT\n data to refer to off-chain data (e.g., the metadata\n field in your NFT, the image field in your metadata) as a pointer to the\n content.\n
\n Filecoin provides long-term storage for the data ensuring that even if\n NFT.Storage is attacked or taken down the NFT data persists! And\n NFT.Storage will continue to decentralize itself out of the picture\n moving forward (e.g., making perpetual storage completely smart\n contract-based utilizing future tools like the{' '}\n \n Filecoin Virtual Machine\n \n ).\n
\n\n Have additional preferences on where to store your data? Pin your data\n to any storage solution running a{' '}\n \n pinning service\n \n .\n
\n >\n )\n const retrieveText = (\n <>\n\n NFT data stored by NFT.Storage can be accessed from the\n decentralized IPFS network from any peer that has the content.\n CIDs reference immutable content so you can be sure the\n content you access is the content referenced in the NFT.\n
\n\n The data can be fetched directly in the browser using{' '}\n \n Brave\n \n , or via a{' '}\n \n public IPFS gateway\n \n , or by using{' '}\n \n IPFS Desktop\n {' '}\n or the{' '}\n \n IPFS command line\n \n .\n
\n\n If fetching content using a public IPFS gateway (e.g., directly using an\n HTTP URL or via Brave), note that the availability and speed of\n retrieving the content depends on the gateway. In cases where the\n gateway is unable to retrieve a given CID (e.g., returns a 429 error),\n you can try a different gateway or running and using your own IPFS node\n instead.\n
\n >\n )\n return (\n\n NFT.Storage is a long-term storage service\n designed for off-chain NFT data (like metadata,\n images, and other assets) for up to 31GiB in size. Data is{' '}\n \n content addressed\n {' '}\n using IPFS, meaning the URL pointing to a piece of data\n (“ipfs://…”) is completely unique to that data. IPFS URLs can be\n used in NFTs and metadata to ensure the NFT forever actually\n refers to the intended data (eliminating things like rug pulls).\n
\n\n NFT.Storage stores many copies of uploaded data on the public\n IPFS network in two primary ways: in dedicated IPFS servers\n managed by NFT.Storage, and decentralized on{' '}\n \n Filecoin\n \n . Since IPFS is a standard used by many different storage\n services, it's easy to redundantly store data uploaded to\n NFT.Storage on any other IPFS-compatible storage solution from{' '}\n \n pinning services\n \n , to your{' '}\n \n local IPFS node\n \n , to other decentralized networks like Arweave or Storj.\n
\n\n \n \n Register an NFT.Storage account\n \n {' '}\n so that you can create API access keys.\n
\n\n \n \n Create an API access key\n \n {' '}\n and note it down.\n
\n\n Choose a method to get your NFT data stored:\n
\n\n Install the{' '}\n \n JS library\n \n :\n
\n\n npm install nft.storage\n\n
Use the client in Node.js or the browser:
\n\n {jsEx}\n\n
\n View the{' '}\n \n full library reference docs\n \n .\n
\n\n For additional example code, check out our{' '}\n \n GitHub repo\n {' '}\n and{' '}\n \n NFT School.\n \n
\n\n Configure your HTTP client and set the{' '}\n \n Authorization\n
{' '}\n header:\n
\n "Authorization": "Bearer YOUR_API_KEY"\n\n
\n Submit a HTTP{' '}\n \n POST\n
{' '}\n request to{' '}\n api.nft.storage/upload{' '}\n passing the file data in the request body. e.g.\n
\n {curlEx}\n\n
\n Successful requests will receive a HTTP{' '}\n \n 200\n
{' '}\n status and{' '}\n \n application/json\n
{' '}\n response like:\n
\n {uploadResp}\n\n
\n Check the{' '}\n \n API Docs\n {' '}\n for information on uploading multiple files and the other\n available endpoints.\n
\n\n For additional example code, check out our{' '}\n \n GitHub repo\n \n .\n
\n\n You can use nft.storage as a{' '}\n \n remote pinning service\n {' '}\n in IPFS.\n
\n\n ipfs pin remote service add nft-storage https://api.nft.storage\n YOUR_API_KEY\n\n
\n Use the{' '}\n \n --help\n
{' '}\n option for information on other remote pinning service commands:\n
\n ipfs pin remote --help\n\n