From c185d38bfaee69e22dcb91bf6a41357c9463d3f4 Mon Sep 17 00:00:00 2001 From: Gasper Zupan Date: Thu, 10 Oct 2024 09:16:46 +0200 Subject: [PATCH] update page --- content/pages/milestone1.md | 81 ------------- content/pages/milestone2.md | 58 --------- content/pages/milestone3.md | 89 -------------- content/pages/milestone4.md | 57 --------- content/pages/roadmap.md | 195 ------------------------------ data/footer.json | 2 +- data/nav/main.json | 5 - public/uploads/bee-the-change.png | Bin 0 -> 8469 bytes 8 files changed, 1 insertion(+), 486 deletions(-) delete mode 100644 content/pages/milestone1.md delete mode 100644 content/pages/milestone2.md delete mode 100644 content/pages/milestone3.md delete mode 100644 content/pages/milestone4.md delete mode 100644 content/pages/roadmap.md create mode 100644 public/uploads/bee-the-change.png diff --git a/content/pages/milestone1.md b/content/pages/milestone1.md deleted file mode 100644 index 1d19e02..0000000 --- a/content/pages/milestone1.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -meta: - title: Milestone 1 -sections: - - template: section - type: Section - data: - hero: - title: Milestone 1 - background: - src: /assets/hero/roadmap.png - alt: "" - position: "" - content: Host unstoppable content on Swarm - id: "" - ctas: - - template: cta - arrow: true - type: default - title: <- Roadmap - href: "/roadmap" - background: orange - back: true - footnote: "" - items: [] - - template: section - type: Section - data: - items: - - template: section_item - title: Host unstoppable content on Swarm - titleSize: small - content: >- - Uploading and downloading content such as websites or nft-metadata is - optimised and predictable. This functionality can be accessed through - all Swarm products: - - * Bee - - * Gateway - - * Swarm-CLI - - * Google Chrome extension - - * Dashboard - - * Bee-js - - template: section_item - titleSize: small - title: Measuring success - content: >- - * Small amounts of data and dApps (\~5MB) can be uploaded and downloaded reliably - - * Websites can be accessed by means of a human-readable name without the - need for completing a blockchain transaction for every update - - template: section_item - titleSize: small - title: Completed - content: >- - Q4 2021 - - - template: section_item - titleSize: small - title: Value - content: >- - With this goal achieved, Swarm further unlocks the following features: - - - * Permissionless upload and download - - * Robust defences against blocking or changing access to content once - published - - * Auto-scaling with increased demand - - * Integrity protected content - - * Eventually forgetting content that is no longer relevant to preserve -_template: page ---- diff --git a/content/pages/milestone2.md b/content/pages/milestone2.md deleted file mode 100644 index 1e72b54..0000000 --- a/content/pages/milestone2.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -meta: - title: Milestone 2 -sections: - - template: section - type: Section - data: - hero: - title: Milestone 2 - background: - src: "/assets/hero/roadmap.png" - alt: "" - position: "" - content: Setting up and interacting with a Bee node is optimised for ease-of-use - id: "" - ctas: - - template: cta - arrow: true - type: default - title: <- Roadmap - href: "/roadmap" - background: orange - back: true - footnote: "" - items: [] - - template: section - type: Section - data: - items: - - template: section_item - titleSize: small - title: Setting up and interacting with a Bee node is optimised for ease-of-use - content: >- - Any crypto enthusiast with an interest in Swarm can set up and run a Bee node easily. - - template: section_item - titleSize: small - title: Measuring Success - content: >- - * Setting up a node (including crypto-onboarding) on Mac, Windows and Linux can be done in under 30' in >70% of the cases (both mainnet and testnet) - - * User funds are reasonably secure and this is guaranteed by an audit - - * There are multiple documented ways of monitoring and interacting with a Bee node - - * Setting up a Bee-Gateway is documented and easy to set up - - template: section_item - titleSize: small - title: Time Estimate - content: >- - Q2 2022 - - template: section_item - titleSize: small - title: Value - content: >- - If it is trivial to set up a Bee node, more of them will be set up, which will result in a stronger network. More people will be able to publish and access content (Milestone #1). Through the gateway set-up, developers and communities can easily access the Swarm network. - - border: false ---- diff --git a/content/pages/milestone3.md b/content/pages/milestone3.md deleted file mode 100644 index c524391..0000000 --- a/content/pages/milestone3.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -meta: - title: Milestone 3 -sections: - - type: Section - data: - hero: - title: Milestone 3 - id: "" - content: >- - Node-operators are directly rewarded for contributing their storage - space - ctas: - - template: cta - arrow: true - type: default - title: <- Roadmap - href: "/roadmap" - background: orange - back: true - background: - src: /assets/hero/roadmap.png - alt: "" - position: "" - footnote: "" - items: [] - template: section - - type: Section - data: - items: - - template: section_item - titleSize: small - title: Phase 1 - Postage stamp upgrade and incentives calibration (September 12th release) - content: >- - Full reserve total size is correctly calculated and clients are able - to consent on storage depth within neighbourhoods. This involves the - update of the Postage Stamp smart contract so that we can release the - value currently locked in the contract, paving the way for the rollout - of the storage incentives roadmap. - - template: section_item - titleSize: small - title: Phase 2 - Smart Contracts to deploy (Staking & Schelling/Redistribution) - content: >- - The new storage incentives implement a Schelling game based on reserve - commitment. The storage incentives contract pays out the pot to a random - neighbourhood choosing the winner node based on neighbourhood stake - density. No slashing and no verification of claim. - - After staking and committing, applicants reveal their reserve - commitments and the truth is selected in proportion to stake density. - Winner is selected in proportion to stake and paid the pot. - - template: section_item - titleSize: small - title: Phase 3 - The Price Oracle smart contract (phases 2&3 October release to incentivised testnet) - content: >- - The price oracle contract reacts to signals of changing supply and - demand by setting the global price of storage (unit is chunk per block) - accordingly. - - template: section_item - titleSize: small - title: Phase 4 - Reserve Commitment Verification I (December development, release TBD) - content: >- - The winning claim is verified for retention, relevance, reserve - utilisation rate, verified correctness of reserve commitment, requiring - segment inclusion proof of a deterministically random chunk in RC for - valid claim (proof of retention), requires postage stamp (proof of - relevance), verify PO(stamp, anchor) > reported depth, reserve size - estimation is based on inclusion proofed sample density (proof of - reserve size). - - Calculated the reserve commitment (RC) hash (iteration over reserved - chunks within storage depth and calculate a sample of n (128) chunks - whose transformed data hash to the smallest integers). - - Slashing introduced - to prevent non-conformant proofs of reserve by - slashing stake - - template: section_item - titleSize: small - title: Phase 5 - Reserve Commitment Verification II (January development, release TBD) - content: >- - A secondary reserve commitment (RC2) is included in the winning claim - and verified in the contract. RC2 is a similar 128-chunk sample of batch - indexes to prevent content mining attack using valid stamps from - self-owned batches - - ## - - template: post ---- diff --git a/content/pages/milestone4.md b/content/pages/milestone4.md deleted file mode 100644 index 4f5def3..0000000 --- a/content/pages/milestone4.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -meta: - title: Milestone 4 -sections: - - template: section - type: Section - data: - hero: - title: Milestone 4 - background: - src: "/assets/hero/roadmap.png" - alt: "" - position: "" - content: Optimisation for larger data uploads - id: "" - ctas: - - template: cta - arrow: true - type: default - title: <- Roadmap - href: "/roadmap" - background: orange - back: true - footnote: "" - items: [] - - template: section - type: Section - data: - items: - - template: section_item - titleSize: small - title: Optimisation for larger data uploads - content: >- - Uploading and downloading bigger files and datasets is optimised. - - template: section_item - titleSize: small - title: Measuring success - content: >- - * Large data and data-sets (\~2.4GB) can be up- and downloaded reliably - - * Have a good UX for uploading, pausing, resuming, monitoring and postage stamp payment - - template: section_item - titleSize: small - title: Time Estimate - content: >- - To be confirmed - - template: section_item - titleSize: small - title: Value - content: >- - * The benefits of Milestone #1 are now unlocked for bigger files - - * Use-cases are increased - - * Usability of the network is greatly improved - border: false ---- diff --git a/content/pages/roadmap.md b/content/pages/roadmap.md deleted file mode 100644 index 30aabff..0000000 --- a/content/pages/roadmap.md +++ /dev/null @@ -1,195 +0,0 @@ ---- -meta: - title: Roadmap -sections: - - template: section - type: Section - data: - hero: - title: Roadmap - id: roadmap - content: >- - The Swarm Foundation is proud to share its core tech team's - internal agenda for the next 12 months. The aim is to create - predictability in development tracks and the wider organisation, - as well as help coordinate between the Foundation's efforts - and the efforts deployed to the broader Swarm community. - background: - src: /assets/hero/roadmap.png - alt: "" - position: "" - ctas: [] - footnote: "" - items: [] - - template: roadmap - type: Roadmap - data: - border: true - id: milestone - sidebar: - content: "Currently, the Swarm Foundation team is working on **Milestone3**." - ctas: [] - items: - - template: roadmap_item - status: completed - title: 1. Host unstoppable content on Swarm - content: >- - Uploading and downloading content such as websites or nft- data is - optimised and predictable. This functionality can be accessed - through all Swarm products. - ctas: - - template: cta - arrow: true - type: default - title: Release info - href: /milestone1 - background: transparent - - template: roadmap_item - status: completed - title: >- - 2. Setting up and interacting with a Bee node is optimised for - ease-of-use - content: >- - Any crypto enthusiast with an interest in Swarm can set up and run a - Bee node easily. - ctas: - - template: cta - arrow: true - type: default - title: Release info - href: /milestone2 - background: transparent - - template: roadmap_item - status: in-progress - title: >- - 3. Node-operators are directly rewarded for contributing their - storage space - content: >- - Uploading and downloading content such as websites or nft- data is - optimised and predictable. This functionality can be accessed - through all Swarm products. - ctas: - - template: cta - arrow: true - type: default - title: Release info - href: /milestone3 - background: transparent - - template: roadmap_item - status: next-up - title: 4. Optimisation for larger data uploads - content: Uploading and downloading bigger files and datasets is optimised. - ctas: - - template: cta - arrow: true - type: default - title: Release info - href: /milestone4 - background: transparent - - template: section - type: Section - data: - items: - - template: section_item - - features: - type: default - columns: three - features: - - template: feature - cta: - arrow: true - background: [] - type: default - title: "" - href: "" - title: End Users - content: >- - End users have a smooth experience starting a node and have - the tools to monitor and interact with their local node. Apps - connect to nodes and gateways in a secure way. Basic - functionality of websites (files and directories) upload and - download is optimised for speed and reliability. - icon: "" - - template: feature - cta: - arrow: true - background: [] - type: default - title: "" - href: "" - title: Dapp Developers - content: >- - Dapp Developers are provided with a mature toolkit that can be - used to integrate Swarm in their Web3 dapp. This includes - extensive and useful documentation, example dapps, and - tutorials. They benefit from dashboards monitoring vital - metrics displaying the node's operational health. Developers - can rely on help provided in dev channels. - icon: "" - - template: feature - cta: - arrow: true - background: [] - type: default - title: "" - href: "" - content: >- - Node operators are sufficiently incentivised to contribute - their bandwidth and storage space. Time-based allowance is - calibrated so that clients paying for bandwidth will get - reasonable service. As for storage, Postage Stamp revenue is - redistributed to storer nodes directly in an efficient way - without the need for storage contributors to stake their - tokens. - title: Operators - icon: "" - - template: feature - cta: - arrow: true - background: [] - type: default - title: "" - href: "" - title: Collaborators - content: >- - Alternative client development is supported by consolidated - and structured specifications of the DISC protocols and client - strategies. High level standards and APIs are cleared up and - documented. Integration, multiclient testing environment and - quality assurance tools are provided. Ecosystem projects are - provided with grants and fellowships. - icon: "" - - template: feature - cta: - arrow: true - background: [] - type: default - title: "" - href: "" - title: Community - content: >- - The Swarm Foundation aims to assist as much as it can in - providing scaffoldings to the community to support their own - agenda involving Swarm. It encourages autonomous, independent - and permissionless communities to take further ownership over - the protocol and its usages. - icon: "" - - template: feature - cta: - arrow: true - background: [] - type: default - title: "" - href: "" - content: >- - The Foundation subsidises efforts to make large datasets of - public interest available through Swarm. - title: Commons - icon: "" - title: Vision - image: "" - ctas: [] - code: "" -_template: page ---- diff --git a/data/footer.json b/data/footer.json index 750149b..4c007d1 100644 --- a/data/footer.json +++ b/data/footer.json @@ -85,7 +85,7 @@ }, { "title": "Bounties", - "href": "https://gitcoin.co/fairdatasociety" + "href": "https://app.dework.xyz/swarm-41421" }, { "title": "Fair Data Society", diff --git a/data/nav/main.json b/data/nav/main.json index f8b5010..c3c8724 100644 --- a/data/nav/main.json +++ b/data/nav/main.json @@ -60,11 +60,6 @@ "title": "Network Stats", "subtitle": "Swarm network scanner" }, - { - "href": "/roadmap", - "title": "Roadmap", - "subtitle": "Swarm milestones" - }, { "href": "/contribute", "title": "SWIPs", diff --git a/public/uploads/bee-the-change.png b/public/uploads/bee-the-change.png new file mode 100644 index 0000000000000000000000000000000000000000..02206ec5d594eec53c52caed78ea97008ace05b5 GIT binary patch literal 8469 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 D$3Q7y literal 0 HcmV?d00001