From 9d279935b1cb0dc5ca973625318b43fee62dbfe7 Mon Sep 17 00:00:00 2001 From: Drew <22156330+drewdelano@users.noreply.github.com> Date: Fri, 23 Sep 2022 13:00:57 -0700 Subject: [PATCH 01/10] chore: new branch From cd07a79b393debf295335c9f1dbca92041bfbd23 Mon Sep 17 00:00:00 2001 From: Drew <22156330+drewdelano@users.noreply.github.com> Date: Mon, 26 Sep 2022 17:09:07 -0700 Subject: [PATCH 02/10] feat: home page updates --- packages/website/content/pages/index.json | 57 +++++++++++------------ 1 file changed, 26 insertions(+), 31 deletions(-) diff --git a/packages/website/content/pages/index.json b/packages/website/content/pages/index.json index d85616fec8..76bf265f9e 100644 --- a/packages/website/content/pages/index.json +++ b/packages/website/content/pages/index.json @@ -26,11 +26,11 @@ "num": "col-12" }, "format": "header", - "heading": "The easiest way to store data on the decentralized web.", - "subheading": "Store your data using our simple API. It’s fast, open, and it’s free.", + "heading": "Say hello to the data layer", + "subheading": "Use decentralized protocols to liberate your data using our easy-to-use developer platform. We’ll take care of the rest.", "cta": { "url": "/login", - "text": "START STORING NOW", + "text": "START NOW", "event": "", "ui": "HOME_HERO", "action": "Get Started" @@ -65,10 +65,10 @@ { "type": "text_block", "format": "medium", - "heading": "Store and retrieve with ease", + "heading": "Connecting services with the data layer", "description": [ - "Most decentralized storage services either need you to jump through hoops (like buying some cryptocurrency) or aren't truly decentralized.", - "With Web3.Storage, things are both easy-to-use and trustless! Upload any data via our API or our web UI for free. The data will end up on a decentralized set of IPFS and Filecoin storage providers." + "Eliminate silos with the web3.storage platform. Using IPFS and other decentralized protocols, create a true data layer that connects you, your users, and the Web, regardless of where content is stored - client-side, in the cloud, or elsewhere.", + "Sounds hard? It isn’t. Our client libraries are super easy-to-use, abstracting the complexity of these decentralized protocols. And we provide services like data storage designed to natively support these protocols, so things just work without you ever being locked-in." ], "cta": { "url": "/products/web3storage", @@ -205,15 +205,15 @@ "cards": [ { "type": "A", - "feature": "2500+", + "feature": "20K+", "title": "Projects Worldwide", "description": "Join a global community storing data on web3" }, { "type": "A", - "feature": "15M+", + "feature": "40M+", "title": "Stored Objects", - "description": "Store data for free with our easy to use API or our JS library" + "description": "Store data with our easy to use API or our JS library" }, { "type": "A", @@ -236,7 +236,7 @@ }, "format": "medium", "heading": "Why Web3.Storage?", - "description": "With Web3.Storage you get all the benefits of decentralized storage technologies with the frictionless experience you expect in a modern dev workflow.", + "description": "With web3.storage you get all the benefits of decentralized storage and other cutting-edge protocols with the frictionless experience you expect in a modern dev workflow. Check out our docs pages to learn more.", "cta": { "url": "/docs/", "text": "READ DOCS", @@ -256,20 +256,20 @@ { "type": "text_block", "format": "small", - "heading": "Simple", - "description": "With Web3.Storage, you get decentralized storage in minutes. Use our simple client library or the HTTP API directly - all you need is a free API token." + "heading": "Open", + "description": "All data is accessible via IPFS and backed by Filecoin storage, with service authentication using decentralized identity. Create user-centric applications, run verifiable workloads on data, and more - no servers needed, no lock-in, no trust necessary." }, { "type": "text_block", "format": "small", - "heading": "Open", - "description": "All data stored is accessible on the public IPFS network via a content ID - interoperable with the tools and services building on the decentralized web." + "heading": "Reliable", + "description": "We take the best of web2 and web3 to provide infra you can rely on to scale with you. Frustration with decentralized storage is a thing of the past." }, { "type": "text_block", "format": "small", - "heading": "Free", - "description": "Data is stored on the Filecoin network, which has a unique economic model and over 15 EiB of capacity, allowing us to offer Web3.Storage for free today. This storage is cryptographically provable by anyone!" + "heading": "Simple", + "description": "Start storing in minutes using our simple client library to see how decentralized protocols can work together to unlock your data layer." } ] } @@ -296,10 +296,10 @@ "type": "text_block", "format": "medium", "heading": "Frequently Asked Questions", - "subheading": "How is this free?", + "subheading": "What is meant by the “web3.storage platform”?", "description": [ - "Web3.Storage offers a simple interface that allows users and developers to take advantage of the vast array of decentralized storage provided by the Filecoin network.", - "The unique economics of Filecoin allow Web3.Storage to be completely free to use, while still ensuring that storage providers have a strong incentive to preserve user data for the long term." + "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 IPFS, Filecoin, and UCAN that enable verifiable, data- and user-centric application architectures and workflows. ", + "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 w3link and w3name that make it easier to create seamless, delightful web experiences utilizing web3 protocols." ], "cta": { "url": "/faq", @@ -337,8 +337,8 @@ { "type": "F", "label": "FAQ", - "title": "How is Web3.Storage different from NFT.Storage?", - "description": "Both services are offered by the same group and share much of the same architecture, but as the name suggests, NFT.Storage is…", + "title": "What advantages does web3.storage have over traditional hosted storage services?", + "description": "Because web3.storage uses decentralized data and identity protocols like IPFS and UCAN, data and identity are referenced in an open way. Data is referenced using IPFS content identifiers that are unique to the data, making your data...", "cta": { "url": "/faq/?section=service", "text": "READ MORE", @@ -351,8 +351,8 @@ { "type": "F", "label": " ", - "title": "What happens if Web3.Storage is discontinued?", - "description": "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…", + "title": "What advantages does web3.storage have over other IPFS hosted services?", + "description": "web3.storage runs on Elastic IPFS, 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 kubo...", "cta": { "url": "/faq/?section=data-security", "text": "READ MORE", @@ -386,7 +386,7 @@ "type": "text_block", "format": "medium", "heading": "Get Started with Web3.Storage", - "description": "Choose your own way to store and retrieve using Web3.Storage. You can sign up for free using your email address or GitHub.", + "description": "Choose your own way to store and retrieve using web3.storage. Use your email address or GitHub to get 5 GiB storage for free, with paid plans starting at only $3.", "cta": { "url": "/login", "text": "CREATE AN ACCOUNT", @@ -405,11 +405,6 @@ "push_left": "off-0_sm-2_mi-1_ti-0" }, "customizations": [ - { - "type": "image_block", - "id": "get-started-image-storage", - "src": "/images/index/app-ui-screenshot-storage-manager.png" - }, { "type": "image_block", "id": "get-started-image-files", @@ -508,7 +503,7 @@ "format": "medium", "heading": "Trusted by the future", "description": [ - "Web3.Storage is the easiest way to build on the decentralized web from hackathon projects to production code at scale.", + "web3.storage is the easiest way to enable the decentralized web for anyone, from cutting-edge user-first apps, to traditional products at scale, to hackathon projects.", "See what people building the future of the web today have to say, and get started." ] } @@ -532,7 +527,7 @@ "image": "/images/index/testimonial-jacob-p.jpg", "title": "Jacob P.", "subtitle": "New York, USA", - "description": "Web3.Storage enables Strangemood to provide game devs with fast, free, and censorship resistant storage. Their simple SDK and responsive team makes decentralized storage on IPFS easier than even centralized alternatives." + "description": "Their simple SDK and responsive team makes decentralized storage on IPFS easier than even centralized alternatives." }, { "type": "C", From 2429c8f37b235b8b5ae6420d4fc495c409edd1cc Mon Sep 17 00:00:00 2001 From: Drew <22156330+drewdelano@users.noreply.github.com> Date: Mon, 26 Sep 2022 17:19:12 -0700 Subject: [PATCH 03/10] feat: remove login link from footer --- packages/website/content/pages/general.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/website/content/pages/general.json b/packages/website/content/pages/general.json index 2a96fc40e6..c213ba7c1c 100644 --- a/packages/website/content/pages/general.json +++ b/packages/website/content/pages/general.json @@ -160,10 +160,6 @@ { "text": "Web Apps", "url": "/terms" - }, - { - "text": "Login", - "url": "/login" } ] }, From 3653e1943403dee7f0d22e8c02635f7b0a906ffc Mon Sep 17 00:00:00 2001 From: Drew <22156330+drewdelano@users.noreply.github.com> Date: Mon, 26 Sep 2022 17:30:56 -0700 Subject: [PATCH 04/10] =?UTF-8?q?feat:=20projects=20=E2=9E=A1=20users?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/website/content/pages/index.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/website/content/pages/index.json b/packages/website/content/pages/index.json index 76bf265f9e..b1c00b3331 100644 --- a/packages/website/content/pages/index.json +++ b/packages/website/content/pages/index.json @@ -206,7 +206,7 @@ { "type": "A", "feature": "20K+", - "title": "Projects Worldwide", + "title": "Users", "description": "Join a global community storing data on web3" }, { From 24e59ce0a5cae31b96530fc52a208cd84900314f Mon Sep 17 00:00:00 2001 From: Drew <22156330+drewdelano@users.noreply.github.com> Date: Tue, 27 Sep 2022 15:30:52 -0700 Subject: [PATCH 05/10] feat: w3storage product page updates --- packages/website/content/pages/about.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/website/content/pages/about.json b/packages/website/content/pages/about.json index a206d43f38..da67f77605 100644 --- a/packages/website/content/pages/about.json +++ b/packages/website/content/pages/about.json @@ -27,8 +27,8 @@ "push_left": "off-6_sm-5_mi-1_ti-0" }, "format": "header", - "heading": "What is Web3.Storage?", - "subheading": "Web3.Storage is a service to make building on top of Filecoin as simple as possible - giving developers the power of distributed storage and content addressing via simple client libraries or an HTTP API." + "heading": "What is web3.storage?", + "subheading": "At the core of web3.storage is a storage service to safely secure and make your data available - giving developers the power of decentralized storage and content addressing via simple client libraries or an HTTP API." } ] } @@ -166,10 +166,10 @@ "push_left": "off-0_sm-1_ti-0" }, "format": "medium", - "heading": "How Does Web3.Storage work?", + "heading": "How does web3.storage work?", "description": [ "Developers can start building in a matter of minutes - allowing them to take advantage of all the power and openness of the decentralized web with none of the infrastructure complexity.", - "Behind the scenes, Web3.Storage is backed by Filecoin and makes content available via IPFS leveraging the unique properties of each network." + "Behind the scenes, web3.storage is backed by Filecoin and makes content available via IPFS leveraging the unique properties of each network." ] }, { From 544bbf42f8b803d889def6ad1b7709dbbf975a2f Mon Sep 17 00:00:00 2001 From: Drew <22156330+drewdelano@users.noreply.github.com> Date: Tue, 27 Sep 2022 16:28:41 -0700 Subject: [PATCH 06/10] feat: content update + links --- packages/website/content/pages/index.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/website/content/pages/index.json b/packages/website/content/pages/index.json index b1c00b3331..137e772856 100644 --- a/packages/website/content/pages/index.json +++ b/packages/website/content/pages/index.json @@ -213,7 +213,7 @@ "type": "A", "feature": "40M+", "title": "Stored Objects", - "description": "Store data with our easy to use API or our JS library" + "description": "Store data with our easy to use API or JS library" }, { "type": "A", @@ -298,7 +298,7 @@ "heading": "Frequently Asked Questions", "subheading": "What is meant by the “web3.storage platform”?", "description": [ - "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 IPFS, Filecoin, and UCAN that enable verifiable, data- and user-centric application architectures and workflows. ", + "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 IPFS, Filecoin, and UCAN that enable verifiable, data- and user-centric application architectures and workflows. ", "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 w3link and w3name that make it easier to create seamless, delightful web experiences utilizing web3 protocols." ], "cta": { @@ -338,7 +338,7 @@ "type": "F", "label": "FAQ", "title": "What advantages does web3.storage have over traditional hosted storage services?", - "description": "Because web3.storage uses decentralized data and identity protocols like IPFS and UCAN, data and identity are referenced in an open way. Data is referenced using IPFS content identifiers that are unique to the data, making your data...", + "description": "Because web3.storage uses decentralized data and identity protocols like IPFS and UCAN, data and identity are referenced in an open way. Data is referenced using IPFS content identifiers that are unique to the data, making your data...", "cta": { "url": "/faq/?section=service", "text": "READ MORE", @@ -352,7 +352,7 @@ "type": "F", "label": " ", "title": "What advantages does web3.storage have over other IPFS hosted services?", - "description": "web3.storage runs on Elastic IPFS, 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 kubo...", + "description": "web3.storage runs on Elastic IPFS, 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 kubo...", "cta": { "url": "/faq/?section=data-security", "text": "READ MORE", From 4f9f17cca9a668a6a11b6f4f580577cfc1c0b363 Mon Sep 17 00:00:00 2001 From: Drew <22156330+drewdelano@users.noreply.github.com> Date: Wed, 28 Sep 2022 16:18:21 -0700 Subject: [PATCH 07/10] =?UTF-8?q?feat:=20retri[e]ve=20=E2=9E=A1=20read?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/website/content/pages/index.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/website/content/pages/index.json b/packages/website/content/pages/index.json index 137e772856..d3573783bf 100644 --- a/packages/website/content/pages/index.json +++ b/packages/website/content/pages/index.json @@ -119,9 +119,9 @@ } }, { - "thumb": "RETRIEVE", + "thumb": "READ", "lines": [ - "// retrive.mjs", + "// retrieve.mjs", "", "import { Web3Storage, getFilesFromPath } from 'web3.storage'", "", From 88dd12ae111b8ba45d892b7c2c93d734891ca831 Mon Sep 17 00:00:00 2001 From: Drew <22156330+drewdelano@users.noreply.github.com> Date: Wed, 28 Sep 2022 16:24:35 -0700 Subject: [PATCH 08/10] feat: add line breaks for improved visuals --- packages/website/content/pages/index.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/website/content/pages/index.json b/packages/website/content/pages/index.json index d3573783bf..b271ba8cd6 100644 --- a/packages/website/content/pages/index.json +++ b/packages/website/content/pages/index.json @@ -207,13 +207,13 @@ "type": "A", "feature": "20K+", "title": "Users", - "description": "Join a global community storing data on web3" + "description": "Join a global community
storing data on web3" }, { "type": "A", "feature": "40M+", "title": "Stored Objects", - "description": "Store data with our easy to use API or JS library" + "description": "Store data with our easy
to use API or JS library" }, { "type": "A", From d18bd0590ac19c9031d7b2972153a56b6d0435c3 Mon Sep 17 00:00:00 2001 From: Drew <22156330+drewdelano@users.noreply.github.com> Date: Wed, 28 Sep 2022 16:25:40 -0700 Subject: [PATCH 09/10] fix: consistent web3.storage casing on page --- packages/website/content/pages/index.json | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/website/content/pages/index.json b/packages/website/content/pages/index.json index b271ba8cd6..9e787ec1b4 100644 --- a/packages/website/content/pages/index.json +++ b/packages/website/content/pages/index.json @@ -177,7 +177,7 @@ { "type": "text_block", "format": "medium", - "heading": "Web3.Storage is built for scale" + "heading": "web3.storage is built for scale" } ] }, @@ -235,7 +235,7 @@ "push_left": "off-0_sm-1_ti-0" }, "format": "medium", - "heading": "Why Web3.Storage?", + "heading": "Why web3.storage?", "description": "With web3.storage you get all the benefits of decentralized storage and other cutting-edge protocols with the frictionless experience you expect in a modern dev workflow. Check out our docs pages to learn more.", "cta": { "url": "/docs/", @@ -385,7 +385,7 @@ { "type": "text_block", "format": "medium", - "heading": "Get Started with Web3.Storage", + "heading": "Get Started with web3.storage", "description": "Choose your own way to store and retrieve using web3.storage. Use your email address or GitHub to get 5 GiB storage for free, with paid plans starting at only $3.", "cta": { "url": "/login", @@ -435,7 +435,7 @@ "type": "B", "label": "JS Client Library", "feature": "npm install web3.storage", - "description": "Import the lightweight Web3.Storage library into your project, and enjoy a simple and familiar way to store and retrieve.", + "description": "Import the lightweight web3.storage library into your project, and enjoy a simple and familiar way to store and retrieve.", "icon_before": { "url": "https://www.npmjs.com/package/web3.storage", "svg": "npm_icon" @@ -453,7 +453,7 @@ "type": "B", "label": "HTTP API", "feature": "curl -X POST —data-binary “@foo.gif” https://api.web3.storage/upload", - "description": "Test or build your project on any stack, using our easy-to-use HTTP API. Web3.Storage is as flexible as you need it to be.", + "description": "Test or build your project on any stack, using our easy-to-use HTTP API. web3.storage is as flexible as you need it to be.", "icon_before": { "url": "/docs/reference/http-api/", "text": "{…}" @@ -471,7 +471,7 @@ "type": "B", "label": "Web App", "feature": "Drop file to upload", - "description": "Upload your files directly through our Web UI to debug and validate Web3.Storage’s use case for your project.", + "description": "Upload your files directly through our Web UI to debug and validate web3.storage’s use case for your project.", "icon_before": { "url": "/login", "svg": "windows_icon" @@ -534,7 +534,7 @@ "image": "/images/index/testimonial-ryan-w.jpg", "title": "Ryan W.", "subtitle": "Capetown, South Africa", - "description": "I work pretty much exclusively on Web3 applications, and I'm really impressed with Web3.Storage. It's almost too easy - I didn't run into any stumbling blocks and had a basic implementation of my project in 30 minutes." + "description": "I work pretty much exclusively on Web3 applications, and I'm really impressed with web3.storage. It's almost too easy - I didn't run into any stumbling blocks and had a basic implementation of my project in 30 minutes." }, { "type": "C", @@ -543,7 +543,7 @@ "image": "/images/index/testimonial-frank-j.jpg", "title": "Frank J.", "subtitle": "Toronto, Canada", - "description": "Web3.Storage was so simple to hook into, and does what you need it to do. We run the Galactic Punks community on Terra, and it is great for storing off-chain data. It's like simplified S3 for IPFS." + "description": "web3.storage was so simple to hook into, and does what you need it to do. We run the Galactic Punks community on Terra, and it is great for storing off-chain data. It's like simplified S3 for IPFS." } ] }, @@ -565,14 +565,14 @@ "image": "/images/index/testimonial-jacob-p.jpg", "title": "Jacob P.", "subtitle": "New York, USA", - "description": "Web3.Storage enables Strangemood to provide game devs with fast, free, and censorship resistant storage. Their simple SDK and responsive team makes decentralized storage on IPFS easier than even centralized alternatives." + "description": "web3.storage enables Strangemood to provide game devs with fast, free, and censorship resistant storage. Their simple SDK and responsive team makes decentralized storage on IPFS easier than even centralized alternatives." }, { "type": "C", "image": "/images/index/testimonial-ryan-w.jpg", "title": "Ryan W.", "subtitle": "Capetown, South Africa", - "description": "I work pretty much exclusively on Web3 applications, and I'm really impressed with Web3.Storage. It's almost too easy - I didn't run into any stumbling blocks and had a basic implementation of my project in 30 minutes." + "description": "I work pretty much exclusively on Web3 applications, and I'm really impressed with web3.storage. It's almost too easy - I didn't run into any stumbling blocks and had a basic implementation of my project in 30 minutes." }, { "type": "C", @@ -581,7 +581,7 @@ "image": "/images/index/testimonial-frank-j.jpg", "title": "Frank J.", "subtitle": "Toronto, Canada", - "description": "Web3.Storage was so simple to hook into, and does what you need it to do. We run the Galactic Punks community on Terra, and it is great for storing off-chain data. It's like simplified S3 for IPFS." + "description": "web3.storage was so simple to hook into, and does what you need it to do. We run the Galactic Punks community on Terra, and it is great for storing off-chain data. It's like simplified S3 for IPFS." } ] } From 09f5b19e089797cca0a556ba7622b418734cafbc Mon Sep 17 00:00:00 2001 From: Drew <22156330+drewdelano@users.noreply.github.com> Date: Thu, 29 Sep 2022 11:11:40 -0700 Subject: [PATCH 10/10] feat: recreate david's changes --- packages/docs/src/theme/Footer/footer.json | 7 ---- packages/website/content/pages/faq.json | 34 ++++++++++++------- .../pages/docs/concepts/content-addressing.md | 2 +- packages/website/pages/docs/intro.md | 2 +- 4 files changed, 24 insertions(+), 21 deletions(-) diff --git a/packages/docs/src/theme/Footer/footer.json b/packages/docs/src/theme/Footer/footer.json index 9e713943a7..dc03701cf6 100644 --- a/packages/docs/src/theme/Footer/footer.json +++ b/packages/docs/src/theme/Footer/footer.json @@ -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" - } } } } diff --git a/packages/website/content/pages/faq.json b/packages/website/content/pages/faq.json index a74a0c3837..61092c2aaa 100644 --- a/packages/website/content/pages/faq.json +++ b/packages/website/content/pages/faq.json @@ -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 IPFS, Filecoin, and UCAN that enable verifiable, data- and user-centric application architectures and workflows.

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 w3link and w3name 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 IPFS and UCAN, data and identity are referenced in an open way. Data is referenced using IPFS content identifiers 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 Filecoin, which gives cryptographic proof that your data is physically being stored without needing to trust web3.storage.

Authentication is associated with user decentralized identifiers (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 here for more on Filecoin economics." + "id": "versus-pinning-services", + "heading": "What advantages does web3.storage have over other IPFS hosted services?", + "content": "web3.storage runs on Elastic IPFS, 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 kubo and IPFS Cluster. 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 cryptographic proof that your data is physically being stored without needing to trust web3.storage.

Further, the platform provides other best-in-class implementations of IPFS on performant infrastructure, from w3link, our IPFS HTTP gateway that can be up to 10x faster than other public gateways, to w3name, 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.

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 Pinning Service API, 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 IPFS and UCAN. 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)." }, { "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.

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.

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.

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 here and the client here. Later, the current Javascript client will use w3up and all existing uploads and accounts will be migrated to the new service." }, { "id": "using-api-directly", @@ -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 IPNS 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 here and the client here. Later, the current Javascript client will use w3up and all existing uploads and accounts will be migrated to the new service." } ] } diff --git a/packages/website/pages/docs/concepts/content-addressing.md b/packages/website/pages/docs/concepts/content-addressing.md index cb9be0cc6b..03afea2f2c 100644 --- a/packages/website/pages/docs/concepts/content-addressing.md +++ b/packages/website/pages/docs/concepts/content-addressing.md @@ -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 diff --git a/packages/website/pages/docs/intro.md b/packages/website/pages/docs/intro.md index f926c45598..2988bc96ac 100644 --- a/packages/website/pages/docs/intro.md +++ b/packages/website/pages/docs/intro.md @@ -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