Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: update faqs to reflect tiers and w3up #1803

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions packages/docs/src/theme/Footer/footer.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,6 @@
"copyright": {
"left": {
"text": "2022 Protocol Labs"
},
"right": {
"text": "Want more free storage?",
"link": {
"text": "Submit a request",
"url": "https://web3.storage/account"
}
}
}
}
Expand Down
34 changes: 22 additions & 12 deletions packages/website/content/pages/faq.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,24 +40,34 @@
"toggleOnLoad": false,
"sections": [
{
"id": "service",
"heading": "How is Web3.Storage different from NFT.Storage?",
"content": "Both services are offered by the same group and share much of the same architecture, but as the name suggests, NFT.Storage is a service that is focused on NFTs specifically, with the mission to perpetually store all off-chain NFT data as a public good (so for free, forever). On the other hand, Web3.Storage looks to offer very inexpensive, decentralized data storage for any kind of data."
"id": "platform",
"heading": "What is meant by the \"web3.storage platform\"?",
"content": "web3.storage is a suite of APIs and services that make it easy for developers and other users to interact with data in a way that is not tied to where the data is actually physically stored. It natively uses decentralized data and identity protocols like <a href='https://ipfs.io/' alt='IPFS' target='_blank'>IPFS</a>, <a href=https://filecoin.io/' alt='Filecoin' target='_blank'>Filecoin</a>, and <a href=https://ucan.xyz/' alt='UCAN' target='_blank'>UCAN</a> that enable verifiable, data- and user-centric application architectures and workflows. <br><br>At the core of the platform includes a hosted storage service which can be used to upload and persist data to make it continuously available. The platform also contains additional services like <a href=https://web3.storage/products/w3link/' alt='w3link' target='_blank'>w3link</a> and <a href=https://web3.storage/products/w3name' alt='w3name' target='_blank'>w3name</a> that make it easier to create seamless, delightful web experiences utilizing web3 protocols."
},
{
"id": "versus-traditional",
"heading": "What advantages does web3.storage have over traditional hosted storage services?",
"content": "Because web3.storage uses decentralized data and identity protocols like <a href=https://ipfs.io/' alt='IPFS' target='_blank'>IPFS</a> and <a href=https://ucan.xyz/' alt='UCAN' target='_blank'>UCAN</a>, data and identity are referenced in an open way. Data is referenced using <a href=https://docs.ipfs.tech/concepts/content-addressing/' alt='Content addressing' target='_blank'>IPFS content identifiers</a> that are unique to the data, making your data completely portable - accessible from anywhere broadcasting data to the IPFS network, whether on a local or peer device, or uploaded to web3.storage itself. Data is backed up on <a href=https://filecoin.io/' alt='Filecoin' target='_blank'>Filecoin</a>, which gives <a href=https://filecoin.io/blog/posts/what-sets-us-apart-filecoin-s-proof-system/' alt='Filecoin proofs' target='_blank'>cryptographic proof</a> that your data is physically being stored without needing to trust web3.storage. <br><br>Authentication is associated with user <a href=https://w3c-ccg.github.io/did-primer/' alt='DID' target='_blank'>decentralized identifiers</a> (DIDs) that sign UCAN tokens that can be cryptographically verified by the web3.storage service, meaning that your identity is not determined by a central authentication server. And because any storage solution can utilize the same UCAN and IPFS content IDs, there is no lock-in to web3.storage’s service."
},
{
"id": "cryptoeconomics",
"heading": "How can you offer this service for free?",
"content": "Due to the cryptoeconomics of Filecoin, data storage is provided for free today. This will likely change to some form of crypto-native payment model in the near future (e.g., staking Filecoin to increase storage limits), but will remain highly inexpensive due to Filecoin's economic model and 15B+ PiB of capacity. Today, we do subsidize the cost of overhead of running Web3.Storage, but the goal is to reduce this as Filecoin continues to improve (e.g., faster storage and retrieval). Please see <a href='https://spec.filecoin.io/algorithms/cryptoecon/' alt='Filecoin Cryptoeconomics' target='_blank'>here for more on Filecoin economics</a>."
"id": "versus-pinning-services",
"heading": "What advantages does web3.storage have over other IPFS hosted services?",
"content": "web3.storage runs on <a href=https://github.com/elastic-ipfs/' alt='Elastic IPFS' target='_blank'>Elastic IPFS</a>, an open-source, cloud-native, highly scalable implementation of IPFS. We wrote it as the solution to address increasing adoption of web3.storage, which previously used <a href=https://github.com/ipfs/kubo' alt='kubo' target='_blank'>kubo</a> and <a href=https://ipfscluster.io/' alt='IPFS Cluster' target='_blank'>IPFS Cluster</a>. As a result, web3.storage is designed to give strong performance and reliability regardless of how much data is being stored on it, meaning that you can rely on it as you and web3.storage grow. And all data is backed up in Filecoin storage deals, which gives <a href=https://filecoin.io/blog/posts/what-sets-us-apart-filecoin-s-proof-system/' alt='Filecoin proofs' target='_blank'>cryptographic proof</a> that your data is physically being stored without needing to trust web3.storage. <br><br>Further, the platform provides other best-in-class implementations of IPFS on performant infrastructure, from <a href=https://web3.storage/products/w3link/' alt='w3link' target='_blank'>w3link</a>, our IPFS HTTP gateway that can be up to 10x faster than other public gateways, to <a href=https://web3.storage/products/w3name' alt='w3name' target='_blank'>w3name</a>, a hosted service for dynamic data use cases."
},
{
"id": "data-security",
"heading": "What happens if Web3.Storage is discontinued?",
"content": "One major advantage of using Web3.Storage is its use of IPFS, making it easy to move to an alternative storage provider. All of your data is accessible via IPFS, and you can simply export all of your CIDs and ask a pinning service to pin them without need to download or upload any data. You have this option even if you use Web3.Storage today and just want another redundant copy of your data persisted. And you don't need to change the URLs that your application is pointing to, since IPFS URLs are content addressable.<br><br>We don't expect to ever discontinue Web3.Storage, but if we need to, we'll give you 90 days' notice for you to make the easy switch."
"id": "pinning-api",
"heading": "How do I store data on web3.storage that is already available over the IPFS network without having to download and reupload it myself?",
"content": "Paid web3.storage plans give users access to our implementation of the <a href=https://ipfs.github.io/pinning-services-api-spec/' alt='Pinning Service API' target='_blank'>Pinning Service API</a>, which allows you to store data on web3.storage that is already available over the IPFS network."
},
{
"id": "service",
"heading": "What is the relationship between NFT.Storage and web3.storage?",
"content": "web3.storage is a platform that enables developers, applications, and users to interact with data independently of where it is stored, using decentralized protocols like <a href='https://ipfs.io/' alt='IPFS' target='_blank'>IPFS</a> and <a href='https://ucan.xyz/' alt='UCAN' target='_blank'>UCAN</a>. This includes an easy-to-use, performant storage service that makes data available on IPFS and persists it on the Filecoin decentralized storage network. NFT.Storage is a service whose mission is to perpetually store all off-chain NFT data as a public good (so for free, forever). It currently runs on the web3.storage platform today, but has future plans to provide its services in a fully decentralized manner (run by a DAO with operations and governance instrumented on smart contracts)."
aysmed marked this conversation as resolved.
Show resolved Hide resolved
},
{
"id": "how-to-delete",
"heading": "How can I delete items from Web3.Storage?",
"content": "You can delete files listed in your account. Simply log-in to your account and use the file manager on the files page. It's currently not possible to delete files via the API or the client libraries, but we are working on enabling that feature in the near future.<br><br>However, once a file is uploaded to Web3.Storage, there cannot be a guarantee that all copies of the file are gone from the IPFS network. As soon as a file is uploaded, other IPFS nodes can access and store a copy of the data. The data only becomes unavailable when the last IPFS node has stopped pinning the file, and all copies are garbage collected. As a consequence you should only upload to Web3.Storage files that you know can be shared with anyone forever, or are securely encrypted."
"content": "You can delete files listed in your account. Simply log-in to your account and use the file manager on the files page. It's currently not possible to delete files via the API or the client libraries.<br><br>However, once a file is uploaded to web3.storage, there cannot be a guarantee that all copies of the file are gone from the IPFS network. As soon as a file is uploaded, other IPFS nodes can access and store a copy of the data. The data only becomes unavailable when the last IPFS node has stopped pinning the file, and all copies are garbage collected. As a consequence you should only upload to web3.storage files that you know can be shared with anyone forever, or are securely encrypted.<br><br>We are in the process of rolling out a new client and service called w3up that programmatically allows you to unlink uploads from being associated with your account. The Alpha version CLI can be found <a href='https://github.com/nftstorage/w3up-cli' alt='w3up' target='_blank'>here</a> and the client <a href='https://github.com/nftstorage/w3up-client' alt='w3up' target='_blank'>here</a>. Later, the current Javascript client will use w3up and all existing uploads and accounts will be migrated to the new service."
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just adding a note here that we can change Alpha version CLI to Beta later

},
{
"id": "using-api-directly",
Expand All @@ -67,12 +77,12 @@
{
"id": "editing-files",
"heading": "How can I edit a file or add files to a folder?",
"content": "Since CIDs are immutable, it's currently not possible to edit files or add files to a folder. We are working on making mutable references available that you can use instead."
"content": "Since CIDs are immutable, it's not possible to edit files or add files to a folder. We recommend checking out w3name, our hosted <a href='https://docs.ipfs.io/concepts/ipns/' alt='IPNS' target='_blank'>IPNS</a> service, if you are interested in dynamic data."
},
{
"id": "uploading-without-account",
"heading": "How can my users upload files directly to Web3.Storage without them needing to create their own account?",
"content": "Currently the best way to upload to Web3.Storage from the browser is to relay data through an endpoint that you control that has access to the API token. Providing the API token in your front-end will allow anyone to upload files to your account and list already uploaded files. However, we are actively working on ways end-users can upload data directly to Web3.Storage without needing an intermediary!"
"content": "The current Javascript client and API requires you to provide the API token in your front-end, allowing anyone to upload files to your account and list already uploaded files. However, we are in the process of rolling out a new client and service called w3up that natively uses UCAN for authentication, meaning you can cryptographically delegate permission to other actors to directly upload to your account. The Alpha version CLI can be found <a href='https://github.com/nftstorage/w3up-cli' alt='w3up' target='_blank'>here</a> and the client <a href='https://github.com/nftstorage/w3up-client' alt='w3up' target='_blank'>here</a>. Later, the current Javascript client will use w3up and all existing uploads and accounts will be migrated to the new service."
}
]
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: A conceptual overview of content-based addressing for storing and l

# Content addressing in brief

Web3.Storage's free, decentralized file storage relies on _content addressing_ to find, reference, and retrieve your files on the network. Content addressing is a technique for organizing and locating data in a system in which **the key used to locate content is derived from the content itself, rather than its location.** While you don't need to understand content addressing to be able to incorporate Web3.Storage in your apps and services, if you're curious about what's going on under the hood, read on.
Web3.Storage's decentralized file storage relies on _content addressing_ to find, reference, and retrieve your files on the network. Content addressing is a technique for organizing and locating data in a system in which **the key used to locate content is derived from the content itself, rather than its location.** While you don't need to understand content addressing to be able to incorporate Web3.Storage in your apps and services, if you're curious about what's going on under the hood, read on.

## The basic problem

Expand Down
2 changes: 1 addition & 1 deletion packages/website/pages/docs/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import ImgFilesListing from '../../public/images/docs/files-listing.png';

One solution to this problem is using _decentralized storage_ instead of big, corporate platforms to store data for apps and services. However, decentralized storage can be difficult to manage and add extra time and effort to an already crowded developer workflow — for example, most decentralized storage services need you to compile your data into a specific format, find a storage provider to host your data, buy some cryptocurrency to pay the storage provider, and then send your data across the internet. **This is where Web3.Storage comes in.**

With Web3.Storage, you get all the benefits of decentralized storage technologies with the frictionless experience you expect in a modern dev workflow. **All you need to use Web3.Storage is an API token and your data.** Under the hood, Web3.Storage is backed by the provable storage of [Filecoin](https://filecoin.io) and makes data accessible to your users over the public [IPFS](https://ipfs.io) network — but when it comes down to building your next application, service, or website, all you need to know is that Web3.Storage makes building on decentralized technologies simple. **And best of all, Web3.Storage is free.**
With Web3.Storage, you get all the benefits of decentralized storage technologies with the frictionless experience you expect in a modern dev workflow. **All you need to use Web3.Storage is an API token and your data.** Under the hood, Web3.Storage is backed by the provable storage of [Filecoin](https://filecoin.io) and makes data accessible to your users over the public [IPFS](https://ipfs.io) network — but when it comes down to building your next application, service, or website, all you need to know is that Web3.Storage makes building on decentralized technologies simple.

## Quickstart

Expand Down