From 6db7f8a21946469c564b3e255e0bf7ba2b3fca16 Mon Sep 17 00:00:00 2001 From: Nikhil W3F <142136841+nikw3f@users.noreply.github.com> Date: Mon, 18 Sep 2023 10:55:35 +0200 Subject: [PATCH 01/46] Update RFP link for ISO-8583-implementation.md (#1976) --- applications/ISO-8583-implementation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/ISO-8583-implementation.md b/applications/ISO-8583-implementation.md index 2a8f6789bbf..793db9fe492 100644 --- a/applications/ISO-8583-implementation.md +++ b/applications/ISO-8583-implementation.md @@ -4,7 +4,7 @@ - **Payment Address:** 0xc42D0562BB4e53f5e9D888df35e1B91eA0f19cC3 (USDC) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 -This application is in response to the [ISO-8583 RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/ISO_8583.md). +This application is in response to the [ISO-8583 RFP](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Under%20Development/ISO_8583.md). ### Overview From 622a76f83f97a60e4002facb4c793da2b2bde893 Mon Sep 17 00:00:00 2001 From: Nikhil W3F <142136841+nikw3f@users.noreply.github.com> Date: Mon, 18 Sep 2023 10:56:52 +0200 Subject: [PATCH 02/46] Update index.md (#1975) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 7e696ea10c5..1f01e996eff 100644 --- a/applications/index.md +++ b/applications/index.md @@ -56,7 +56,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [Eiger](https://www.eiger.co/) | [Storage solution on Polkadot](./Eiger_Storage_on_Polkadot_1.md) | [GitHub](https://github.com/eigerco) | ☐ | ☐ | ☐ | | [Salaheldin Soliman](https://github.com/salaheldinsoliman) | [Solang Playground](Solang_Playground.md) | [GitHub](https://github.com/salaheldinsoliman) | ☐ | ☐ | ☐ | | [P2P.ORG](http://p2p.org/) | [P2P data platform](data_platform_with_deep_indexed_data_and_staking_reports.md) | [GitHub](https://github.com/p2p-org) | ☐ | ☐ | ☐ | -| [CoinFabrik](https://www.coinfabrik.com/) | [CoinFabrik On Ink Integration Tests](CoinFabrik_On_Ink_Integration_Tests.md) | [GitHub](https://github.com/CoinFabrik) | ☐ | ☐ | ☐ | +| [CoinFabrik](https://www.coinfabrik.com/) | [CoinFabrik On Ink Integration Tests](CoinFabrik_On_Ink_Integration_Tests.md) | [GitHub](https://github.com/CoinFabrik) | ☐ | ☒ | ☐ | | [Stake Plus Inc](https://stake.plus) | [Treasury Tracker](TreasuryTracker.md) | [GitHub](https://github.com/stake-plus) | ☐ | ☐ | ☐ | | [MOBR Systems](https://www.mobr.ai) | [Polkadot Analytics Platform](polkadot_analytics_platform.md) | [GitHub](https://github.com/mobr-ai) | ☐ | ☒ | ☐ | | [Infra3](https://network.infra-3.xyz) | [Hyperdot - Powerful data analysis and creations platform](Hyperdot.md) | [GitHub](https://github.com/Infra3-Network/hyperdot) | ☐ | ☐ | ☐ | From 25a09c348f03d55e91f149ec8e6992c470608585 Mon Sep 17 00:00:00 2001 From: S E R A Y A Date: Mon, 18 Sep 2023 12:53:51 +0200 Subject: [PATCH 03/46] Approve larch first delivery in wave list --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 1f01e996eff..d8aac8b16fb 100644 --- a/applications/index.md +++ b/applications/index.md @@ -142,7 +142,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [CoinFabrik](https://www.coinfabrik.com/) | [Scout - Security Analysis Tool](ScoutCoinFabrik.md) | [GitHub](https://github.com/coinfabrik) | ☐ | ☒ | ☒ | | [727.ventures](https://727.ventures/) | [Typechain-Polkadot Follow-up-2](typechain-polkadot-follow-up-2.md) | [GitHub](https://github.com/727-Ventures/typechain-polkadot) | ☐ | ☒ | ☒ | | [Mark Van de Vyver PhD(Dist)](https://www.student.uwa.edu.au/course/award-verification-service?family=van+de+vyver&family_partial=on&given=mark&search=Search) | [Substrate Tokenomics Survey](tokenomics-survey-2022.md) | [GitHub](https://github.com/taqtiqa-mark) | ☐ | ☒ | ☐ | -| [Zeeve](https://www.zeeve.io) | [Parachain deployment zoombienet testing automation](Zeeve_Parachain_deployment_zoombienet_testing_automation.md) | [GitHub](https://github.com/Zeeve-App) | ☐ | ☐ | ☐ | +| [Zeeve](https://www.zeeve.io) | [Parachain deployment zoombienet testing automation](Zeeve_Parachain_deployment_zoombienet_testing_automation.md) | [GitHub](https://github.com/Zeeve-App) | ☐ | ☒ | ☐ | | [Polytope Labs](https://research.polytope.technology/) | [Trie Verifier Implementation](solidity-trie-verifier.md) | [GitHub](https://github.com/polytope-labs) | ☐ | ☒ | ☒ | | [Off-Narrative Labs](https://github.com/Off-Narrative-Labs) | [Tuxedo](tuxedo.md) | [GitHub](https://github.com/JoshOrndorff) | ☐ | ☒ | ☒ | | [FuzzLand](https://fuzz.land/) | [FuzzLand](FuzzLand.md) | [GitHub](https://github.com/fuzzland) | ☐ | ☐ | ☐ | From aac108b81a6ba1c017929e139872bd2c128de6ed Mon Sep 17 00:00:00 2001 From: Roman <133760597+fidiroman@users.noreply.github.com> Date: Mon, 18 Sep 2023 09:49:54 -0500 Subject: [PATCH 04/46] Refined scope for M3, updated address. (#1971) --- applications/fidi-dotsight-analytics.md | 31 +++++++++++++------------ 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/applications/fidi-dotsight-analytics.md b/applications/fidi-dotsight-analytics.md index dc4ebeaeb57..d911dd5488b 100644 --- a/applications/fidi-dotsight-analytics.md +++ b/applications/fidi-dotsight-analytics.md @@ -174,9 +174,9 @@ Our decentralized platform will enable analysts and power users to interactively ### Legal Structure -**Registered Address:** 400 NW 7th Ave, #14310, Ft. Lauderdale, FL 33311, USA +**Registered Address:** Unit 2A, 17/F, Glenealy Tower, No.1 Glenealy, Central, Hong Kong SAR -**Registered Legal Entity:** FiDi Tech, Inc +**Registered Legal Entity:** FiDi Tech Ltd ### Team's experience @@ -219,14 +219,14 @@ All infrastructure deliverables belong to the teams’ domains of expertise and - **Full-Time Equivalent (FTE):** 3.5 FTE - **Total Costs:** 25,000 USD -### Milestone 1 — Data Interface API +### Milestone 1 — Data Interface - **Estimated duration:** 1mo - **FTE:** 4 - **Costs:** 7,500 USD -- Summary: This milestone covers a complete data interface connected to GiantSquid and FiDi dashboards. It also includes fully productionized custom Squids and FiDi views for Astar staking dApp analytics. -- Success: an open-sourced data interface as well as fully operational dashboards for two selected parachains +- Summary: This milestone covers a complete data interface connected to GiantSquid and any arbitrary data provider. +- Success: an open-sourced data interface with customizable middleware, mappers, aggregation logic, and data sources. | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -238,8 +238,6 @@ All infrastructure deliverables belong to the teams’ domains of expertise and | **1c.** | Off-chain sourced addresses support | We will provide rudimentary support for additional data materialization parameters, e.g., pricing via liquidity pool addresses. This will be extended to any off-chain data in an oracle-like fashion in future milestones. | | **2a.** | Data Interface for developers | We will provide a configuration-based interface (initially via git pull requests, then automated in Milestone 2) with key specifications for the new views. We will leverage React and Typescript on the frontend and Typescript with Nest and PGSQL on the backend. | **2b.** | Schema mapping and morphing | We will provide a configuration-based paradigm for specifying: the desired metrics mapping, aggregation logic, upstream GiantSquid URI, and desired materialized view.| -| **2c.** | Data interface: view construction | We will provide developers with the ability to select a desired analytical dashboard from the pre-selected collection (see five views explained in the architecture section; fully customizable views will make it to future milestones). These UI components will also be implemented via React and Typescript.| -| **2d.** | Data interface: Deployment | We will provide developers with the ability to schedule their customer view’s deployment (automatically at recurring times in the future milestones). The deployment action will be a UI module, and the propagation/consensus will occur via GitHub at first and via a PGSQL query in future milestones.| | **3a.** | Dashboards: Default Analytical Views | We will integrate the default views, i.e., pie chat, 1/3-metrics view, and list of assets, with the data interface and make it available for the ad-hoc developer deployment. For 3a-c UI components, we will similarly rely on React + Typescript.| | **3b.** | Dashboards: Advanced Staking View | We will integrate the advanced staking view, e.g., the dApps names, nominator TVLs, balances, rewards, and ranks, with the data interface and make it available for ad-hoc developer deployment. | | **4a.** | Lighthouse use cases: Squids for Wallet-specific metrics | We will implement new squids in GraphQL surfacing wallet-specific metrics for two parachains with the following metrics that need to be surfaced via GiantSquid: Free tokens, Vesting, EVM Deposits, and dApp names. | @@ -247,13 +245,13 @@ All infrastructure deliverables belong to the teams’ domains of expertise and | **4c.** | Lighthouse use cases: customized dApp views | As the first two use-cases, a feasibility proof and an accelerator, we will provide the community with a fully integrated customized dApp analytics dashboard leveraging the data interface (2a-2c), the advanced staking view (3b), and the data aggregation module (1a-1c). | -### Milestone 2 — Views with Network- and dApp-level Metrics +### Milestone 2 — POC Dashboards with Network-, dApp-level and custom Metrics - **Estimated Duration:** 1mo - **FTE:** 2.5 - **Costs:** 5,000 USD -- Summary: This milestone covers support for essential metrics at the parachain and dApp level under each chain. Many would require custom squids built as a part of this scope. +- Summary: This milestone covers support for essential metrics at the parachain and dApp level under each chain. Many would require custom pipelines built as a part of this scope. - Success: developer UI supports views with newly sourced metrics. | Number | Deliverable | Specification | @@ -261,7 +259,7 @@ All infrastructure deliverables belong to the teams’ domains of expertise and | **0a.** | License | Apache 2.0 | **0b.** | Documentation | We will provide documentation on every supported metrics class and an educational tutorial explaining the typical way to interpret the data, navigate the developer UI, specify the required metadata, deploy a data interface configuration, and select the desired dashboard. | | **0c.** | Testing | Core functions will be fully covered by a unit and integration tests suite to ensure robustness, deployment, and serving times. | -| **1a.** | dApp-level signals: collator metrics | We will generalize prior work from Milestone 1 to span collator/nominator activity and make metrics such as uptime, block production rate, block processing time, rank/nominator rank, name, and value locked available in the views. For 1a-2a, the respective in GraphQL squid query and GiantSquid's code are also in scope; the UI components will be written in React + Typescript and the backend code in Typescript + Nest + PGSQL.| +| **1a.** | dApp-level signals: collator metrics | We will generalize prior work from Milestone 1 to span collator/nominator activity and make metrics such as uptime, block production rate, block processing time, rank/nominator rank, name, and value locked available in the views. For 1a-2a, the respective GraphQL squid query and GiantSquid's code are also in scope; the UI components will be written in React + Typescript, and the backend code in Typescript + Nest + PGSQL.| | **1b.** | dApp-level signals: user activity | Additionally, the dApp-specific user activity metrics will be surfaced, e.g., UAW, net new wallets, historical transactions, volume, and balance per dApp. Respective squid query and GS code are also in scope. | | **2a.** | Network-level signals | We will generalize prior work from Milestone 1 to span L1-level metrics and activity made available in the developer UI, e.g., UAW per network, number of new wallets, adoption rates, unstaked tokens currently in wallets, tokens in circulation, and tokens staked or locked. Respective squid query and GS code are also in scope. | @@ -272,7 +270,7 @@ All infrastructure deliverables belong to the teams’ domains of expertise and - **FTE:** 2.5 - **Costs:** 5,000 USD -- Summary: This milestone covers a no-code option for developers to productionize new views on FiDi via specific squids on GiantSquid. +- Summary: This milestone covers a no-code option for developers to productionize new views on FiDi via arbitrary data sources including squids on GiantSquid. - Success: developer UI launched, and new users are able to productionize new views without any code. | Number | Deliverable | Specification | @@ -280,10 +278,13 @@ All infrastructure deliverables belong to the teams’ domains of expertise and | **0a.** | License | Apache 2.0 | **0b.** | Documentation | We will provide documentation on every supported metrics class and an educational tutorial explaining the typical way to interpret the data, navigate the developer UI, specify the required metadata, deploy a data interface configuration, and select the desired dashboard. | | **0c.** | Testing | Core functions will be fully covered by a unit and integration tests suite to ensure robustness, deployment, and serving times. | -| **1a.** | dApp-level signals: collator metrics | We will provide an intuitive web interface for specifying the desired metrics mapping, aggregation logic, upstream GiantSquid URI, and desired materialized view. The UI will be an extension of the one built in M2 and also leverage Typescript + React; and Nest + CloudSQL (PGSQL) + Typescript on the backend. | -| **1b.** | Online testing & deployment | We will provide an intuitive web interface for querying the new view for deployment and validating its configuration. The UI's part technology choices is same as 1a.| -| **2a.** | Deployment validation & View status | We will implement testing and validation layers to ensure the user-inputted configurations for newly spun-up views and GS queries are performant. We will surface the view “status,” e.g., up, down, missing data, and similar. | -| **2a.** | Automated and ad-hoc deployment | We will decouple the existing infrastructure to support ad-hoc and scheduled deployments for newly created views. The CI/CD and automation for 2a-b will rely on schedule App Engine workers. | +| **1a.** | dApp-level signals: collator metrics | We will provide an intuitive web interface for specifying the desired metrics mapping, aggregation logic, upstream data provider, and desired materialized view (dashboard). The UI willleverage Typescript + React; and Nest + CloudSQL (PGSQL) + Typescript on the backend. | +| **1b.** | Online testing & deployment | We will provide an intuitive web interface for querying the new view for deployment and validating its configuration. The UI's part technology choices is the same as 1a.| +| **2a.** | Deployment validation & View status | We will implement testing and validation layers to ensure the user-inputted configurations for newly spun-up views and queries are performant. We will surface the view “status,” e.g., up, down, missing data, and similar. | +| **2b.** | Automated and ad-hoc deployment | We will decouple the existing infrastructure to support ad-hoc and scheduled deployments for newly created views. The CI/CD and automation for 2a-b will rely on scheduled App Engine workers. | +| **2c.** | Data interface: view construction | We will provide developers with the ability to select a desired analytical dashboard from the pre-selected collection (see five views explained in the architecture section; fully customizable views will make it to future milestones). These UI components will also be implemented via React and Typescript.| +| **2d.** | Data interface: Deployment | We will provide developers with the ability to schedule their customer view’s deployment (automatically at recurring times in the future milestones). The deployment action will be a UI module, and the propagation/consensus will occur via GitHub at first and via a PGSQL query in future milestones.| + ### Milestone 4 — Interactive SQL Query Engine for Views From 3d051a0a54c1a5158efedd82f57ac73ce698f5cb Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Tue, 19 Sep 2023 03:01:11 -0400 Subject: [PATCH 05/46] Update RFP links (#1981) * Update IDE_for_ink_Smart_Contracts.md * Update ISO_20022.md * Update identity-directory.md * Update implementation-benchmarking.md * Update ISO_8583.md --- docs/RFPs/Open/ISO_20022.md | 4 ++-- docs/RFPs/Under Development/IDE_for_ink_Smart_Contracts.md | 2 +- docs/RFPs/Under Development/ISO_8583.md | 2 +- docs/RFPs/Under Development/identity-directory.md | 2 +- docs/RFPs/Under Development/implementation-benchmarking.md | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/RFPs/Open/ISO_20022.md b/docs/RFPs/Open/ISO_20022.md index a61188b6e3a..6d2c1611c53 100644 --- a/docs/RFPs/Open/ISO_20022.md +++ b/docs/RFPs/Open/ISO_20022.md @@ -1,6 +1,6 @@ # RFP: ISO 20022 -* **Status:** Open +* **Status:** [Under Development](https://github.com/w3f/Grants-Program/blob/master/applications/ISO20022.md) * **Proposer:** [Noc2](https://github.com/Noc2) ## Project Description :page_facing_up: @@ -10,7 +10,7 @@ ISO (International Organization for Standardization) 20022 is becoming the de fa The goal of this RFP is to find teams that implement tools that make it easy and possible for the traditional finance industry to leverage substrate and ink! smart contracts to interact with ISO 20022 in various ways (e.g. cross border payments, card payments, etc.). These tools could be, but are not limited to: - (Java) APIs or packages that make it possible for the traditional finance industry to integrate a substrate-based ISO 20022 solution into their existing tech stack. -- Proof of concepts, potentially leveraging the unique [Off-Chain Features of Substrate](https://docs.substrate.io/v3/concepts/off-chain-features/) that show the advantages of using ISO 20022 together with Substrate. +- Proof of concepts, potentially leveraging the unique [Off-Chain Features of Substrate](https://docs.substrate.io/learn/offchain-operations/) that show the advantages of using ISO 20022 together with Substrate. - Efficient on-chain representation of the ISO 20022 XML or ASN.1-based syntax **Useful resources:** diff --git a/docs/RFPs/Under Development/IDE_for_ink_Smart_Contracts.md b/docs/RFPs/Under Development/IDE_for_ink_Smart_Contracts.md index d00e9afc75e..06640b5994f 100644 --- a/docs/RFPs/Under Development/IDE_for_ink_Smart_Contracts.md +++ b/docs/RFPs/Under Development/IDE_for_ink_Smart_Contracts.md @@ -11,7 +11,7 @@ The goal of this RFP is to find teams that would like to maintain the browser-ba **Useful resources:** - [ink!](https://use.ink/) -- [ink-playground](https://ink-playground.substrate.io) +- ~~[ink-playground](https://ink-playground.substrate.io)~~ (no longer hosted) - [GitHub ink-playground](https://github.com/paritytech/ink-playground) - [GitHub: ink! Remix plugin](https://github.com/blockchain-it-hr/ink-remix-plugin) diff --git a/docs/RFPs/Under Development/ISO_8583.md b/docs/RFPs/Under Development/ISO_8583.md index 1312749da23..c22ea4b91d5 100644 --- a/docs/RFPs/Under Development/ISO_8583.md +++ b/docs/RFPs/Under Development/ISO_8583.md @@ -12,7 +12,7 @@ Even though ISO 8583 is going to be replaced by [ISO 20022](https://github.com/w The goal of this RFP is to find teams that implement tools that make it easy and possible for the traditional finance industry to leverage substrate and ink! smart contracts to interact with ISO 8583 in various ways. These tools could be, but are not limited to: - (Java) APIs or packages that make it possible for the traditional finance industry to integrate a substrate-based ISO 8583 solution into their existing tech stack. -- Proof of concepts, potentially leveraging the unique [Off-Chain Features of Substrate](https://docs.substrate.io/v3/concepts/off-chain-features/) that show the advantages of using ISO 8583 together with Substrate. +- Proof of concepts, potentially leveraging the unique [Off-Chain Features of Substrate](https://docs.substrate.io/learn/offchain-operations/) that show the advantages of using ISO 8583 together with Substrate. - Efficient on-chain representation of the ISO 8583 syntax **Useful resources:** diff --git a/docs/RFPs/Under Development/identity-directory.md b/docs/RFPs/Under Development/identity-directory.md index 980863fc1bb..be652056b5b 100644 --- a/docs/RFPs/Under Development/identity-directory.md +++ b/docs/RFPs/Under Development/identity-directory.md @@ -1,6 +1,6 @@ # RFP: Substrate Identity Directory -* **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/blob/master/applications/SubIdentity.md), [Under Development 2](https://github.com/w3f/Grants-Program/blob/master/applications/substrate-identity-directory.md) +* **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/blob/master/applications/SubIdentity.md), [Under Development 2](https://github.com/w3f/Grants-Program/blob/master/applications/Dotflow.md) * **Proposer:** swader * **Projects you think this work could be useful for**: Kusama, Polkadot, Substrate chains diff --git a/docs/RFPs/Under Development/implementation-benchmarking.md b/docs/RFPs/Under Development/implementation-benchmarking.md index 812327f734b..48acc6fb1a0 100644 --- a/docs/RFPs/Under Development/implementation-benchmarking.md +++ b/docs/RFPs/Under Development/implementation-benchmarking.md @@ -7,7 +7,7 @@ ## Project Description :page_facing_up: When a new team comes to the ecosystem, they are faced with a decision on how to best implement the logic that they need. -Traditionally in substrate, this has been a choice between a smart contract vs. runtime module (a.k.a. pallet) and elaborated on [in this StackOverflow question](https://stackoverflow.com/questions/56040779/when-should-i-build-a-substrate-runtime-module-versus-a-substrate-smart-contract) or [this entry in Substrate Developer Hub](https://substrate.dev/docs/en/knowledgebase/smart-contracts/#smart-contracts-vs-runtime-development). The choice has since been augmented by the possibility to deploy solidity contracts to an EVM-compatible chain, or even writing solidity code and compiling it to WASM with the help of a [solang](https://solang.readthedocs.io/en/latest) compiler. +Traditionally in substrate, this has been a choice between a smart contract vs. runtime module (a.k.a. pallet) and elaborated on [in this StackOverflow question](https://stackoverflow.com/questions/56040779/when-should-i-build-a-substrate-runtime-module-versus-a-substrate-smart-contract) or [this entry in Substrate Developer Hub](https://docs.substrate.io/design/decide-what-to-build/). The choice has since been augmented by the possibility to deploy solidity contracts to an EVM-compatible chain, or even writing solidity code and compiling it to WASM with the help of a [solang](https://solang.readthedocs.io/en/latest) compiler. As substrate is gaining traction, more and more tools will enable developers to write their logic in their language of choice and deploy on-chain, such as: @@ -17,7 +17,7 @@ As substrate is gaining traction, more and more tools will enable developers to This RFP calls for a benchmarking effort to help inform newcomers about the choice of the best tool for writing application logic. Apart from quantifiable metrics, we would like the outcome of this work to be a guide for developers, perhaps expanding on the aforementioned StackOverflow post. Depending on the outcome, the work might get integrated into our READMEs/wikis. -Before starting this effort, it might make sense to take a look at the official [runtime benchmarking docs](https://substrate.dev/docs/en/knowledgebase/runtime/benchmarking) to assess whether it can be leveraged in some way. +Before starting this effort, it might make sense to take a look at the official [runtime benchmarking docs](https://docs.substrate.io/test/benchmark/) to assess whether it can be leveraged in some way. ## Deliverables :nut_and_bolt: From abc9ab4a65675d04e54587a8d001216fd30a84d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Tue, 19 Sep 2023 09:23:03 +0200 Subject: [PATCH 06/46] Update index.md CoinFabrik on Ink complete --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index d8aac8b16fb..0e1f96b364c 100644 --- a/applications/index.md +++ b/applications/index.md @@ -56,7 +56,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [Eiger](https://www.eiger.co/) | [Storage solution on Polkadot](./Eiger_Storage_on_Polkadot_1.md) | [GitHub](https://github.com/eigerco) | ☐ | ☐ | ☐ | | [Salaheldin Soliman](https://github.com/salaheldinsoliman) | [Solang Playground](Solang_Playground.md) | [GitHub](https://github.com/salaheldinsoliman) | ☐ | ☐ | ☐ | | [P2P.ORG](http://p2p.org/) | [P2P data platform](data_platform_with_deep_indexed_data_and_staking_reports.md) | [GitHub](https://github.com/p2p-org) | ☐ | ☐ | ☐ | -| [CoinFabrik](https://www.coinfabrik.com/) | [CoinFabrik On Ink Integration Tests](CoinFabrik_On_Ink_Integration_Tests.md) | [GitHub](https://github.com/CoinFabrik) | ☐ | ☒ | ☐ | +| [CoinFabrik](https://www.coinfabrik.com/) | [CoinFabrik On Ink Integration Tests](CoinFabrik_On_Ink_Integration_Tests.md) | [GitHub](https://github.com/CoinFabrik) | ☐ | ☒ | ☒ | | [Stake Plus Inc](https://stake.plus) | [Treasury Tracker](TreasuryTracker.md) | [GitHub](https://github.com/stake-plus) | ☐ | ☐ | ☐ | | [MOBR Systems](https://www.mobr.ai) | [Polkadot Analytics Platform](polkadot_analytics_platform.md) | [GitHub](https://github.com/mobr-ai) | ☐ | ☒ | ☐ | | [Infra3](https://network.infra-3.xyz) | [Hyperdot - Powerful data analysis and creations platform](Hyperdot.md) | [GitHub](https://github.com/Infra3-Network/hyperdot) | ☐ | ☐ | ☐ | From 7373be79d6129e29daccea2bf82f79e669dfe3ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Forn=C3=B3s?= Date: Tue, 19 Sep 2023 17:28:36 +0200 Subject: [PATCH 07/46] Ocelloids XCM Transfer Monitoring Service (#1972) --- .../ocelloids_xcm_monitoring_service.md | 264 ++++++++++++++++++ 1 file changed, 264 insertions(+) create mode 100644 applications/ocelloids_xcm_monitoring_service.md diff --git a/applications/ocelloids_xcm_monitoring_service.md b/applications/ocelloids_xcm_monitoring_service.md new file mode 100644 index 00000000000..9ddc44b43b3 --- /dev/null +++ b/applications/ocelloids_xcm_monitoring_service.md @@ -0,0 +1,264 @@ +# Ocelloids XCM Transfer Monitoring Service + +- **Team Name:** SO/DA zone +- **Payment Address:** Fiat 04.05.2023, 16:37 +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + +## Project Overview + +This grant proposal is a follow-up to the Ocelloids Monitoring SDK, previously delivered and available here: https://github.com/w3f/Grant-Milestone-Delivery/pull/934 + +The objective of this grant is to develop an open-source monitoring service using the Ocelloids SDK. This service will monitor XCM transfers across selected parachains. The primary purpose is to offer service providers integrating with a single chain (Asset Hub as starting point) and monitoring effects on other chains that are connected via HRMP and that use XCM as their message format. The service will support connecting to the configured networks through light clients in order to reduce infrastructure overhead for service providers. Users will have access to a self-hosted HTTP API to subscribe to XCM transfers and manage their subscriptions. A public Docker image will be published to facilitate service deployment. + +## Project Details + +The service will support bidirectional XCM transfers, namely asset teleports and reserve-based transfers, between selected parachains. + +The flow of the monitoring will work as follows: + +1. The service will monitor on the origin chain for the event `xcmpqueue.xcmpMessageSent` associated to the extrinsic sent by accounts of interest. The service will extract the XCM message hash from this event. +2. The service will query the storage in `parachainSystem.hrmpOutboundMessages` at the block of the event to get all outbound messages and filter for recipient chain IDs that are supported. Subsequently it will decode the message data to get the set of XCM instructions to filter for combinations of instructions related to asset teleports or reserve-based transfers (i.e. `ReserveAssetDeposited`, `ReceiveTeleportedAsset`, `WithdrawAsset`, and `DepositAsset`). Then, it will get the `blake2-256` hash of the message data to match it with the message hash obtained in Step 1. The service will store a persistent task to be matched in subsequent steps. +3. At the destination chain, the service will monitor for the events `xcmpqueue.success` and `xcmpqueue.fail`. It will match the message hash extracted from these events with the message hash of the origin. +4. It will send a notification to the configured webhook to inform of the status of the XCM transfer along with contextual information. See section [Notifications](#notifications) for details. + +Before using the service, users will need to configure the supported networks and connection providers. An example configuration can be found in the section [Service Configuration](#service-configuration). We will support connections to the network using both RPC clients and light clients. Further details on supported Substrate clients can be found in the [Supported Substrate Clients](#supported-substrate-clients) section. + +The service will expose an HTTP API for users to add subscriptions, specifying the channels they want to monitor and the accounts involved. Users can create multiple subscriptions and modify or delete them as needed. Users can also set up webhook endpoints to receive notifications related to their transfers. Detailed information about the API will be provided in the [Subscriptions API](#subscriptions-api) section. + +To keep the project manageable, the current scope includes support for Asset Hub, Astar and Acala. In the future, we plan to expand support to include more chains. + +### Notifications + +As previously mentioned, the monitoring service will accept webhook endpoints for delivering notifications. Initially, notifications will be provided for XCM message reception. + +The following types of notifications correspond to different scenarios: + +**XCM Execution Success** + +The XCM message sent from the origin chain was received and executed successfully. In this case, we will send an "XCM Transfer Success" notification, including contextual data such as the XCM message hash, block numbers of the XCM message on the origin and destination chains, sender account, beneficiary account, transferred asset and amount. + +**XCM Execution Fail** + +The XCM message was received at the destination chain but failed to execute correctly. In this case, an "XCM Transfer Fail" notification will be sent, including the XCM error returned in the event and additional contextual data. + +### Service Configuration + +The service will load a configuration file at startup, similar to the example provided below: + +```json +{ + "networks": [ + { + "name": "assethub", + "id": 1000, + "relay": "polkadot", + "provider": { + "type": "ws", + "url": "wss://asethub-rpc" + } + }, + { + "name": "parallel", + "id": 2012, + "relay": "polkadot", + "provider": { + "type": "smoldot" + } + } + ] +} +``` + +Other common service options, such as the listening port for the Subscriptions API, will be configurable using environment variables. + +### Subscriptions API + +#### API Methods + +`POST /api/subscriptions/{id}` + +Creates a new subscription document. To avoid the need for the client to store a server generated identifier, we will require the client to provide a unique subscription identifier. This will also allow the client to use meaningful identifiers e.g. `1000-2004-cohort1`. + +Example request body: + +```json +{ + "subject": "xcm-hrmp-transfers", + "args":{ + "origin": { + "network": "assethub", + "senders": [ + { + "accountId": "5GEWco3EGfM27Z9cAmVnzFnZ6Y7vkqNVvWM4NgQZj4n84Wh6", + "type": "AccountId32" + } + ] + }, + "destination": { + "network": "moonbeam" + }, + }, + "notification": { + "type": "webhook", + "url": "https://my-callback", + "maxRetries": 50 + } +} +``` + +`PATCH /api/subscriptions/{id}` + +Accepts a JSON Patch operations array according to [RFC6902](https://datatracker.ietf.org/doc/html/rfc6902) + +Example: + +```json +[ + { + "op": "add", + "path": "/args/origin/senders/1", + "value": { + "accountId": "5HWSEZr3DQXaN4Tk2Y9pYyAPKWeu28P94qeWWgUZ4k2mrbGB", + "type": "AccountId32" + } + } +] +``` + +The resulting patched document will be validated against the subscription document schema. + +`DELETE /api/subscriptions/{id}` + +Removes a subscription by ID. + +`GET /api/subscriptions` + +Returns the list of subscriptions. + +`GET /api/subscriptions/{id}` + +Returns the subscription document under the specified ID. + +`PUT /api/subscription/{id}` + +Replaces an existing subscription document by ID. + +### Supported Substrate Clients + +We will support WebSocket RPC endpoints and light clients. However, please note that light client support may be limited due to its experimental nature. + +During preliminary testing, we identified some limitations: + +1. Using the Smoldot through Subtrate-Connect only support bootnodes configured with secure WebSocket connection. In our exploration, we've seen that only Astar and Acala have bootnodes with secure WebSocket connections. However, it is easy to overcome this limitation since Smoldot supports all the connection types. Reference: [Github issue](https://github.com/paritytech/substrate-connect/issues/1543) + +2. Some runtimes, such as Moonbeam, currently cannot be compiled by the light client. Reference: [Github issue](https://github.com/smol-dot/smoldot/issues/1152) + +We will prioritize chains that are light client ready. + +### Storage + +We will provide persistent storage for operational data, including subscription configurations, processed block number and hashes, XCM messages and notifications. We will use [Level](https://github.com/Level/level) as the database abstraction backed by LevelDB. + +### Catch-up Mechanism + +We will implement a mechanism to process missed blocks in case the monitoring service experiences downtime. For each processed block, its hash and block height will be saved in the database. When the service restarts, it will begin following the current finalized blocks. If the parent hash of the finalized block does not match the last-known hash stored in the database, the service will start processing the missing parent hash blocks until all missing ones are processed. + +### Management Tools + +Since notifications and XCM message matching tasks are stored in the database and retried until success, we will provide a method to clear pending states. This is crucial to prevent indefinite retries of pending tasks. For example, if a webhook endpoint is changed while a notification is pending, it may never succeed. + +We will supply a script enabling administrators to inspect and remove XCM message matching and notification tasks from the database. + +### Tech Stack + +- Typescript +- Node.js +- Polkadot.js API +- Smoldot +- [Fastify](https://github.com/fastify/fastify) +- [Level](https://github.com/Level/level) + +## Ecosystem Fit + +This project aligns well with the growing demand for robust tooling and infrastructure necessary to fulfill Asset Hub's vision of becoming the main place for asset management within the Polkadot ecosystem. To expand its user base, Asset Hub must provide a solution that abstracts away the technical intricacies of cross-chain transfers and enhances the user experience for managing assets across the expansive Polkadot ecosystem. + +The Integrations Team at Parity is already taking initial steps toward achieving this goal by working on the Assets Transfer API and the NoS launch script. These efforts target custodians, exchanges, and institutions, simplifying integration with Asset Hub and the construction of XCM messages. The importance of these tools, along with the overarching vision for Asset Hub, is comprehensively outlined in Iker's [Polkadot forum post](https://forum.polkadot.network/t/new-tooling-and-infrastructure-to-facilitate-the-statemint-roadmap/1997). + +The addition of the Ocelloids XCM monitoring service will enhance this toolkit, providing institutions with a straightforward method to track their cross-chain transfers. This corresponds to step 4 of the "Withdrawals User Journey Example" in Iker's post, as detailed [here](https://forum.polkadot.network/t/new-tooling-and-infrastructure-to-facilitate-the-statemint-roadmap/1997#withdrawals-user-journey-example-5). + +With the inclusion of support for light clients in the service, institutions will experience a substantial reduction in infrastructure overhead since they will no longer need to run parachain nodes to monitor their transfers. + +Furthermore, the demand for a generalized monitoring solution with XCM support has been highlighted in discussions within the Polkadot community, as illustrated in this Polkadot forum post: [Generalized multichain monitoring solution](https://forum.polkadot.network/t/generalized-multichain-monitoring-solution/1297). + +## Team :busts_in_silhouette: + +### Team members + +- Marc Fornós +- Xueying Wang + +### Contact + +- **Contact Name:** Marc Fornós +- **Contact Email:** frozen.pomelo@gmail.com + +### Legal Structure + +N/A + +### Team's experience + +**Marc Fornós** has been designing and implementing software systems for 20 years. He is an expert in the area of distributed systems and data-intensive applications. His experience ranges from warehouse automation with radio-frequency terminals, to being the technical director of an airline post-sale revenue optimization software-as-a-service platform, generating millions in incremental revenue during eight years of operation. In the recent past, he was in charge of evolving a commercial Ethereum block explorer and bootstrapping an explorer for Substrate-based networks focused on the contracts pallet and ink! smart contracts. + +**Xueying Wang** pivoted to software development after completing an MSc. in Aerospace Engineering and has been in the industry for the past eight years. During this time, she pioneered conversational AI assistants for airlines, counting more than 20 assistants in production covering ten languages for customer service, FAQ and in-chat purchases. She also built a scalable publish-subscribe system to trigger actions on flight feed events for the automated agents. She participated in designing a composable Solid POD/RDF data browser and bootstrapping an explorer for Substrate-based networks focused on the contracts pallet and ink! smart contracts. + +### Team Code Repos + +- https://github.com/sodazone +- https://github.com/mfornos +- https://github.com/XY-Wang +- https://github.com/frozenpomelo (shared account) + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 2 months +- **Full-Time Equivalent (FTE):** 2 +- **Total Costs:** 28,000 EUR + +### Milestone 1 + +- **Estimated duration:** 2 months +- **FTE:** 2 +- **Costs:** 28,000 EUR + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Apache 2.0 | +| **0b.** | Documentation | We will provide both inline documentation of the code and a basic guide that explains how to set up and run the monitoring service. | +| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| **0d.** | Docker | We will provide a Dockerfile to ease the deployment and execution of the service. A Docker image of the service will be published in Docker Hub and Github Container Repository. | +| 1. | XCM Monitoring Service | The XCM monitoring service that supports asset teleports and reserve-based transfers between the following parachains: Asset Hub, Astar and Acala. The service will feature what was described in [Project Details](#project-details). | +| 2. | Management Tools | Administrator scripts to inspect and delete pending XCM messages matching and notification tasks, as described in [Management Tools](#management-tools). | + +## Future Plans + +For the XCM monitoring service, we have plans to expand its capabilities and reach which include: + +1. **Support for More Networks:** We plan to broaden the range of networks supported by the XCM monitoring service, enabling a more extensive and inclusive monitoring ecosystem. + +2. **Support for More XCM Protocols:** We will add support for XCMP when ready. + +3. **Enhanced Notifications:** Depending on user requirements and community feedback, we will extend our notification capabilities. This may involve providing notifications for asset transfers' initiation, such as when the block containing the XCM transfer is finalized on the origin chain. We are also considering notifications for when XCM messages sent through HRMP are processed on intermediate chains. + +Our long-term vision for Ocelloids extends beyond just monitoring XCM transfers. We aim to create a hassle-free, comprehensive monitoring portal for Substrate networks and smart contracts within the ecosystem. This portal will offer a set of advanced features, including: + +- Ready-to-use monitoring logic, i.e. monitoring programs, for the entire ecosystem. The XCM monitoring logic built through this grant could be one such monitoring program available. +- Marketplace for monitoring programs where users can subscribe to the programs that correspond to their needs. +- Advanced capabilities: anomaly and attack detection, machine learning, and forecasting. +- Real-time actionable insights on network, contract performance, compliance, and security. +- Multiple data centres for global, high-availability monitoring. +- Seamless integration with existing systems like Prometheus and SIEM. + +In summary, our future plans encompass not only expanding the technical capabilities of the XCM monitoring service but also positioning as a central hub for monitoring and managing Substrate networks and smart contracts within the broader multi-chain ecosystem. From 873d1edf811b4e771d094ef78cbb5732a2b8de08 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Wed, 20 Sep 2023 02:55:06 -0400 Subject: [PATCH 08/46] Update analysis-website-and-data-platform.md (#1984) --- .../Under Development/analysis-website-and-data-platform.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/RFPs/Under Development/analysis-website-and-data-platform.md b/docs/RFPs/Under Development/analysis-website-and-data-platform.md index 3bbc1cc0696..6d043841d71 100644 --- a/docs/RFPs/Under Development/analysis-website-and-data-platform.md +++ b/docs/RFPs/Under Development/analysis-website-and-data-platform.md @@ -1,6 +1,6 @@ # Analytics Website/Data Platform -* **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/pull/1716), [Under Development 2](https://github.com/w3f/Grants-Program/pull/1768) +* **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/pull/1716), [Under Development 2](https://github.com/w3f/Grants-Program/pull/1768), [Under Development 3](https://github.com/w3f/Grants-Program/blob/master/applications/fidi-dotsight-analytics.md) * **Proposer:** [Keegan Quigley](https://github.com/keeganquigley) * **Teams/People that could deliver the RFP**: @web3go-xyz From 22ff1159c9cead8a01e9221c4c3efb79fef146d8 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Wed, 20 Sep 2023 02:55:33 -0400 Subject: [PATCH 09/46] Update index.md (#1983) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 0e1f96b364c..c51cca61239 100644 --- a/applications/index.md +++ b/applications/index.md @@ -104,7 +104,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [SO/DA zone](https://github.com/mfornos) | [Ocelloids Monitoring SDK grant application](ocelloids_monitoring_sdk.md) | [GitHub](https://github.com/mfornos) | ☐ | ☒ | ☒ | | [Antier Solutions Pvt. Ltd.](https://github.com/kulwindersingh-ant)| [Grants webapp](Grant_management_webapp.md) | [GitHub](https://github.com/kulwindersingh-ant) | ☐ | ☒ | ☒ | | [Zaniyar Jahany](https://github.com/Zaniyar/) | [Grantmaster](grantmaster.md) | [GitHub](https://github.com/Zaniyar/plant2earn/) | ☐ | ☐ | ☐ | -| [FiDi Tech](https://fidi.tech/) | [FiDi DotSight: Analytics Data Platform for DotSama](fidi-dotsight-analytics.md)| [GitHub](https://github.com/fidi-tech) | ☐ | ☐ | ☐ | +| [FiDi Tech](https://fidi.tech/) | [FiDi DotSight: Analytics Data Platform for DotSama](fidi-dotsight-analytics.md)| [GitHub](https://github.com/fidi-tech) | ☐ | ☒ | ☐ | | [Ideal Labs](https://www.idealabs.network/) | [Cryptex](cryptex.md)| [GitHub](https://github.com/ideal-lab5) | ☐ | ☒ | ☐ | | [Xcavate](https://xcavate.io/) | [Real estate centric lending and asset minting protocol](Xcavate.md)| [GitHub](https://github.com/xcavateblockchain) | ☐ | ☐ | ☐ | | [Syncra](https://syncra.xyz) | [No Code DAO Maker and ZK Powered Private Voting Solution](Syncra.md)| [GitHub](https://github.com/SyncraDAO) | ☐ | ☐ | ☐ | From bdfe678d4d700abc3fd69d2811c06516b9e59f4d Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 20 Sep 2023 09:04:11 +0200 Subject: [PATCH 10/46] Update index.md add Ocelloids XCM Transfer Monitoring Service --- applications/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/index.md b/applications/index.md index c51cca61239..5d89a454dd8 100644 --- a/applications/index.md +++ b/applications/index.md @@ -71,6 +71,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [Open Smart Contract](https://github.com/OpenSmartContract) | [ISO20022 PoC](./ISO20022.md) | [GitHub](https://github.com/OpenSmartContract) | ☐ | ☐ | ☐ | | [DAOsign](https://daosign.org/) | [DAOsign](./DAOsign.md) | [GitHub](https://github.com/DAOsign) | ☐ | ☐ | ☐ | | [Zondax AG](https://zondax.ch/) | [PoC Polkadot Conformance Tests](./polkadot_tests.md) | [GitHub](https://github.com/zondax) | ☐ | ☐ | ☐ | +| [SO/DA zone](https://github.com/sodazone) | [Ocelloids XCM Transfer Monitoring Service](ocelloids_xcm_monitoring_service.md) | [GitHub](https://github.com/sodazone) | ☐ | ☐ | ☐ | [🔝](#2023) From 8c9fe740e206c309b7c1769c720359c78e8e7e5c Mon Sep 17 00:00:00 2001 From: Nikhil W3F <142136841+nikw3f@users.noreply.github.com> Date: Wed, 20 Sep 2023 10:11:20 +0200 Subject: [PATCH 11/46] ISO-8583-implementation milestone 1 (#1985) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 5d89a454dd8..638641193d9 100644 --- a/applications/index.md +++ b/applications/index.md @@ -111,7 +111,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [Syncra](https://syncra.xyz) | [No Code DAO Maker and ZK Powered Private Voting Solution](Syncra.md)| [GitHub](https://github.com/SyncraDAO) | ☐ | ☐ | ☐ | | [P2P.ORG](http://p2p.org/) | [Validator Monitoring Service](Validator_Monitoring_Service.md)| [GitHub](https://github.com/p2p-org/polkadot_monitoring_service) | ☐ | ☐ | ☐ | | [Colorful Notion](https://github.com/colorfulnotion) | [Deep Account Analytics in Three Tiers for the Polkadot Data Alliance](DeepAccountAnalytics-PolkadotDataAlliance.md)| [GitHub](https://github.com/colorfulnotion/) | ☐ | ☐ | ☐ | -| [Dastanbek Samatov](https://dastansam.github.io/) | [ISO-8553 PoC implementation](ISO-8583-implementation.md)| [GitHub](https://github.com/dastanbeksamatov) | ☐ | ☐ | ☐ | +| [Dastanbek Samatov](https://dastansam.github.io/) | [ISO-8553 PoC implementation](ISO-8583-implementation.md)| [GitHub](https://github.com/dastanbeksamatov) | ☐ | ☒ | ☐ | | [Eiger](https://www.eiger.co/) | [Substrate Move System Pallet, pt. 1](Substrate_Move_System_Pallet_1.md)| [GitHub](https://github.com/eigerco) | ☐ | ☒ | ☒ | | [Davanti](https://github.com/liangjh) | [Dot-ETL Project](dot_etl.md)| [GitHub](https://github.com/liangjh) | ☐ | ☐ | ☐ | | [ParaSpell](https://github.com/paraspell) | [LightSpell: XCM API](LightSpell-proposal.md)| [GitHub](https://github.com/paraspell) | ☐ | ☒ | ☒ | From 1660a5e5b1e1911698e57ce746f7beca05dd7028 Mon Sep 17 00:00:00 2001 From: Cwilli30 <144842888+Cwilli30@users.noreply.github.com> Date: Wed, 20 Sep 2023 09:22:22 -0400 Subject: [PATCH 12/46] Add StorageHub Proposal (#1970) * Add StorageHub Proposal * Update StorageHub.md * Update StorageHub.md --------- Co-authored-by: Stephen Shelton --- applications/StorageHub.md | 169 +++++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 applications/StorageHub.md diff --git a/applications/StorageHub.md b/applications/StorageHub.md new file mode 100644 index 00000000000..93f5b783fee --- /dev/null +++ b/applications/StorageHub.md @@ -0,0 +1,169 @@ +# StorageHub Grant Application + +- **Team Name:** Moonsong Labs +- **Payment Address:** USD Wire Preferred +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 + +## Project Overview :page_facing_up: + +### Overview + +* Tagline Describer + * StorageHub is a decentralized storage public good parachain optimized for file based storage and larger data sets that are not suitable to be stored directly in standard parachain storage. The proposed parachain will provide developers in the Polkadot ecosystem with an alternate decentralized and substrate-based storage solution and functionality. + +* Purpose + * The goal of this project is to provide storage for web3 applications and protocols within the Polkadot & Kusama ecosystems. Unlike other storage protocols that focus on end user or enterprise storage scenarios, StorageHub’s feature set optimizes for web3 application storage use cases. StorageHub aims to provide a decentralized storage option that allows web3 applications to store large files and large data sets in a cost efficient way without sacrificing decentralization properties. + +* Problem + * Storage oriented chains, like Filecoin and Arweave, have emerged to provide more efficient and decentralized storage capabilities. However, these chains are standalone chains, and are not designed to interoperate with other chains. The problem is that web3 apps need smart contract logic and compute to be combined with storage to make a complete solution, but smart contracts and compute generally reside on different chains (e.g. Ethereum Mainnet, L2 rollups, Parachains) vs. on the storage optimized chains (Filecoin, Arweave). In response, these storage chains have tried to bolster their smart contract capabilities (e.g. Filecoin’s FVM, Arweave’s Smartweave), but they have and will continue to be hard pressed to convince all compute and smart contract activity to migrate to their chains. + + * The ideal scenario would be to combine smart contract execution from e.g. a Substrate based Polkadot parachain such as Moonbeam or Astar with storage from a storage optimized chain like Arweave. If we look at NFT scenarios as an example, this is happening. The scenario is that you have an NFT contract on Mainnet, that has a pointer to a JPEG via an Arweave URL. The problem is that this is a one-way pointer between 2 independent systems. It is up to the application to mediate interactions between the 2 chains in the client. There is no awareness or connection between the contract and the JPEG other than the URL pointer in the contract. What if the contract could update access to and ownership of the actual data itself? What if the contract could read and act on the data stored? Simple functionality like this would open up a large number of new scenarios. End user UX could be substantially improved by removing the need for the user to understand and interact directly with both the contract and the storage blockchains, using potentially different accounts, keys, etc. + +* Vision + * StorageHub is a storage optimized parachain that is designed to work with other Polkadot & Kusama parachains. It focuses on storing data in an efficient and decentralized way, while allowing that storage to be accessed, used, and managed by other parachains. It will be possible for users to directly interact with the storage on the chain, but StorageHub also seeks to natively interoperate with existing parachains via XCM. + +* Inspiration + * Amazon S3 + * (https://en.wikipedia.org/wiki/Amazon_S3) was a key building block of web2 cloud infrastructure that greatly eased and improved data storage in web2 applications. With S3 devs could store arbitrarily large amounts of data in their apps without needing to get bogged down with storage infrastructure or scaling concerns. StorageHub seeks to do something similar for web3 devs building on Polkadot. + + * Filecoin + * (https://filecoin.io/) is a storage optimized chain that creates a 2 sided marketplace of storage providers and storage consumers. The project is responsible for key innovations such as ipfs and libp2p, among other things. In many ways filecoin sets the standard for decentralized storage in the web3 space. Although the protocol seems focused on trying to compete with cloud and other centralized storage providers. + + * Arweave + * (https://www.arweave.org/) is a storage optimized chain like filecoin, but that emphasizes permanent storage vs creating a time based storage marketplace. Users pay once to store data on arweave forever. It is popular to use for metadata associated with NFTs, among other things. + + * Project Greenfield + * (https://github.com/bnb-chain/greenfield-whitepaper/blob/main/README.md) is a storage optimized chain designed to work with the BNB chain. It was born out of practical needs that the state of BNB chain is already many terabytes large and there is a need to offload unnecessary storage from the main BNB chain. There are lots of good cross chain ideas in Greenfield including having storage on Greenfield represented as NFTs on BNB chain which can be managed and whose ownership can be changed. + +### Project Details + +* Design and Implementation Principles + * StorageHub will be a Substrate-native implementation deployed to both Kusama and Polkadot. + * It will be a public good chain that uses DOT for fees, governance, and other utilities. + * It will offer native XCM support such that parachains can interact with stored data and metadata in a trustless way.. + * End users and Dapps should be able to store and retrieve stored data from the chain. + * The chain will create a 2 sided marketplace of storage providers and storage consumers. + * A minimum of N copies of any given piece of data should be stored such that the system can survive the loss of some copies without losing the original dataset. Erasure encoding or similar technique could be optionally used to achieve this. + * On the tradeoff spectrum between decentralization vs performance, we opt to always maintain good decentralization properties even if that means less performance is possible. + * There will need to be a network of storage providers that supply storage to the blockchain. + * The parachain will track metadata about the data being stored, and facilitate payments between the data owner and the storage provider. + * A set of metadata associated with any stored data will be managed by StorageHub. This will allow the data owner to control access, and to transfer ownership of the data to other parties. + * StorageHub doesn’t aim to have smart contract functionality itself. Rather it strives to integrate, work with, and complement other smart contract or native parachains. + * In creating the design for StorageHub, we will leverage previous research into polkadot and substrate based filestorage solutions such as: + * https://github.com/w3f/Grants-Program/pull/1888 + * https://github.com/common-good-storage/report/blob/master/src/first.md + +* Key Questions and Anticipated Challenges + * Existing storage networks focus more on storage but less on user accessibility to that data. But storage without accessibility isn’t that useful to users. Can we incorporate outside accessibility guarantees into the protocol? + * What type of storage will it provide? Only immutable hash/value type or will it support mutable references (like a filesystem, useful to store/manage a web service or page) + * What kind of XCM interaction (API) do we want to support? + * XCM (mostly HRMP) costs may make some scenarios prohibitive. + * Given the costs of XCM, to what degree does it make sense to store metadata on StorageHub vs on the controlling chain? + * What do sustainable economics look like for storage providers, especially given that a public good chain won’t have a token to help bootstrap this side of the market? + * How is data provided and stored without increasing PoV? This will most likely need to be a combination of offchain workers and a separate storage system. Regular substrate state can’t be used for larger data storage, it would be used to keep tracking information about where and what data is stored. + * What does this new data provider node look like and how does it work with other node types supporting the system? + * How will the system ensure that enough copies of a given piece of data are present and available, given that storage provider nodes can go offline at any time. + * How is it checked that data providers have the data they are being paid to store? What are the consequences of failing this check? + * How do you manage censorship of data? + * Different kinds of data that could be subject to take down requests. Data that e.g. a political party doesn’t like. Data that is illegal in a given jurisdiction due to copyright or similar. Data that is both illegal and morally offensive. + * Perhaps OpenGov tracks could be used for censorship takedowns. + * Or data storage providers could be given censorship controls, and a permissionless staking design would make it so token holders could vote out providers that are out of line with community censorship standards. + + +### Ecosystem Fit +* Where and How Does StorageHub Fit In + * There are currently no native Polkadot decentralized storage solutions and StorageHub aims to fill that gap. + * Crust provides an incentive layer on top of existing storage protocols like ipfs. Whereas StorageHub seeks to be a storage provider itself. + * StorageHub will be natively accessible by other parachains via XCM. + +* Target Audience + * StorageHub is targeted for chains, contracts, teams and individuals that require data storage of larger datasets, and who value that storage being decentralized, censorship resistant, and permanent as long as storage fees are paid. + * StorageHub will prioritize web3 developers that want to incorporate decentralized storage into their applications. This means a focus on APIs, SDKs, developer docs and education. + * StorageHub will secondarily provide a reference application which allows users to directly interact with the system, storing data and managing data storage. + +* Use Cases + * NFT, NFT marketplace, and Metaverse metadata storage + * Dapps that require data storage + * Personal and enterprise data storage - same as other storage chains. + * DAO owned data assets - DAOs operating on existing parachains can manage access to and ownership of data assets on StorageHub. + * “True” NFTs that can have the entirety of their associated data assets on-chain via a combination of an e.g. NFT contract and StorageHub stored assets. + * Markets for data sets using NFT marketplaces. + * New types of smart contracts that can act on StorageHub stored data on an one off or continuous basis + + +## Team :busts_in_silhouette: + +### Team members +* Team Leader: Derek Yoo +* Team: + * Alan Sapède + * Chase Williams + * Olivia Smith + * Engineers to be hired + +### Contact + +- **Contact Name:** Chase Williams +- **Contact Email:** Chase@moonsonglabs.com +- **Website:** https://moonsonglabs.com/ + +### Legal Structure + +- **Registered Address:** 1500 District Ave Burlington, MA 01803 +- **Registered Legal Entity:** Delaware C Corp + +### Team's experience + +* The Moonsong Labs protocol engineering team has deep expertise in Substrate, EVM, cross chain technologies, and launching parachains on Kusama and Polkadot. Our team is the core engineering team for the Moonbeam Network and have made significant contributions to the ecosystem, such as contributions to Frontier, the Moonwall testing framework, parachain-staking pallet, and xcm tools. The engineering team is made up of 13+ engineers and is rapidly growing.  + +* Team Example Code Repos: + * https://github.com/Moonsong-Labs + * https://github.com/moonbeam-foundation/moonbeam + +* Team LinkedIn Profiles: + * [Alan Sapede](https://www.linkedin.com/in/alansapede/) + * [Derek Yoo](https://www.linkedin.com/in/derek-yoo-8a050/) + * [Olivia Smith](https://www.linkedin.com/in/olivia-smith-69966616a/) + * [Chase Williams](https://www.linkedin.com/in/chase-williams-442712b1/) + * Engineering Team TBD + +## Development Roadmap :nut_and_bolt: + +### Overview +* Total Estimated Duration: 2 Months + * Milestone #1: 1 Month + * Milestone #2: 1 Month +* Full-Time Equivalent (FTE): 2.5 +* Total Costs: $84,500 (USD) + +### Milestone #1: Research & Design +* Estimated duration: 1 Month +* FTE: 2.5 +* Costs: $42,250 (USD) + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | Copyright and Licenses | CC BY 4.0 / GPLv3 | +| **0b.** | Research & Investigation | * Understand and clarify key requirements via conversations with key stakeholders
* Study existing solutions and designs to see what technologies and approaches can be leveraged vs. being created
* Research decentralized storage competitive projects, including but not limited to Filecoin, Arweave, Sia, Storj as well as existing storage work in the Polkadot ecosystem
* Examine trade offs other decentralized storage providers have made including, but not limited to retrieval times, small v. large files, resiliency, cost efficacy, security & privacy, redundancy, user learning curve and environmental sustainability
* Begin to design features compatible with Polkadot’s technical approach and philosophy
* The research & design document will include the gathered requirements and the list of researched solutions & features that could meet those requirements, as well as all supporting evidence and documentation that led to those proposed requirements and features. The document will also expand its research on the “Key Questions and Anticipated Challenges” section | +| **0c.** | Feature Analysis | * In depth research of the technical feasibility of key features and components
*Evaluation of proposed feature sets, inclusive of a detailed compatibility/tradeoff matrix leading to a clearly defined set of proposed StorageHub features
* Stakeholders will be asked to provide feedback on those compatibility/tradeoffs and to help choose a good combination of features
* Definition and documentation of key use cases and scenarios | +| **0d.** | Article | * The main deliverable for the first month is v0.5 of the research & design document. The research and design document will include the feature analysis, proposed MVP feature set including key use cases, and address the points in (0b.) and (0c.) | + +### Milestone #2: Technical Deliverables +* Estimated Duration: 1 month +* FTE: 2.5 +* Costs: $42,250 (USD) + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License Type | CC BY 4.0 / GPLv3 | +| **0b.** | Documentation | * For the second milestone we will provide v1.0 of the research & design document. The v1.0 document will include a high level technical design & architecture of StorageHub, including major subsystems, incorporating and building upon research from the first v0.5 milestone
* This v1.0 research and design document will be shared with key stakeholders to obtain specific feedback that will help us continue to refine StorageHub
* In addition to this, we will also begin to build prototype code that supports and tests the v1.0 technical design considerations. A basic tutorial will be included that explains how a user can run our prototype code and send test transactions | +| **0c.** | Testing & Testing Guide | * Software developed for this milestone will be prototype quality, and thus will not have the tests required for production deployment. However, the prototype code will be sufficient to demonstrate viability or compatibility of key aspects of the design approach
* As outlined in (0b.), a basic tutorial will be included that explains how a user can run our prototype code and send test transactions | +| **0d.** | Docker | * We will provide a Dockerfile(s) that can be used to run the prototype associated with this milestone | +| **0e.** | Prototype Code | * We will create a Substrate and or RUST prototype to validate proposed designs described in the v1.0 design doc. In particular, the approach for the data provider role, and being able to store data in a redundant fashion, and retrieve data from the provider
* The source code for the prototype will be delivered as part of the second month milestone. The prototype will have limited features (e.g. not decentralized, limited API, etc) or might not be complete but will provide sufficient functionalities to demonstrate key parts of the proposed design
* We will provide a Dockerfile(s) that can be used to run the prototype associated with this milestone | +| **0f.** | Resource Estimation & Planning | * Estimate the time, budget, and resources required to implement a minimum viable feature set for the project
* Break down the feature into smaller tasks or user stories
* Create a proposed project plan that includes implementation milestones, and responsibilities
* Include proposed next steps in the research and design doc | +| **0g.** | Article | * The main deliverables for this milestone are defined as below
* Progressing the v0.5 document to a v1.0 state outlined in section (0b.)
* A Substrate and or RUST prototype to validate proposed designs described in the v1.0, outlined in section (0e.)
* A basic tutorial will be included that explains how a user can run our prototype code and send test transactions outlined in section (0c.) | + + +## Future Plans +* We are currently in the process of hiring fulltime resources that will be dedicated to this engineering effort. +* The intended long term plan is to successfully complete this initial grant to then set us up to apply for a follow on long term grant From a097d07d25447a60ba4da0704c96b32d5e7530c1 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 20 Sep 2023 15:25:15 +0200 Subject: [PATCH 13/46] Update index.md Add StorageHub --- applications/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/index.md b/applications/index.md index 638641193d9..e78c751a9e0 100644 --- a/applications/index.md +++ b/applications/index.md @@ -72,6 +72,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [DAOsign](https://daosign.org/) | [DAOsign](./DAOsign.md) | [GitHub](https://github.com/DAOsign) | ☐ | ☐ | ☐ | | [Zondax AG](https://zondax.ch/) | [PoC Polkadot Conformance Tests](./polkadot_tests.md) | [GitHub](https://github.com/zondax) | ☐ | ☐ | ☐ | | [SO/DA zone](https://github.com/sodazone) | [Ocelloids XCM Transfer Monitoring Service](ocelloids_xcm_monitoring_service.md) | [GitHub](https://github.com/sodazone) | ☐ | ☐ | ☐ | +| [Moonsong Labs](https://moonsonglabs.com/) | [StorageHub](StorageHub.mdd) | [GitHub](https://github.com/Moonsong-Labs) | ☐ | ☐ | ☐ | [🔝](#2023) From 2753ba556fe270e792eb01896b5823b34555931a Mon Sep 17 00:00:00 2001 From: David Hawig Date: Wed, 20 Sep 2023 15:26:01 +0200 Subject: [PATCH 14/46] Update index.md Fix links --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index e78c751a9e0..2485f83ad6a 100644 --- a/applications/index.md +++ b/applications/index.md @@ -72,7 +72,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [DAOsign](https://daosign.org/) | [DAOsign](./DAOsign.md) | [GitHub](https://github.com/DAOsign) | ☐ | ☐ | ☐ | | [Zondax AG](https://zondax.ch/) | [PoC Polkadot Conformance Tests](./polkadot_tests.md) | [GitHub](https://github.com/zondax) | ☐ | ☐ | ☐ | | [SO/DA zone](https://github.com/sodazone) | [Ocelloids XCM Transfer Monitoring Service](ocelloids_xcm_monitoring_service.md) | [GitHub](https://github.com/sodazone) | ☐ | ☐ | ☐ | -| [Moonsong Labs](https://moonsonglabs.com/) | [StorageHub](StorageHub.mdd) | [GitHub](https://github.com/Moonsong-Labs) | ☐ | ☐ | ☐ | +| [Moonsong Labs](https://moonsonglabs.com/) | [StorageHub](./StorageHub.md) | [GitHub](https://github.com/Moonsong-Labs) | ☐ | ☐ | ☐ | [🔝](#2023) From eff195ba25430cd92a6770182752148e2380617b Mon Sep 17 00:00:00 2001 From: Noc2 Date: Wed, 20 Sep 2023 14:38:12 +0100 Subject: [PATCH 15/46] Fix website --- applications/StorageHub.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/applications/StorageHub.md b/applications/StorageHub.md index 93f5b783fee..ac54a8ebfc4 100644 --- a/applications/StorageHub.md +++ b/applications/StorageHub.md @@ -144,8 +144,8 @@ | Number | Deliverable | Specification | | -----: | ----------- | ------------- | | **0a.** | Copyright and Licenses | CC BY 4.0 / GPLv3 | -| **0b.** | Research & Investigation | * Understand and clarify key requirements via conversations with key stakeholders
* Study existing solutions and designs to see what technologies and approaches can be leveraged vs. being created
* Research decentralized storage competitive projects, including but not limited to Filecoin, Arweave, Sia, Storj as well as existing storage work in the Polkadot ecosystem
* Examine trade offs other decentralized storage providers have made including, but not limited to retrieval times, small v. large files, resiliency, cost efficacy, security & privacy, redundancy, user learning curve and environmental sustainability
* Begin to design features compatible with Polkadot’s technical approach and philosophy
* The research & design document will include the gathered requirements and the list of researched solutions & features that could meet those requirements, as well as all supporting evidence and documentation that led to those proposed requirements and features. The document will also expand its research on the “Key Questions and Anticipated Challenges” section | -| **0c.** | Feature Analysis | * In depth research of the technical feasibility of key features and components
*Evaluation of proposed feature sets, inclusive of a detailed compatibility/tradeoff matrix leading to a clearly defined set of proposed StorageHub features
* Stakeholders will be asked to provide feedback on those compatibility/tradeoffs and to help choose a good combination of features
* Definition and documentation of key use cases and scenarios | +| **0b.** | Research & Investigation | * Understand and clarify key requirements via conversations with key stakeholders
* Study existing solutions and designs to see what technologies and approaches can be leveraged vs. being created
* Research decentralized storage competitive projects, including but not limited to Filecoin, Arweave, Sia, Storj as well as existing storage work in the Polkadot ecosystem
* Examine trade offs other decentralized storage providers have made including, but not limited to retrieval times, small v. large files, resiliency, cost efficacy, security & privacy, redundancy, user learning curve and environmental sustainability
* Begin to design features compatible with Polkadot’s technical approach and philosophy
* The research & design document will include the gathered requirements and the list of researched solutions & features that could meet those requirements, as well as all supporting evidence and documentation that led to those proposed requirements and features. The document will also expand its research on the “Key Questions and Anticipated Challenges” section | +| **0c.** | Feature Analysis | * In depth research of the technical feasibility of key features and components
*Evaluation of proposed feature sets, inclusive of a detailed compatibility/tradeoff matrix leading to a clearly defined set of proposed StorageHub features
* Stakeholders will be asked to provide feedback on those compatibility/tradeoffs and to help choose a good combination of features
* Definition and documentation of key use cases and scenarios | | **0d.** | Article | * The main deliverable for the first month is v0.5 of the research & design document. The research and design document will include the feature analysis, proposed MVP feature set including key use cases, and address the points in (0b.) and (0c.) | ### Milestone #2: Technical Deliverables @@ -156,12 +156,12 @@ | Number | Deliverable | Specification | | -----: | ----------- | ------------- | | **0a.** | License Type | CC BY 4.0 / GPLv3 | -| **0b.** | Documentation | * For the second milestone we will provide v1.0 of the research & design document. The v1.0 document will include a high level technical design & architecture of StorageHub, including major subsystems, incorporating and building upon research from the first v0.5 milestone
* This v1.0 research and design document will be shared with key stakeholders to obtain specific feedback that will help us continue to refine StorageHub
* In addition to this, we will also begin to build prototype code that supports and tests the v1.0 technical design considerations. A basic tutorial will be included that explains how a user can run our prototype code and send test transactions | -| **0c.** | Testing & Testing Guide | * Software developed for this milestone will be prototype quality, and thus will not have the tests required for production deployment. However, the prototype code will be sufficient to demonstrate viability or compatibility of key aspects of the design approach
* As outlined in (0b.), a basic tutorial will be included that explains how a user can run our prototype code and send test transactions | +| **0b.** | Documentation | * For the second milestone we will provide v1.0 of the research & design document. The v1.0 document will include a high level technical design & architecture of StorageHub, including major subsystems, incorporating and building upon research from the first v0.5 milestone
* This v1.0 research and design document will be shared with key stakeholders to obtain specific feedback that will help us continue to refine StorageHub
* In addition to this, we will also begin to build prototype code that supports and tests the v1.0 technical design considerations. A basic tutorial will be included that explains how a user can run our prototype code and send test transactions | +| **0c.** | Testing & Testing Guide | * Software developed for this milestone will be prototype quality, and thus will not have the tests required for production deployment. However, the prototype code will be sufficient to demonstrate viability or compatibility of key aspects of the design approach
* As outlined in (0b.), a basic tutorial will be included that explains how a user can run our prototype code and send test transactions | | **0d.** | Docker | * We will provide a Dockerfile(s) that can be used to run the prototype associated with this milestone | -| **0e.** | Prototype Code | * We will create a Substrate and or RUST prototype to validate proposed designs described in the v1.0 design doc. In particular, the approach for the data provider role, and being able to store data in a redundant fashion, and retrieve data from the provider
* The source code for the prototype will be delivered as part of the second month milestone. The prototype will have limited features (e.g. not decentralized, limited API, etc) or might not be complete but will provide sufficient functionalities to demonstrate key parts of the proposed design
* We will provide a Dockerfile(s) that can be used to run the prototype associated with this milestone | -| **0f.** | Resource Estimation & Planning | * Estimate the time, budget, and resources required to implement a minimum viable feature set for the project
* Break down the feature into smaller tasks or user stories
* Create a proposed project plan that includes implementation milestones, and responsibilities
* Include proposed next steps in the research and design doc | -| **0g.** | Article | * The main deliverables for this milestone are defined as below
* Progressing the v0.5 document to a v1.0 state outlined in section (0b.)
* A Substrate and or RUST prototype to validate proposed designs described in the v1.0, outlined in section (0e.)
* A basic tutorial will be included that explains how a user can run our prototype code and send test transactions outlined in section (0c.) | +| **0e.** | Prototype Code | * We will create a Substrate and or RUST prototype to validate proposed designs described in the v1.0 design doc. In particular, the approach for the data provider role, and being able to store data in a redundant fashion, and retrieve data from the provider
* The source code for the prototype will be delivered as part of the second month milestone. The prototype will have limited features (e.g. not decentralized, limited API, etc) or might not be complete but will provide sufficient functionalities to demonstrate key parts of the proposed design
* We will provide a Dockerfile(s) that can be used to run the prototype associated with this milestone | +| **0f.** | Resource Estimation & Planning | * Estimate the time, budget, and resources required to implement a minimum viable feature set for the project
* Break down the feature into smaller tasks or user stories
* Create a proposed project plan that includes implementation milestones, and responsibilities
* Include proposed next steps in the research and design doc | +| **0g.** | Article | * The main deliverables for this milestone are defined as below
* Progressing the v0.5 document to a v1.0 state outlined in section (0b.)
* A Substrate and or RUST prototype to validate proposed designs described in the v1.0, outlined in section (0e.)
* A basic tutorial will be included that explains how a user can run our prototype code and send test transactions outlined in section (0c.) | ## Future Plans From 8ee69f74c1fe432f3e139a73e974d09d2d077ff0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 21 Sep 2023 10:16:51 +0200 Subject: [PATCH 16/46] Update index.md Fix pallet-maci link and status --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 2485f83ad6a..cbbe1bb5818 100644 --- a/applications/index.md +++ b/applications/index.md @@ -493,7 +493,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [Nathan Schwermann](https://github.com/nschwermann) | [PolkaJ Android Support](./polkaj_android_support.md) | [GitHub](https://github.com/nschwermann) | ☐ | ☒ | ☐ | | [Acala](https://acala.network/) | [xtokens - XCM Implementation for Fungible Assets](./xtokens.md) | [GitHub](https://github.com/open-web3-stack/open-runtime-module-library/tree/master/xtokens) | ☐ | ☒ | ☒ | | [NUTS Finance](https://nuts.finance/) | [Stable Asset](./stable-asset.md) | [GitHub](https://github.com/nutsfinance) | ☐ | ☒ | ☒ | -| [MVP Workshop](https://mvpworkshop.co/) | [pallet-maci (Minimal Anti Collusion Infrastructure)](./substrate_startkit_GUI.md) | [GitHub](https://github.com/MVPWorkshop) | ☐ | ☐ | ☐ | +| [MVP Workshop](https://mvpworkshop.co/) | [pallet-maci (Minimal Anti Collusion Infrastructure)](./pallet_maci.md) | [GitHub](https://github.com/MVPWorkshop) | ☒ | ☐ | ☐ | | [X-Predict](https://x-predict.com/) | [Decentralized prediction market](./XPredictMarket.md) | [GitHub](https://github.com/XPredictMarket) | ☐ | ☐ | ☐ | | [Chevdor](https://www.chevdor.com/) | SRTOOL App | [GitLab](https://gitlab.com/chevdor/srtool-app) | ☐ | ☒ | ☒ | | [Bit.Country](http://bit.country/) | [A decentralized world - Phase 2](./bit_country_m2.md) | [GitHub](https://github.com/bit-country) | ☐ | ☒ | ☒ | From bfaff3e3c96d03ce43a0907e09beefcd04d1d22a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 21 Sep 2023 12:09:34 +0200 Subject: [PATCH 17/46] Update how-to-apply.md --- docs/Process/how-to-apply.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/Process/how-to-apply.md b/docs/Process/how-to-apply.md index cd1d80b9dca..23e7f73261b 100644 --- a/docs/Process/how-to-apply.md +++ b/docs/Process/how-to-apply.md @@ -4,9 +4,15 @@ title: 1. Application --- -:::caution +:::tip -The process below is independent of the [level](../Introduction/levels.md). Payment is made in fiat, Bitcoin, USDT (on Kusama or Polkadot) or USDC/DAI (Ethereum). If you want to apply in **private**, you can apply [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. +If you want to apply in **private**, you can do so [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. + +::: + +:::info + +Payments can be made in fiat, Bitcoin, USDT (on Kusama or Polkadot) or USDC/DAI (Ethereum). Please indicate your preference in the application [as outlined in our application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md?plain=1#L7). ::: From 5d434fc1771cd2c79352fb2a69252fce9cdb10c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 21 Sep 2023 12:21:21 +0200 Subject: [PATCH 18/46] Update process.md Add Square One link --- docs/process.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/process.md b/docs/process.md index 70e5231d29d..a78f5ecad07 100644 --- a/docs/process.md +++ b/docs/process.md @@ -2,12 +2,15 @@ title: Apply --- -If you are certain you want to apply for a W3F grant, head straight to our [application process documentation](Process/how-to-apply.md). Otherwise, check out the flowchart below for a broad overview of which funding source your application might fit best. +:::tip +Check out the [Substrate Square One](https://substrate.io/ecosystem/square-one/) website for all kinds of ecosystem support opportunities. -## Funding Opportunities Overview +::: + +If you are certain you want to apply for a W3F grant, head straight to our [application process documentation](Process/how-to-apply.md). Alternatively, the flowchart below outlines where we think the grants program fits in relation to other popular funding opportunities. -For a longer list and a description of the programs listed below, check out [our page on alternative funding opportunities](funding.md). +## Funding Opportunities Overview ```mermaid flowchart LR @@ -30,3 +33,5 @@ flowchart LR click D "https://wiki.polkadot.network/docs/en/learn-treasury" "https://wiki.polkadot.network/docs/en/learn-treasury" _blank click H "https://www.substrate.io/builders-program/" "https://www.substrate.io/builders-program" _blank ``` + +For a longer list and a description of the programs listed below, check out the [Substrate Square One](https://substrate.io/ecosystem/square-one/) website and [our page on alternative funding opportunities](funding.md). From 3208999144d084d2353d594808940cc7ec69feb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 21 Sep 2023 12:26:02 +0200 Subject: [PATCH 19/46] Update funding.md Add link to Square One --- docs/funding.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/funding.md b/docs/funding.md index 60f063e8a9c..3a36c19c2b0 100644 --- a/docs/funding.md +++ b/docs/funding.md @@ -5,6 +5,12 @@ title: 🪙 Alternative Funding Some funding sources might be more and some less suitable for your project throughout its various stages. We encourage you to explore alternative funding options listed below. Please note, however, that you should not seek to fund the **same scope of work** from multiple sources and that any team found doing so will have its Web3 Foundation support terminated. +:::tip + +If you are unsure about what's the best next step for you and your project, consider reaching out to the [Substrate Square One](https://substrate.io/ecosystem/square-one/) team. + +::: + ### Treasury The treasury is a pot of on-chain funds collected through transaction fees, slashing, staking inefficiencies, etc. The funds held in the treasury can be spent on spending proposals. Both [Polkadot](https://polkadot.network/) and [Kusama](https://kusama.network/) offer everyone the opportunity to apply for funding via the treasury. See: From 7e647170fa698b46b930e7602f22314215ab049d Mon Sep 17 00:00:00 2001 From: Jacob Lee Date: Thu, 21 Sep 2023 23:02:37 +0800 Subject: [PATCH 20/46] Update Claps.md (#1988) * Update Claps.md Submit amendment with timeline extension on development roadmap * Update Claps.md Update the estimated duration (total + milestones) 1. Total Estimated Duration: 8 months (Adjusted from 4.5 months) 2. Milestone 1 - Patient Identity and Security Framework Estimated Duration: 6 months (Adjusted from 2.5 months) --- applications/Claps.md | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/applications/Claps.md b/applications/Claps.md index 35ccb460388..885da5632f0 100644 --- a/applications/Claps.md +++ b/applications/Claps.md @@ -149,15 +149,38 @@ New project ## Development Roadmap :nut_and_bolt: +### Amendment - Timeline Extension (Sep, 18 2023) + +Due to unforeseen challenges and to ensure the quality of our deliverables, we are proposing an extension to the project timeline. + +Original Estimated End Date: *End of the 4.5 months from April 2023* +Revised Estimated End Date: **December 2023** + +**Reasons for Extension:** +- *Thank you for supporting Claps Health and granting us the opportunity to bring this vision to life. Since initiating the project in April 2023 (approved by middle of March), we've faced unforeseen challenges in the Rust and Substrate Technology learning curve. While we've onboarded experienced Substrate professionals to address this, the Item 3 related to zk-proof still to be develop.* + +- *Milestone 1: Patient Identity and Security Framework +Status: Delayed due to zk-proof +Estimated Completion Date: Oct 30, 2023* +- *Milestone 2: Patient Engagement and Data Sharing +Status: Delayed due to Milestone 1 +Estimated Completion Date: Dec 30, 2023* + +**Technical Specification amendment:** +- *Patient ID creation - Develop the patient ID creation tool in Javascript. Changed to Develop the patient ID creation tool in Dart.* +- *Patient ID on-chain authentication - zkSNARKs Groth16 based on Non-Interactive Zero-Knowledge Proof (NIZKP) developed by !ink Smart Contract. Changed to Patient ID on-chain authentication - zkSNARKs Groth16 based on Non-Interactive Zero-Knowledge Proof (NIZKP) developed by xcm, runtime module or !ink smart contract.* + +We assure the committee that despite the delay, the quality and scope of the project will remain consistent with our initial proposal. + ### Overview -- **Total Estimated Duration:** 4.5 months +- **Total Estimated Duration:** 8 months (Adjusted from 4.5 months) - **Full-Time Equivalent (FTE):** 4 FTE - **Total Costs:** 30,000 USD ### Milestone 1 - Patient Identity and Security Framework -- **Estimated Duration:** 2.5 month +- **Estimated Duration:** 6 months (Adjusted from 2.5 months) - **Developers:** FTE x 4 - **(Product Design x 1, Dapp Engineer x 1, System Engineer x 1, App Engineer x 1)** - **Costs:** 20,000 USD @@ -169,16 +192,16 @@ New project | 0c. | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | | 0d. | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | | 0e. | Article | We will post an article on Twitter and Meta(Facebook) for English and Mandarin speakers communities. | -| 1 | Patient ID creation | \- Develop the patient ID creation tool in Javascript.
\- Generate a new ID on client-side for the patient based on BIP39. (12 words passphrase)
\- Encrypted key store(private key) by patient user’s password (AES-256 GCM mode)
\- Implement the decentralized design using public key cryptography. (Client signed by private key) | +| 1 | Patient ID creation | \- Develop the patient ID creation tool in Dart.
\- Generate a new ID on client-side for the patient based on BIP39. (12 words passphrase)
\- Encrypted key store(private key) by patient user’s password (AES-256 GCM mode)
\- Implement the decentralized design using public key cryptography. (Client signed by private key) | | 2 | Patient profile management module | \- Patient profile off-chain management tools developed by JAVA
\- Support AWS S3 storage
\- Updating of patient profile
\- ECIES end-to-end data encryption to secure profile data transfer. | -| 3 | Patient ID on-chain authentication | \- zkSNARKs Groth16 based on Non-Interactive Zero-Knowledge Proof (NIZKP) developed by !ink Smart Contract
\- Receive credential by trust issuer (token file)
\- Zero-knowledge proof for on-chain authentication to prove patient ID without private information | +| 3 | Patient ID on-chain authentication | \- zkSNARKs Groth16 based on Non-Interactive Zero-Knowledge Proof (NIZKP) developed by xcm or runtime module or !ink Smart Contract
\- Receive credential by trust issuer (token file)
\- Zero-knowledge proof for on-chain authentication to prove patient ID without private information | | 4 | Challenge card dapp module | Provide a way for users to set personal goals, track their progress, and receive rewards for their efforts. Dapp developed in ink! smart contract.

\- Add challenge card
\- Add personalized mission
\- Delete challenge card
\- Receive daily mission
\- Receive rewards by mission completed
\- Receive rewards by challenge completed
\- Rewards by fungible tokens | | 5 | Create database | Create a docker container to start a mySQL database to store all the information, define the models to store and create tables and indexes. | | 6 | Database encryption module | We will implement a database encryption AES-256 GCM module of all stored and transmitted data to prevent unauthorized access or tampering. Developed by JAVA. | | 7 | Android apk | We will provide android apk for above challenge card data input and functional verification
We will provide android apk for user challenge card with wallet to receive rewards | | 8 | Testing | Achieve a testing coverage of the functionalities above 90% | -### Milestone 2 - CPatient Engagement and Data Sharing +### Milestone 2 - Patient Engagement and Data Sharing - **Estimated Duration:** 2 month - **Developers:** FTE x 4 - **(Product Design x 1, Dapp Engineer x 1, System Engineer x 1, APP Engineer x 1)** From 880f3d192a8dcde8f20705f969da96fc6e47df1c Mon Sep 17 00:00:00 2001 From: Diogo <112647953+dsm-w3f@users.noreply.github.com> Date: Thu, 21 Sep 2023 12:03:00 -0300 Subject: [PATCH 21/46] Update index.md (#1989) --- applications/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/applications/index.md b/applications/index.md index cbbe1bb5818..293918b54df 100644 --- a/applications/index.md +++ b/applications/index.md @@ -133,7 +133,7 @@ Use this page for an overview of all public grants and their status. Use the sid | [Blockcoders](http://blockcoders.io/) | [Kuma Cross-chain Wallet](cross-chain-wallet.md) | [GitHub](https://github.com/blockcoders) | ☐ | ☒ | ☒ | | [OmniBTC](https://omnibtc.finance/) | [Polkadot Smart Chain](psc.md) | [GitHub](https://github.com/OmniBTC/PSC) | ☐ | ☒ | ☒ | | [ChainSafe](https://chainsafe.io/) | [Multix - a simple interface to use complex multisigs](Multix-a-simple-UI-for-complex-multisig.md) | [GitHub](https://github.com/ChainSafe) | ☐ | ☒ | ☒ | -| [Composable Finance LTD](https://www.composable.finance/) | [CosmWasm VM](CosmWasmVM-CoreProduct.md) | [GitHub](https://github.com/ComposableFi/) | ☐ | ☐ | ☐ | +| [Composable Finance LTD](https://www.composable.finance/) | [CosmWasm VM](CosmWasmVM-CoreProduct.md) | [GitHub](https://github.com/ComposableFi/) | ☐ | ☒ | ☐ | | [Asyoume inc](https://www.asyou.me) | [Dao-entrance: online collaboration tool for web3](dao-entrance-phase-1.md) | [GitHub](https://github.com/DAO-entrance) | ☒ | ☒ | ☐ | | [Talentica Software](https://www.talentica.com/) | [ink!/pallet/solidity performance benchmarking](ink-pallet-benchmarking.md) | [GitHub](https://github.com/Nikhil-Desai-Talentica) | ☐ | ☒ | ☒ | | [Societal Labs Ltd.](https://www.sctl.xyz/) | [Societal - MVP - Phase 2](./societal_grant2.md) | [GitHub](https://github.com/sctllabs) | ☐ | ☒ | ☒ | @@ -149,8 +149,8 @@ Use this page for an overview of all public grants and their status. Use the sid | [Off-Narrative Labs](https://github.com/Off-Narrative-Labs) | [Tuxedo](tuxedo.md) | [GitHub](https://github.com/JoshOrndorff) | ☐ | ☒ | ☒ | | [FuzzLand](https://fuzz.land/) | [FuzzLand](FuzzLand.md) | [GitHub](https://github.com/fuzzland) | ☐ | ☐ | ☐ | | [Fuu](https://github.com/ff13dfly/) | [Anchor, On-chain Linked List pallet and Name Service](Anchor.md) | [GitHub](https://github.com/ff13dfly/Anchor) | ☐ | ☒ | ☒ | -| [hack-ink](https://hack.ink/) | [Slothunter](slothunter.md) | [GitHub](https://github.com/hack-ink) | ☐ | ☒ | ☐ | -| [Invers Inc](https://invers.tech/) | [Zkwasm Rollups Transfer](zkwasm-rollups-transfer.md) | [GitHub](https://github.com/zero-network) | ☐ | ☐ | ☐ | +| [hack-ink](https://hack.ink/) | [Slothunter](slothunter.md) | [GitHub](https://github.com/hack-ink) | ☐ | ☒ | ☒ | +| [Invers Inc](https://invers.tech/) | [Zkwasm Rollups Transfer](zkwasm-rollups-transfer.md) | [GitHub](https://github.com/zero-network) | ☐ | ☒ | ☐ | | [decentraDOT](https://decentradot.com/) | [Cyclops Validator Dashboard](cyclops.md) | [GitHub](https://github.com/ArthurHoeke?tab=repositories) | ☐ | ☒ | ☒ | | [Anwesh Nayak](https://github.com/muddlebee) | [Mempool Dashboard - Version 2](polkadot-mempool-explorer-v2.md) | [GitHub](https://github.com/muddlebee) | ☐ | ☐ | ☐ | | [Tellor Inc](https://tellor.io/) | [Tellor Oracle Protocol](Tellor.md) | [GitHub](https://github.com/tellor-io/) | ☐ | ☒ | ☐ | From 8cca484f56c415df0d54da5971acf97f1eac5e59 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Thu, 21 Sep 2023 14:27:28 -0400 Subject: [PATCH 22/46] Update verida_network.md (#1990) --- applications/verida_network.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/verida_network.md b/applications/verida_network.md index 289b8b83b0a..78828d57795 100644 --- a/applications/verida_network.md +++ b/applications/verida_network.md @@ -3,6 +3,7 @@ - **Team Name:** Verida PTE LTD - **Payment Address:** 0x1596525C44f68b45CDd53db49b03A390e2687331 (USDC) - **Level:** 2 +- **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/887#issuecomment-1719349723) ## Project Overview :page_facing_up: From b560d6c9760cf1064afb8dbedb6fc45d84fb9a50 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Thu, 21 Sep 2023 14:43:21 -0400 Subject: [PATCH 23/46] Update wasmedge_substrate.md (#1991) --- applications/wasmedge_substrate.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/wasmedge_substrate.md b/applications/wasmedge_substrate.md index 12a3c89d54c..b464bb6cffa 100644 --- a/applications/wasmedge_substrate.md +++ b/applications/wasmedge_substrate.md @@ -3,6 +3,7 @@ - **Team Name:** Second State - **Payment Address:** 0xf212a28a62d01549c323a5feac7bbc8534064c41 (Ethereum USDT) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 +- **Status:** [Terminated](https://github.com/w3f/Grants-Program/pull/862#issuecomment-1730100588) ## Project Overview :page_facing_up: From c532482e3e56518af163e242d0de590d5714d254 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 21 Sep 2023 22:31:55 +0200 Subject: [PATCH 24/46] Update RFPs (#1993) --- .../Open/anti-collusion_infrastructure.md | 5 ++- docs/RFPs/Open/xcm-tool.md | 6 ++-- .../Under Development/data_analysis_tools.md | 2 +- .../polkadot-protocol_conformance_tests.md | 34 +++++++++---------- docs/rfps.md | 12 +++---- 5 files changed, 29 insertions(+), 30 deletions(-) rename docs/RFPs/{Open => Under Development}/polkadot-protocol_conformance_tests.md (74%) diff --git a/docs/RFPs/Open/anti-collusion_infrastructure.md b/docs/RFPs/Open/anti-collusion_infrastructure.md index 01e8fca5e3d..7c202fdfa3f 100644 --- a/docs/RFPs/Open/anti-collusion_infrastructure.md +++ b/docs/RFPs/Open/anti-collusion_infrastructure.md @@ -22,5 +22,8 @@ The milestones below are just an initial draft. The milestones can be structured | 1. | Anti-collusion | Implement a mechanism to prevent bribery and collusion, leveraging encrypting votes (ZKPs) potentially via [Minimum Anti-Collusion Infrastructure (MACI)](https://ethresear.ch/t/minimal-anti-collusion-infrastructure/5413) | | 2. | Voting Example | Integrate a basic voting example that lets you test the mechanism | +### Previous grant applications - +- [Maki](https://github.com/w3f/Grants-Program/pull/1144) +- [pallet-maci](https://github.com/w3f/Grants-Program/pull/232) +- [Infimum](https://github.com/w3f/Grants-Program/pull/1948) diff --git a/docs/RFPs/Open/xcm-tool.md b/docs/RFPs/Open/xcm-tool.md index 252516cbede..d328524adfc 100644 --- a/docs/RFPs/Open/xcm-tool.md +++ b/docs/RFPs/Open/xcm-tool.md @@ -6,12 +6,12 @@ ## Project Description :page_facing_up: -XCM is the crosschain communication standard that will be used by all the parachains. Currently XCM is still in early stage but is already support some main usecases such as crosschain transfer of fungible tokens. +XCM is the crosschain communication standard that will be used by all the parachains. Currently XCM is still in an early stage, but already supports some main usecases such as crosschain transfer of fungible tokens. There are currently two major areas of XCM that are still awaiting to be improved: - Extend & improve [xcm-format](https://github.com/paritytech/xcm-format) to support more use cases - - We have few issues & PRs so we are on track on getting this done but of couse more helps as always welcome + - We have few issues & PRs so we are on track on getting this done, but of couse more help is as always welcome - Implement library & tools to ease the development of XCM related code - [xtokens](https://github.com/w3f/Open-Grants-Program/blob/master/applications/xtokens.md) handles the fungible asset implementations, and we also need a similar one for NFTs - We need some tool to allow developers to test XCM related code: https://github.com/paritytech/polkadot/issues/2544 @@ -21,4 +21,4 @@ The scope of the new project count be one of: - Develop tools to help developers to test XCM-related code - Develop pallets or utility libraries to better handle the async nature of XCM communication -- Develop a pallet to handle crosschain transfers of NFTs +- Develop a pallet to handle crosschain transfers of NFTs ([relevant discussion](https://github.com/paritytech/xcm-format/pull/35)https://github.com/paritytech/xcm-format/pull/35) diff --git a/docs/RFPs/Under Development/data_analysis_tools.md b/docs/RFPs/Under Development/data_analysis_tools.md index 67ba67103d1..656dd6b0ba4 100644 --- a/docs/RFPs/Under Development/data_analysis_tools.md +++ b/docs/RFPs/Under Development/data_analysis_tools.md @@ -1,6 +1,6 @@ # Data Analysis Tools for Substrate-based Blockchains -- **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/pull/1716), [Under Development 2](https://github.com/w3f/Grants-Program/pull/1768) +- **Status:** [Under Development 1](https://github.com/w3f/Grants-Program/pull/1716), [Under Development 2](https://github.com/w3f/Grants-Program/pull/1768), [Under Development 3](https://github.com/w3f/Grants-Program/pull/1883) - **Proposer:** [dsm-w3f](https://github.com/dsm-w3f), [michalisFr](https://github.com/michalisFr) ## Project Description :page_facing_up: diff --git a/docs/RFPs/Open/polkadot-protocol_conformance_tests.md b/docs/RFPs/Under Development/polkadot-protocol_conformance_tests.md similarity index 74% rename from docs/RFPs/Open/polkadot-protocol_conformance_tests.md rename to docs/RFPs/Under Development/polkadot-protocol_conformance_tests.md index 2852771e682..a262adbda0e 100644 --- a/docs/RFPs/Open/polkadot-protocol_conformance_tests.md +++ b/docs/RFPs/Under Development/polkadot-protocol_conformance_tests.md @@ -1,6 +1,6 @@ # Polkadot Protocol Conformance Tests -* **Status:** Open +* **Status:** [Under Development (Zondax)](https://github.com/w3f/Grants-Program/pull/1956), [Under Development (LimeChain)](https://github.com/w3f/Grants-Program/pull/1950) * **Proposer:** [Bhargav Bhatt](https://github.com/bhargavbh), [David Hawig](https://github.com/Noc2) * **Objectives:** Create and maintain a comprehensive test-suite for conformance of core functionalities of Polkadot Host. @@ -14,23 +14,23 @@ The objectives are multifold. The test-suite can: Initially, the focus would be on unit tests with tests designed and generated at the right layer of abstraction to accommodate the existing implementations. The scope of the test-suite covers all the components/protocols described in the Specification but we would like to prioritise the following: -- Mapping the consensus attack surface and producing fuzzing targets accordingly. Indicative, non-exhaustive list of potential targets can be seen below: - - Host API: - - sequences of storage and child-storage operations - - cryptography primitives, particularly those exposed in the Host API - - trie root +- Mapping the consensus attack surface and producing fuzzing targets accordingly. An indicative, non-exhaustive list of potential targets: + - Host API + - Sequences of storage and child-storage operations + - Cryptography primitives, particularly those exposed in the Host API + - Trie root - BABE - Block import - - block validation - - next/current validators aka VRF/block lottery - - secondary slot verification + - Block validation + - Next/current validators aka VRF/block lottery + - Secondary slot verification - GRANDPA - - block import - - block validation - - justification import & validation/verification -- trie proof verification -- scale encoding and decoding, for specific message types, and randomly generated ones -- parachain candidate validation + - Block import + - Block validation + - Justification import & validation/verification +- Trie proof verification +- Scale encoding and decoding, for specific message types, and randomly generated ones +- Parachain candidate validation The goal of the initial grant should be to develop a PoC. The long-term goal should be to develop a comprehensive test suite that is funded by the on-chain treasury. @@ -39,10 +39,8 @@ The goal of the initial grant should be to develop a PoC. The long-term goal sho - [GitHub polkadot-tests](https://github.com/w3f/polkadot-tests) - [Chopsticks](https://github.com/AcalaNetwork/chopsticks) - [Zombienet](https://github.com/paritytech/zombienet) -- [try-runtime](https://docs.substrate.io/reference/command-line-tools/try-runtime/) +- [try-runtime](https://paritytech.github.io/try-runtime-cli/try_runtime/) ## Deliverables The structure of the grant and the milestones depends highly on the project itself and the goal of the initial PoC. It’s therefore up to the applying team to come up with a milestone and delivery structure. - - diff --git a/docs/rfps.md b/docs/rfps.md index 0ecc235cf3a..b56fe3a3e0e 100644 --- a/docs/rfps.md +++ b/docs/rfps.md @@ -23,29 +23,27 @@ If you find an open RFP here that you think you can address, feel free to [submi | RFP | Last Updated | | :-- | :----------: | -| [anti-collusion_infrastructure.md](RFPs/Open/anti-collusion_infrastructure.md) | 29.11.2021 | +| [anti-collusion_infrastructure.md](RFPs/Open/anti-collusion_infrastructure.md) | 21.09.2023 | | [bpf-contracts.md](RFPs/Open/bpf-contracts.md) | 06.01.2023 | | [formal_guarantees_for_grandpa.md](RFPs/Open/formal_guarantees_for_grandpa.md) | 07.10.2022 | | [ISO_20022.md](RFPs/Open/ISO_20022.md) | 31.05.2022 | | [parachain_validation_conformance_testing.md](RFPs/Open/parachain_validation_conformance_testing.md) | 18.01.2023 | -| [polkadot-protocol_conformance_tests.md](RFPs/Open/polkadot-protocol_conformance_tests.md) | 08.05.2023 | +| [polkadot-protocol_conformance_tests.md](RFPs/Open/polkadot-protocol_conformance_tests.md) | 21.09.2023 | | [sub-consensus.md](RFPs/Open/sub-consensus.md) | 23.11.2021 | | [uptane-for-substrate-design-and-scope.md](RFPs/Open/uptane-for-substrate-design-and-scope.md) | 04.03.2023 | | [user-account-access-analysis.md](RFPs/Open/user-account-access-analysis.md) | 07.01.2023 | -| [xcm-tool.md](RFPs/Open/xcm-tool.md) | 20.07.2021 | - +| [xcm-tool.md](RFPs/Open/xcm-tool.md) | 21.09.2023 | -
🟡 Under Development: One or more teams are working on this. We might be interested in additional implementations, but it’s better to double check this with the grants team. | RFP | Last Updated | | :-- | :----------: | | [alternative_polkadot_host_implementations.md](RFPs/Open/alternative_polkadot_host_implementations.md) | 02.03.2023 | | [alternative-polkadot-js-api-console.md](RFPs/Under%20Development/alternative-polkadot-js-api-console.md) | 19.05.2023 | -| [analysis-website-and-data-platform.md](RFPs/Under%20Development/analysis-website-and-data-platform.md) | 28.06.2023 | -| [data_analysis_tools.md](RFPs/Under%20Development/data_analysis_tools.md) | 28.06.2023 | +| [analysis-website-and-data-platform.md](RFPs/Under%20Development/analysis-website-and-data-platform.md) | 21.09.2023 | +| [data_analysis_tools.md](RFPs/Under%20Development/data_analysis_tools.md) | 21.09.2023 | | [decentralized-security-marketplace.md](RFPs/Under%20Development/decentralized-security-marketplace.md) | 02.06.2023 | | [grant_management_webapp.md](RFPs/Under%20Development/grant_management_webapp.md) | 06.06.2023 | | [identity-directory.md](RFPs/Under%20Development/identity-directory.md) | 30.05.2022 | From 7e790c3f789f4d8d7d021ec8266404441da5a000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 21 Sep 2023 22:36:01 +0200 Subject: [PATCH 25/46] Update index.md --- applications/index.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/applications/index.md b/applications/index.md index 293918b54df..b4c3e3acf5a 100644 --- a/applications/index.md +++ b/applications/index.md @@ -5,12 +5,15 @@ layout: applications Use this page for an overview of all public grants and their status. Use the sidebar to navigate directly to a specific grant application document. -> **:loudspeaker:** This page provides an overview of accepted grant applications, their progress and a link to their GitHub repositories. In cases where the link points to an organization, you should be aware that the grant application itself **is often an independent project unrelated to other work done by the teams**. -> -> Furthermore, the page lists terminations which happened due to a breach of the terms of the grants programs. Additionally, teams might have decided to stop working on the grant—though not necessarily on the project itself—for various reasons, which is not reflected on this sheet. -> -> Besides, **there is a clear difference between an application being accepted and the successful delivery of the respective project**, and only teams that have successfully delivered a milestone are allowed to make public announcements on the matter or to use our [badge](https://github.com/w3f/General-Grants-Program/blob/master/grants/grant-badge-guidelines.md). The badge can also never be used as a general endorsement for a team. Violations to this policy can be reported [here](mailto:grants@web3.foundation). +:::info +This page provides an overview of accepted grant applications, their progress and a link to their GitHub repositories. In cases where the link points to an organization, you should be aware that the grant application itself **is often an independent project unrelated to other work done by the teams**. + +Furthermore, the page lists terminations which happened due to a breach of the terms of the grants programs. Additionally, teams might have decided to stop working on the grant—though not necessarily on the project itself—for various reasons, which is not reflected on this sheet. + +Besides, **there is a clear difference between an application being accepted and the successful delivery of the respective project**, and only teams that have successfully delivered a milestone are allowed to make public announcements on the matter or to use our [badge](https://github.com/w3f/General-Grants-Program/blob/master/grants/grant-badge-guidelines.md). The badge can also never be used as a general endorsement for a team. Violations to this policy can be reported [here](mailto:grants@web3.foundation). + +::: - [2023](#2023) - [🏄 Wave 19 - Q3 2023](#️-wave-19---q3-2023) From 18ec8fc393295804506e3869ecf6a0ebc13a7060 Mon Sep 17 00:00:00 2001 From: Jonathan Brown Date: Fri, 22 Sep 2023 17:10:13 +0700 Subject: [PATCH 26/46] Create hybrid2.md (#1964) * Create hybrid2.md * Update applications/hybrid2.md Co-authored-by: S E R A Y A --------- Co-authored-by: S E R A Y A --- applications/hybrid2.md | 188 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 applications/hybrid2.md diff --git a/applications/hybrid2.md b/applications/hybrid2.md new file mode 100644 index 00000000000..d74c7f2a1a9 --- /dev/null +++ b/applications/hybrid2.md @@ -0,0 +1,188 @@ +# Hybrid Indexer Follow-up + +- **Team Name:** Jonathan Brown +- **Payment Address:** 0x36a7401F269555916a0243E586234D3Bbf5A0c36 (DAI) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1 + +## Project Overview :page_facing_up: + +This application is for a follow-up grant to the original Hybrid Block Explorer grant: https://github.com/w3f/Grants-Program/pull/1582 + +### Overview + +![Hybrid Architecture](https://raw.githubusercontent.com/ethernomad/hybrid-diagram/main/hybrid.png) + +The [original grant](https://github.com/w3f/Grants-Program/blob/master/applications/hybrid.md) for the Hybrid Block Explorer involved creating a [Rust library](https://github.com/hybrid-explorer/hybrid-indexer) that can be utilized to create an event indexer for any Substrate chain. A [Rust project](https://github.com/hybrid-explorer/polkadot-indexer/) to index all Polkadot-based chains was delivered. Additionally, a rudimentary [browser dapp](https://github.com/hybrid-explorer/hybrid-dapp) was produced to provide a user interface to query the index and load event details from the chain. + +This follow-up grant application is specifically to improve the indexer component of the project. + +### Project Details + +Before the indexer can be used effectively by the Polkadot community, there are various improvements that need to be made: + +#### Indexer Improvements + +* Currently there are two indexer threads, one for indexing new finalized blocks, and one to index old blocks. This is unnecessarily complex. Combining these threads will make the codebase much simpler. + +* The indexer needs to verify that it is indexing the correct chain. If it connects to the wrong endpoint or opens the wrong database, incorrect data would be present in the index. + +* Terminal output needs to be improved with configurable levels of verbosity. Statistics need to be output in a regular time interval, not block interval. + +* Error handling needs to be improved. Currently many error conditions are silently ignored. Exiting needs to be handled gracefully. + +#### Reverse Batch Indexing + +Currently when the indexer is indexing old blocks it starts at a specified block and works forward, eventually catching up with head. When the indexer is restarted it will resume where it left off. + +Typically users are more interested in recent blocks. If a user is indexing on their own device it can take many hours or days for the batch indexer to catch up with head. + +If the user wants to index from an earlier block, they have to re-index all the already indexed blocks. + +The solution is for the batch indexer to always start indexing backwards from head and store in the database which spans of blocks have been indexed with which version of the indexer. + +The indexer currently trusts that new finalized blocks are delivered sequentially. The indexer needs to verify that no blocks have been ommitted. If a block has been omitted or the WSS connection is broken and reestablished then the batch indexing will need to restart from head. + +#### Database Improvements + +* Currently, the event parameter types that are available to be indexed are hardcoded in the indexer library. The API needs to be extended so that chain indexers can specify custom parameter types, beyond those in Substrate. + +* In addition to indexing event parameters, the indexer can also index which variants of events have occurred. This is very useful. For example, the indexer can return all balance transfers that have occurred. This index is the largest because every event that occurs is a separate database entry. Making this index optional will greatly reduce the storage space for those users who do not need it. + +* Hybrid uses the Sled database library. Tunables [cache_capacity](https://docs.rs/sled/latest/sled/struct.Config.html#method.cache_capacity) and [mode](https://docs.rs/sled/latest/sled/struct.Config.html#method.mode) should be exposed in the indexer. + +#### WS API Improvements + +* Currently, to receive status updates it is necessary to continually query the indexer. It should be possible to subscribe to status updates. + +* It should be possible to query how much disk space is used for each index. This can be implemented using the following method: [size_on_disk](https://docs.rs/sled/latest/sled/struct.Db.html#method.size_on_disk). + +* It is currently possible to subscribe to event searches. It needs to be possible to unsubscribe. + +* A Rust library needs to be written to make it easier to query Hybrid indexes from Rust programs. + +## Team :busts_in_silhouette: + +### Team members + +Jonathan Brown + +### Contact + +- **Contact Name:** Jonathan Brown +- **Contact Email:** jbrown@acuity.social +- **Website:** n/a + +### Legal Structure + +- **Registered Address:** (shared privately) +- **Registered Legal Entity:** n/a + +### Team's experience + +Jonathan Brown is the sole developer of Hybrid Indexer and dapp. + +### Team Code Repos + +- https://github.com/hybrid-explorer/hybrid-indexer +- https://github.com/hybrid-explorer/polkadot-indexer +- https://github.com/hybrid-explorer/hybrid-dapp + +- https://github.com/ethernomad + +### Team LinkedIn Profiles (if available) + +- n/a + +## Development Status :open_book: + +Work on the deliverables defined in this application has not started yet. + +## Development Roadmap :nut_and_bolt: + +### Overview + +- **Total Estimated Duration:** 12 weeks +- **Full-Time Equivalent (FTE):** 1 +- **Total Costs:** 10,000 USD + +### Milestone 1 — Indexer Improvements + +- **Estimated duration:** 3 weeks +- **FTE:** 1 +- **Costs:** 2,500 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Apache 2.0 | +| **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can specify chain identifying information and control logging verbosity. | +| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| **0d.** | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 1. | Combine head and batch indexer threads | The codebase will be simplified by combining head and batch indexing into a single thread. | +| 2. | Check correct chain | The indexer will ensure that both the chain being indexed and the existing index database have the correct chain information. | +| 3. | Improved logging | Verbosity level will be controlled by command line parameter. Statistics will be output with a regular time interval, not block interval. | +| 4. | Improved error checking | All error conditions in the codebase will be handled correctly. Exiting will be handled gracefully. | + + +### Milestone 2 — Reverse Batch Indexing + +- **Estimated duration:** 3 weeks +- **FTE:** 1 +- **Costs:** 2,500 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Apache 2.0 | +| **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can declare starting blocks for updated indexers. | +| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| **0d.** | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 1. | Index backwards | When the indexer starts it should always start indexing backwards from head. | +| 2. | Store indexed spans | The indexer should store in the database a record of which spans of blocks have been indexed with which version of the indexer and utilize this information to avoid redundantly indexing blocks multiple times. | +| 3. | Declare indexer start blocks | Each chain indexer can declare which block each version of the indexer should start from. Automatically re-index blocks after upgrading the indexer. | + +### Milestone 3 — Database Improvements + +- **Estimated duration:** 3 weeks +- **FTE:** 1 +- **Costs:** 2,500 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Apache 2.0 | +| **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can implement new indexes, omit the variant index and adjust database tunables. | +| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| **0d.** | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 1. | Support additional indexes | Chain indexers will be able to define additional index parameter types that can be indexed. | +| 2. | Variant index optional | Variant indexing will be made optional. | +| 3. | Expose cache_capacity() and mode() | These Sled database parameters will be exposed on the command line. | + +### Milestone 4 — WebSocket API Improvements + +- **Estimated duration:** 3 weeks +- **FTE:** 1 +- **Costs:** 2,500 USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Apache 2.0 | +| **0b.** | Documentation | We will provide both **inline documentation** of the code and a basic **tutorial** that explains how a user can subscribe to status updates, unsubscribe, query index storage space, and use the Hybrid Rust API. | +| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | +| **0d.** | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | +| 0e. | Article | We will publish an **article** describing the improvements to the indexer. | +| 1. | Status subscription | It will be possible to subscribe to status updates. | +| 2. | Unsubscribing | It will be possible to unsubscribe from status updates and event parameter watching. | +| 3. | Report each index size | It will be possible to get a report of how much storage space is used by each index. | +| 4. | Rust API | A Rust library will be developed to make it easier for Rust applications to query Hybrid indexes. | + +## Future Plans + +- indexing block prior to V14 metadata (block #7,229,126 on Polkadot). See [issue](https://github.com/paritytech/subxt/issues/793#issuecomment-1386902010). + +- desktop dapp - build a block explorer dapp in Rust + +- support for tokens and nfts + +- add support for ink! smart contracts with decentralized source code publishing + +- maintain Hybrid as the most decentralized Substrate block explorer + +- marketing From 924288a11d564459b2879d075f2fc6d83da6fc96 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Fri, 22 Sep 2023 12:12:50 +0200 Subject: [PATCH 27/46] Update index.md Add Hybrid Explorer --- applications/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/index.md b/applications/index.md index b4c3e3acf5a..37e10456bcc 100644 --- a/applications/index.md +++ b/applications/index.md @@ -76,6 +76,7 @@ Besides, **there is a clear difference between an application being accepted and | [Zondax AG](https://zondax.ch/) | [PoC Polkadot Conformance Tests](./polkadot_tests.md) | [GitHub](https://github.com/zondax) | ☐ | ☐ | ☐ | | [SO/DA zone](https://github.com/sodazone) | [Ocelloids XCM Transfer Monitoring Service](ocelloids_xcm_monitoring_service.md) | [GitHub](https://github.com/sodazone) | ☐ | ☐ | ☐ | | [Moonsong Labs](https://moonsonglabs.com/) | [StorageHub](./StorageHub.md) | [GitHub](https://github.com/Moonsong-Labs) | ☐ | ☐ | ☐ | +| [Jonathan Brown](https://acuity.social/) | [Hybrid Explorer Phase 2](hybrid2.md) | [GitHub](https://github.com/hybrid-explorer) | ☐ | ☐ | ☐ | [🔝](#2023) From 006b99e817965ad9922b7294fc821888c293b382 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Fri, 22 Sep 2023 16:58:27 +0200 Subject: [PATCH 28/46] Change bg color of admonitions (#1996) --- src/css/custom.css | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/css/custom.css b/src/css/custom.css index daabdbe71ba..7bff5bdfc88 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -145,4 +145,15 @@ a.navbar__item{ a:hover.navbar__item{ background-size: 0 3px, 100% 3px; +} + +/* More prominent admonitions */ +.theme-admonition-danger { + border-left: 5px solid rgb(0, 0, 0); + background-color: rgba(255, 0, 0, 0.238); +} + +.theme-admonition-info { + border-left: 5px solid rgb(0, 0, 0); + background-color: rgba(255, 255, 0, 0.238); } \ No newline at end of file From c3b2175050ca0424d68fb1c92061e629767cf304 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Fri, 22 Sep 2023 16:59:51 +0200 Subject: [PATCH 29/46] Update rfps.md Fix link --- docs/rfps.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/rfps.md b/docs/rfps.md index b56fe3a3e0e..92c4bc5f66f 100644 --- a/docs/rfps.md +++ b/docs/rfps.md @@ -40,7 +40,7 @@ If you find an open RFP here that you think you can address, feel free to [submi | RFP | Last Updated | | :-- | :----------: | -| [alternative_polkadot_host_implementations.md](RFPs/Open/alternative_polkadot_host_implementations.md) | 02.03.2023 | +| [alternative_polkadot_host_implementations.md](RFPs/Under%20Development/alternative_polkadot_host_implementations.md) | 02.03.2023 | | [alternative-polkadot-js-api-console.md](RFPs/Under%20Development/alternative-polkadot-js-api-console.md) | 19.05.2023 | | [analysis-website-and-data-platform.md](RFPs/Under%20Development/analysis-website-and-data-platform.md) | 21.09.2023 | | [data_analysis_tools.md](RFPs/Under%20Development/data_analysis_tools.md) | 21.09.2023 | From dd29552dd168da33da3e891d0128163b2da67722 Mon Sep 17 00:00:00 2001 From: Diogo <112647953+dsm-w3f@users.noreply.github.com> Date: Fri, 22 Sep 2023 15:37:49 -0300 Subject: [PATCH 30/46] Update index.md (#1998) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 37e10456bcc..422b02dd48b 100644 --- a/applications/index.md +++ b/applications/index.md @@ -63,7 +63,7 @@ Besides, **there is a clear difference between an application being accepted and | [Stake Plus Inc](https://stake.plus) | [Treasury Tracker](TreasuryTracker.md) | [GitHub](https://github.com/stake-plus) | ☐ | ☐ | ☐ | | [MOBR Systems](https://www.mobr.ai) | [Polkadot Analytics Platform](polkadot_analytics_platform.md) | [GitHub](https://github.com/mobr-ai) | ☐ | ☒ | ☐ | | [Infra3](https://network.infra-3.xyz) | [Hyperdot - Powerful data analysis and creations platform](Hyperdot.md) | [GitHub](https://github.com/Infra3-Network/hyperdot) | ☐ | ☐ | ☐ | -| [David Semakula](https://github.com/davidsemakula) | [ink! analyzer (phase 2)](ink-analyzer-phase-2.md) | [GitHub](https://github.com/ink-analyzer) | ☐ | ☐ | ☐ | +| [David Semakula](https://github.com/davidsemakula) | [ink! analyzer (phase 2)](ink-analyzer-phase-2.md) | [GitHub](https://github.com/ink-analyzer) | ☐ | ☒ | ☐ | | [Myriad Systems LTD.](https://myriad.social/) | [Myriad Social](myriad_social.md) | [GitHub](https://github.com/myriadsocial/myriad-node) | ☐ | ☐ | ☐ | | [Liisa](www.liisa.io) | [Polkadot NFT Portfolio Tracker](LiisaPortfolioTracker.md) | [GitHub](https://github.com/LiisaNFT) | ☐ | ☐ | ☐ | | [NeoPower Digital](https://neopower.digital/) | [Roloi - XCM Payment Automation](./roloi-xcm-payment-automation.md) | [GitHub](https://github.com/NeoPower-Digital) | ☐ | ☐ | ☐ | From c5e5dc20c8f11e9f7c0a298e08c9097ac856bc30 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 25 Sep 2023 09:04:58 +0200 Subject: [PATCH 31/46] Update README.md Small fixes --- README.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 2549a7dac51..e7486c5872b 100644 --- a/README.md +++ b/README.md @@ -41,14 +41,14 @@ Anyone is welcome to apply for a grant. Projects funded through our programs are Generally, your project will have better chances to be accepted if: - It presents a **well-researched** or tested concept, for which ideally you are able to show some prior work. -- You can demonstrate that the project will be **maintained** after completion of the grant, be it through an obvious commitment to the technology from your side, additional funding sources or an existing business model. +- You can demonstrate that the project will be **maintained** after completion of the grant, be it through an obvious commitment to the technology from your side, additional funding sources, or an existing business model. - Your team has **proven experience** with the relevant languages and technologies and/or a strong technical background. You will be asked to provide the GitHub profiles of your team members as part of your application, which we will examine for past activity and code quality. Naturally, you can also link to projects on other platforms. - Your application is **rich in technical details** and well-defined. - You can clearly present how your project stands out among competitors or implements technology that doesn't exist in the ecosystem yet. Additionally, it must fulfill the following requirements: -- All code produced as part of a grant must be **open-sourced**, and it must also not rely on closed-source software for full functionality. We prefer Apache 2.0, but GPLv3, MIT or Unlicense are also acceptable. +- All code produced as part of a grant must be **open-sourced**, and it must also not rely on closed-source software for full functionality. We prefer Apache 2.0, but GPLv3, MIT, or Unlicense are also acceptable. - We do not award grants for projects that have been the object of a successful token sale. - Applications must not mention a specific token. Furthermore, the focus of the application should lie on the software that is being implemented/research being carried out as part of the grant, and less on your project/venture/operation. For the purpose of the application and delivery, think about how others might also benefit from your work. - As a general rule, teams are asked to finish a grant before applying for another one. @@ -60,11 +60,11 @@ Please also heed our [Announcement Guidelines](https://github.com/w3f/Grants-Pro Finally, we take licensing and the right of all teams in and outside the ecosystem to be recognised for their work very seriously. Using others' work with no attribution or indication that this was not your own work as part of a milestone delivery **will lead to immediate termination**. Please reach out to us before submitting if you have any doubts on how to comply with a specific license and we'll be happy to help. -We also try to enforce our [code of conduct](CODE_OF_CONDUCT.md) and based on this may [block users](https://github.blog/2016-04-04-organizations-can-now-block-abusive-users/). +We also try to enforce our [code of conduct](CODE_OF_CONDUCT.md) and, based on this, may [block users](https://github.blog/2016-04-04-organizations-can-now-block-abusive-users/). ### Project Ideas -An overview of existing projects in the Web 3.0 Technology Stack along with broad project ideas we would potentially be interested in funding can be found [here](https://wiki.polkadot.network/docs/build-open-source), as well as a list of previously accepted applications [here](https://github.com/w3f/Grants-Program/blob/master/applications/index.md). +An overview of existing projects in the Web 3.0 Technology Stack, along with broad project ideas we would potentially be interested in funding, can be found [here](https://wiki.polkadot.network/docs/build-open-source), as well as a list of previously accepted applications [here](https://github.com/w3f/Grants-Program/blob/master/applications/index.md). [Requests For Proposals](https://github.com/w3f/Grants-Program/blob/master/docs/rfps.md) (RFPs) represent concrete ideas for projects that we would like to see implemented. Several teams may apply for the same RFP, so even if another team has already applied to implement a certain RFP, we invite you to do the same if you're interested. @@ -74,7 +74,7 @@ If you have a **good concept of the technical challenges** that your idea entail ### Support -The scope of our Grants Programs consists of funding and feedback on delivered milestones. This means that we do not provide hands-on support as part of a grant, but if you face specific issues during development, we will do our best and try to direct you to the correct resources. If this sounds like something you would like however, you may also want to apply to Parity's [Substrate Builders Program](https://www.substrate.io/builders-program/), which provides hands-on technical, ecosystem and strategical long-term support and access to extensive resources. You can find general documentation and more information on Substrate on the [Substrate Developer Hub](https://substrate.dev/), and we encourage you to join the [community](https://substrate.dev/en/community) in order to get help with specific issues or to stay up to date with the most recent developments. +The scope of our Grants Programs consists of funding and feedback on delivered milestones. This means that we do not provide hands-on support as part of a grant, but if you face specific issues during development, we will do our best and try to direct you to the correct resources. If this sounds like something you would like however, you may also want to apply to Parity's [Substrate Builders Program](https://www.substrate.io/builders-program/), which provides hands-on technical, ecosystem, and strategical long-term support and access to extensive resources. You can find general documentation and more information on Substrate on the [Substrate Developer Hub](https://substrate.dev/), and we encourage you to join the [community](https://substrate.dev/en/community) in order to get help with specific issues or to stay up to date with the most recent developments. For questions about the grants program itself, see our [FAQ](docs/faq.md#frequently-asked-questions). @@ -113,7 +113,7 @@ Evaluators are individuals able to evaluate the technology delivered as a result #### W3F Operations Team -The Operations Team takes care of legal documents, invoicing and remittances. +The Operations Team takes care of legal documents, invoicing, and remittances. - [Melanie Diener](https://github.com/meldien) - [Federica Dubbini](https://github.com/fededubbi) @@ -122,7 +122,7 @@ The Operations Team takes care of legal documents, invoicing and remittances. ## :level_slider: Levels -The W3F Grants Program offers different grant levels to help you best depending on your current stage. +The W3F Grants Program offers different grant levels to help you best, depending on your current stage. ### :hatching_chick: Level 1 (= InstaGrants) @@ -147,7 +147,7 @@ The W3F Grants Program offers different grant levels to help you best depending ## :pencil: Process -> **:loudspeaker:** The process below is independent of the [level](#level_slider-levels). Payment is made in fiat, Bitcoin, USDT (on the [Polkadot and Kusama Asset Hub](https://support.polkadot.network/support/solutions/articles/65000181800-what-is-statemint-and-statemine-and-how-do-i-use-them-)) or USDC/DAI (Ethereum). If you want to apply in **private**, you can apply [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. +> **:loudspeaker:** The process below is independent of the [level](#level_slider-levels). Payment is made in fiat, Bitcoin, USDT (on the [Polkadot Asset Hub](https://support.polkadot.network/support/solutions/articles/65000181800-what-is-statemint-and-statemine-and-how-do-i-use-them-)) or USDC/DAI (Ethereum). If you want to apply in **private**, you can apply [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. ### 1. Application @@ -164,8 +164,8 @@ The W3F Grants Program offers different grant levels to help you best depending 1. The [committee](#w3f-grants-committee) can (and usually does) issue comments and request changes on the pull request. 2. Clarifications and amendments made in the comments _need to be included in the application_. You may address feedback by directly modifying your application and leaving a comment once you're done. Generally, if you don't reply within 2 weeks, the application will be closed due to inactivity, but you're always free to reopen it as long as it hasn't been rejected. - 3. When all requested changes are addressed and the terms and conditions have been signed, someone will mark your application as `ready for review` and share it internally with the rest of the committee. - 4. The application will be accepted and merged as soon as it receives the required number of approvals (see [levels](#level_slider-levels)), or closed after two weeks of inactivity. Unless specified otherwise, the day on which it is accepted will be considered the starting date of the project, and will be used to estimate delivery dates. + 3. When all requested changes are addressed, and the terms and conditions have been signed, someone will mark your application as `ready for review` and share it internally with the rest of the committee. + 4. The application will be accepted and merged as soon as it receives the required number of approvals (see [levels](#level_slider-levels)) or closed after two weeks of inactivity. Unless specified otherwise, the day on which it is accepted will be considered the starting date of the project, and will be used to estimate delivery dates. ### 3. Milestone Delivery and Payment @@ -175,7 +175,7 @@ The W3F Grants Program offers different grant levels to help you best depending - Accepted grant applications can be amended at any time. However, this _necessitates a reevaluation by the committee_ and the same number of approvals as an application (according to the [levels](#level_slider-levels)). If your application has been accepted and, during development, you find that your project significantly deviates from the original specification, please open a new pull request that modifies the existing application. This also applies in case of significant delays. - If your _delivery schedule_ significantly changes, please also open a pull request with an updated timeline. -- If your deliveries are significantly delayed and we cannot get a hold of you, we will terminate the grant (3 approvals required, regardless of level. If a member of the committee creates the termination PR, only 2 more approvals are required). +- If your deliveries are significantly delayed, and we cannot get a hold of you, we will terminate the grant (3 approvals required, regardless of level. If a member of the committee creates the termination PR, only two more approvals are required). ## :mailbox_with_mail: Suggest a Project @@ -183,7 +183,7 @@ If you think that we should support the development of certain tools or projects **Submit an idea:** -If you have an idea for a project or would like to highlight an area in which you'd like to see teams build, but lack the technical background to create a detailed outline, you're welcome to open an [issue](https://github.com/w3f/Grants-Program/issues/new) or add it to the [tech stack](https://wiki.polkadot.network/docs/build-open-source) as a potentially interesting project. We will review your suggestion and, if necessary, will create an RFP based on it and reach out to teams able to build it. +If you have an idea for a project or would like to highlight an area in which you'd like to see teams build but lack the technical background to create a detailed outline, you're welcome to open an [issue](https://github.com/w3f/Grants-Program/issues/new) or add it to the [tech stack](https://wiki.polkadot.network/docs/build-open-source) as a potentially interesting project. We will review your suggestion and, if necessary, will create an RFP based on it and reach out to teams able to build it. **Submit an RFP (Request for Proposals):** @@ -222,7 +222,7 @@ Please note that: We give away 500 USD to each referral of a successful grant application by _anyone having previously worked on a Web3 Foundation grant_ or _a [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors)_. Web3 Foundation and Parity employees do not qualify for the program, even if they previously worked on a grant. -In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](applications/application-template.md)). Payment is made in Bitcoin, USDT (on Kusama or Polkadot) or USDC/DAI (Ethereum). +In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](applications/application-template.md)). Payment is made in Bitcoin, USDT (on Polkadot), or USDC/DAI (Ethereum). ## :bulb: Help @@ -311,7 +311,7 @@ The treasury is a pot of on-chain funds collected through transaction fees, slas From time to time, Web3 Foundation and/or Parity organise hackathons to promote quick prototyping of Polkadot related ideas. We highly encourage you to participate in these hackathons. Bear in mind, however, that you cannot submit the **same work** for a hackathon and the Grants Program. If you have worked or are planning to work on a project for a hackathon, your grant application should either propose a different set of features or otherwise build on top of your hackathon work. The same applies in reverse, although that will likely be less common. -The best way to find out about upcoming hackathons is by following Polkadot on the various social channels, such as Element or Twitter. +The best way to find out about upcoming hackathons is by following Polkadot on various social channels, such as Element or Twitter. ### Other Grant or Bounty Programs From 0b3e8f044e9712c9f1f826f1c5e367824acc1cbf Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 25 Sep 2023 09:07:15 +0200 Subject: [PATCH 32/46] Update pull_request_template.md small fixes --- .github/pull_request_template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 365efb7229a..825d0e78e2d 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -14,7 +14,7 @@ - [x] The [application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md) has been copied and aptly renamed (`project_name.md`). - [ ] I have read the [application guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/grant_guidelines_per_category.md). -- [ ] Payment details have been provided (bank details via email _or_ BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (USDT) address in the application). +- [ ] Payment details have been provided (bank details via email _or_ BTC, Ethereum (USDC/DAI), or Polkadot (USDT) address in the application). - [ ] The software delivered for this grant will be released under an open-source license specified in the application. - [ ] The initial PR contains only one commit (squash and force-push if needed). - [ ] The grant will only be announced once the first milestone [has been accepted](https://github.com/w3f/Grant-Milestone-Delivery#process) (see the [announcement guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/announcement-guidelines.md)). From 6fad656144755afd0fc888741e923ed15548ed53 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 25 Sep 2023 09:09:39 +0200 Subject: [PATCH 33/46] Update referral-program.md small changes --- docs/referral-program.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/referral-program.md b/docs/referral-program.md index 702aae8b2b2..71e9a535823 100644 --- a/docs/referral-program.md +++ b/docs/referral-program.md @@ -5,4 +5,4 @@ title: 💰 Referral Program We give away 500 USD to each referral of a successful grant application by _anyone having previously worked on a Web3 Foundation grant_ or _a [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors)_. Web3 Foundation and Parity employees do not qualify for the program, even if they previously worked on a grant. -In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md)). Payment is made in Bitcoin, USDT (on Kusama or Polkadot) or USDC/DAI (Ethereum). +In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md)). Payment is made in Bitcoin, USDT (Polkadot), or USDC/DAI (Ethereum). From 44e10264b537225172d2b38505e616bec318bd41 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Mon, 25 Sep 2023 09:10:44 +0200 Subject: [PATCH 34/46] Update how-to-apply.md Small changes --- docs/Process/how-to-apply.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Process/how-to-apply.md b/docs/Process/how-to-apply.md index 23e7f73261b..cd533b99870 100644 --- a/docs/Process/how-to-apply.md +++ b/docs/Process/how-to-apply.md @@ -12,7 +12,7 @@ If you want to apply in **private**, you can do so [:arrow_right: here](https:// :::info -Payments can be made in fiat, Bitcoin, USDT (on Kusama or Polkadot) or USDC/DAI (Ethereum). Please indicate your preference in the application [as outlined in our application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md?plain=1#L7). +Payments can be made in fiat, Bitcoin, USDT (Polkadot), or USDC/DAI (Ethereum). Please indicate your preference in the application [as outlined in our application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md?plain=1#L7). ::: From 7644e7f8687f7012260267901c606cc40e036593 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Mon, 25 Sep 2023 10:52:48 +0200 Subject: [PATCH 35/46] change admonition background colors (#2001) --- src/css/custom.css | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/css/custom.css b/src/css/custom.css index 7bff5bdfc88..4919a1b86a7 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -150,10 +150,20 @@ a:hover.navbar__item{ /* More prominent admonitions */ .theme-admonition-danger { border-left: 5px solid rgb(0, 0, 0); - background-color: rgba(255, 0, 0, 0.238); + background-color: rgba(255, 0, 0, 0.15); } .theme-admonition-info { border-left: 5px solid rgb(0, 0, 0); - background-color: rgba(255, 255, 0, 0.238); -} \ No newline at end of file + background-color: rgba(0, 0, 0, 0.15); +} + +.theme-admonition-caution { + border-left: 5px solid rgb(0, 0, 0); + background-color: rgba(255, 255, 0, 0.15); +} + +.theme-admonition-tip { + border-left: 5px solid rgb(0, 0, 0); + background-color: rgba(0, 255, 0, 0.15); +} From d60e2b5a94836f4c6ce3fe7449de086252c7d71e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Mon, 25 Sep 2023 11:25:51 +0200 Subject: [PATCH 36/46] Update payment options (#2000) * update-payment-options * remove empty lines on admonitions --- .github/pull_request_template.md | 2 +- README.md | 12 +- applications/application-template-research.md | 31 ++--- applications/application-template.md | 26 +++-- .../maintenance/maintenance-template.md | 2 +- docs/Process/how-to-apply.md | 6 +- docs/Support Docs/T&Cs.md | 107 +++++++++--------- .../milestone-deliverables-guidelines.md | 4 - docs/funding.md | 2 - docs/process.md | 2 - docs/referral-program.md | 2 +- 11 files changed, 100 insertions(+), 96 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 825d0e78e2d..b8eacc22228 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -14,7 +14,7 @@ - [x] The [application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md) has been copied and aptly renamed (`project_name.md`). - [ ] I have read the [application guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/grant_guidelines_per_category.md). -- [ ] Payment details have been provided (bank details via email _or_ BTC, Ethereum (USDC/DAI), or Polkadot (USDT) address in the application). +- [ ] Payment details have been provided (bank details via email _or_ Polkadot (USDC & USDT) or BTC address in the application). - [ ] The software delivered for this grant will be released under an open-source license specified in the application. - [ ] The initial PR contains only one commit (squash and force-push if needed). - [ ] The grant will only be announced once the first milestone [has been accepted](https://github.com/w3f/Grant-Milestone-Delivery#process) (see the [announcement guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/announcement-guidelines.md)). diff --git a/README.md b/README.md index e7486c5872b..2b12402c6ea 100644 --- a/README.md +++ b/README.md @@ -147,7 +147,13 @@ The W3F Grants Program offers different grant levels to help you best, depending ## :pencil: Process -> **:loudspeaker:** The process below is independent of the [level](#level_slider-levels). Payment is made in fiat, Bitcoin, USDT (on the [Polkadot Asset Hub](https://support.polkadot.network/support/solutions/articles/65000181800-what-is-statemint-and-statemine-and-how-do-i-use-them-)) or USDC/DAI (Ethereum). If you want to apply in **private**, you can apply [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. +:::tip +If you want to apply in **private**, you can do so [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. +::: + +:::info +Payments can be made in USDT and USDC on the Polkadot [AssetHub](https://wiki.polkadot.network/docs/learn-assets), Bitcoin and fiat (USD, EUR, CHF). Please indicate your preference in the application [as outlined in our application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md?plain=1#L7). +::: ### 1. Application @@ -222,7 +228,7 @@ Please note that: We give away 500 USD to each referral of a successful grant application by _anyone having previously worked on a Web3 Foundation grant_ or _a [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors)_. Web3 Foundation and Parity employees do not qualify for the program, even if they previously worked on a grant. -In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](applications/application-template.md)). Payment is made in Bitcoin, USDT (on Polkadot), or USDC/DAI (Ethereum). +In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](applications/application-template.md)). Payment is made in Bitcoin or USDT/USDC on Polkadot AssetHub. ## :bulb: Help @@ -318,7 +324,7 @@ The best way to find out about upcoming hackathons is by following Polkadot on v Below is a list of other grant and bounty programs in the Polkadot/Substrate ecosystem: - [Acala Grants Program](https://acala.network/ecosystem-program) -- [Aleph Zero Funding Program](https://alephzero.org/ecosystem-funding-program) +- [Aleph Zero Funding Program](https://alephzero.org/ecosystem-funding-program) - [Astar / Shiden Network Builders Program](https://github.com/PlasmNetwork/Builders-Program) - [Crust Grants Program](https://github.com/crustio/Crust-Grants-Program) - [Darwinia Grants Program](https://github.com/darwinia-network/collaboration/blob/master/grant/README.md#grant-program) diff --git a/applications/application-template-research.md b/applications/application-template-research.md index f191321f29f..21591ec65c0 100644 --- a/applications/application-template-research.md +++ b/applications/application-template-research.md @@ -1,13 +1,15 @@ # Name of your Research Project1 -> This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines (except for the title)! Lines starting with a `>` (such as this one) should be removed. Please use markdown instead of HTML (e.g. `![](image.png)` instead of ``). +> This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines (except for the title)! Lines starting with a `>` (such as this one) should be removed. Please use markdown instead of HTML (e.g. `![](image.png)` instead of ``). > > See the [Grants Program Process](https://github.com/w3f/Grants-Program/#pencil-process) on how to submit a proposal. -- **Team Name:** Legal name of your team (e.g. Duo) -- **Payment Address:** In the case of fiat payment, please share your bank account privately with grants@web3.foundation via your contact email (see below) and enter the date when you shared the information with us (e.g. Fiat 24.12.1971, 11:59) here. Otherwise, provide the BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (USDT) payment address. Please also specify the currency. (e.g. 0x8920... (DAI)) + +- **Team Name:** Legal name of your team (e.g. JsonCorp) +- **Payment Address:** In the case of fiat payment, please share your bank account privately with grants@web3.foundation via your contact email (see below) and enter the date when you shared the information with us (e.g. Fiat 24.12.1971, 11:59) here. Otherwise, provide the Polkadot ( for USDC & USDT) or Bitcoin payment address. Please also specify the currency. (e.g. 0x8920... (USDC)) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1, 2 or 3 > :exclamation: *The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe.* +> ## Project Overview :page_facing_up: If this application is in response to an RFP, please indicate this on the first line of this section. @@ -22,24 +24,25 @@ Please provide the following: - A brief description of your project. - An indication of how your project relates to / integrates into Substrate / Polkadot / Kusama. - An indication of why your team is interested in creating this project. -- An indication if your project is academic research, i.e., intended to be published in an academic peer-reviewed venue, or a technical one, to be published as a technical report on the internet. +- An indication if your project is academic research, i.e., intended to be published in an academic peer-reviewed venue, or a technical one, to be published as a technical report on the internet. ### Project Details We expect the teams to already have a solid idea about your project's expected final state. Therefore, we ask the teams to submit (where relevant): -- The problem(s) that you want to investigate, and why these are important. +- The problem(s) that you want to investigate, and why these are important. - Research questions/hypothesis. -- The methodology that will be applied. +- The methodology that will be applied. - The data collection and analysis procedures. - The expected results and how they would be double-checked by the grants team (reproducibility of the data analysis). - Relevant related work. -- Intended venue for results publication and the timeline for publication. -- What your project is _not_ or will _not_ provide or implement +- Intended venue for results publication and the timeline for publication. +- What your project is *not* or will *not* provide or implement - This is a place for you to manage expectations and clarify any limitations that might not be obvious Things that shouldn’t be part of the application (see also our [FAQ](../docs/faq.md)): -- The (future) tokenomics of your project + +- The (future) tokenomics of your project - Business-oriented activities (marketing, business planning), events or outreach ### Ecosystem Fit @@ -93,6 +96,7 @@ Please also provide the GitHub accounts of all team members. If they contain no - https://www.linkedin.com/ ### Google Scholar Profiles (Or other research indexer profile, ex. Researchgate) + - https://scholar.google.com/citations?user= - https://scholar.google.com/citations?user= @@ -107,11 +111,11 @@ If you've already started working on your project or it is part of a larger proj ## Development Roadmap :nut_and_bolt: -This section should break the research development roadmap down into milestones and deliverables. To assist you in defining it, we have created a document with examples for some grant categories, including research [here](../docs/Support%20Docs/grant_guidelines_per_category.md). Since these will be part of the agreement, it helps to describe _the deliverable we should expect in as much detail as possible_, plus how we can verify that deliverable. Whenever milestones are delivered, we refer to this document to ensure that everything has been delivered as expected. +This section should break the research development roadmap down into milestones and deliverables. To assist you in defining it, we have created a document with examples for some grant categories, including research [here](../docs/Support%20Docs/grant_guidelines_per_category.md). Since these will be part of the agreement, it helps to describe *the deliverable we should expect in as much detail as possible*, plus how we can verify that deliverable. Whenever milestones are delivered, we refer to this document to ensure that everything has been delivered as expected. -Below we provide an **example roadmap**. In the descriptions, it should be clear how your project is related to Substrate, Kusama or Polkadot. We _recommend_ that teams structure their roadmap as 1 milestone ≈ 1 month. +Below we provide an **example roadmap**. In the descriptions, it should be clear how your project is related to Substrate, Kusama or Polkadot. We *recommend* that teams structure their roadmap as 1 milestone ≈ 1 month. -> :exclamation: If any of your deliverables is based on somebody else's work, make sure you cite it. If your research contains software artifacts in the same situation, make sure you work and publish _under the terms of the license_ of the respective project and that you **highlight this fact in your milestone documentation** and in the source code if applicable! **Teams that submit others' work without attributing it will be immediately terminated.** +> :exclamation: If any of your deliverables is based on somebody else's work, make sure you cite it. If your research contains software artifacts in the same situation, make sure you work and publish *under the terms of the license* of the respective project and that you **highlight this fact in your milestone documentation** and in the source code if applicable! **Teams that submit others' work without attributing it will be immediately terminated.** ### Overview @@ -155,9 +159,10 @@ Please include here - how you intend to use, enhance, promote and support your project in the short term, and - the team's long-term plans and intentions in relation to it. -## Referral Program (optional) :moneybag: +## Referral Program (optional) :moneybag: You can find more information about the program [here](../README.md#moneybag-referral-program). + - **Referrer:** Name of the Polkadot Ambassador or GitHub account of the Web3 Foundation grantee - **Payment Address:** BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (USDT) payment address. Please also specify the currency. (e.g. 0x8920... (DAI)) diff --git a/applications/application-template.md b/applications/application-template.md index bd01ca873c0..807793e767d 100644 --- a/applications/application-template.md +++ b/applications/application-template.md @@ -1,13 +1,15 @@ # Name of your Project -> This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines (except for the title)! Lines starting with a `>` (such as this one) should be removed. Please use markdown instead of HTML (e.g. `![](image.png)` instead of ``). +> This document will be part of the terms and conditions of your agreement and therefore needs to contain all the required information about the project. Don't remove any of the mandatory parts presented in bold letters or as headlines (except for the title)! Lines starting with a `>` (such as this one) should be removed. Please use markdown instead of HTML (e.g. `![](image.png)` instead of ``). > > See the [Grants Program Process](https://github.com/w3f/Grants-Program/#pencil-process) on how to submit a proposal. -- **Team Name:** Legal name of your team (e.g. Duo) -- **Payment Address:** In the case of fiat payment, please share your bank account privately with grants@web3.foundation via your contact email (see below) and enter the date when you shared the information with us (e.g. Fiat 24.12.1971, 11:59) here. Otherwise, provide the BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (USDT) payment address. Please also specify the currency. (e.g. 0x8920... (DAI)) + +- **Team Name:** Legal name of your team (e.g. JsonCorp) +- **Payment Address:** In the case of fiat payment, please share your bank account privately with grants@web3.foundation via your contact email (see below) and enter the date when you shared the information with us (e.g. Fiat 24.12.1971, 11:59) here. Otherwise, provide the Polkadot (for USDC & USDT) or Bitcoin payment address. Please also specify the currency. (e.g. 0x8920... (USDC)) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1, 2 or 3 > :exclamation: *The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe.* + ## Project Overview :page_facing_up: If this application is in response to an RFP, please indicate this on the first line of this section. @@ -32,12 +34,13 @@ We expect the teams to already have a solid idea about your project's expected f - An overview of the technology stack to be used - Documentation of core components, protocols, architecture, etc. to be deployed - PoC/MVP or other relevant prior work or research on the topic -- What your project is _not_ or will _not_ provide or implement +- What your project is *not* or will *not* provide or implement - This is a place for you to manage expectations and to clarify any limitations that might not be obvious Things that shouldn’t be part of the application (see also our [FAQ](../docs/faq.md)): -- The (future) tokenomics of your project + +- The (future) tokenomics of your project - For non-infrastructure projects—deployment and hosting costs, maintenance or audits - Business-oriented activities (marketing, business planning), events or outreach @@ -72,7 +75,7 @@ Help us locate your project in the Polkadot/Substrate/Kusama landscape and what ### Team's experience -Please describe the team's relevant experience. If your project involves development work, we would appreciate it if you singled out a few interesting projects or contributions made by team members in the past. +Please describe the team's relevant experience. If your project involves development work, we would appreciate it if you singled out a few interesting projects or contributions made by team members in the past. If anyone on your team has applied for a grant at the Web3 Foundation previously, please list the name of the project and legal entity here. @@ -104,11 +107,11 @@ If you've already started implementing your project or it is part of a larger re ## Development Roadmap :nut_and_bolt: -This section should break the development roadmap down into milestones and deliverables. To assist you in defining it, we have created a document with examples for some grant categories [here](../docs/Support%20Docs/grant_guidelines_per_category.md). Since these will be part of the agreement, it helps to describe _the functionality we should expect in as much detail as possible_, plus how we can verify and test that functionality. Whenever milestones are delivered, we refer to this document to ensure that everything has been delivered as expected. +This section should break the development roadmap down into milestones and deliverables. To assist you in defining it, we have created a document with examples for some grant categories [here](../docs/Support%20Docs/grant_guidelines_per_category.md). Since these will be part of the agreement, it helps to describe *the functionality we should expect in as much detail as possible*, plus how we can verify and test that functionality. Whenever milestones are delivered, we refer to this document to ensure that everything has been delivered as expected. -Below we provide an **example roadmap**. In the descriptions, it should be clear how your project is related to Substrate, Kusama or Polkadot. We _recommend_ that teams structure their roadmap as 1 milestone ≈ 1 month. +Below we provide an **example roadmap**. In the descriptions, it should be clear how your project is related to Substrate, Kusama or Polkadot. We *recommend* that teams structure their roadmap as 1 milestone ≈ 1 month. -> :exclamation: If any of your deliverables is based on somebody else's work, make sure you work and publish _under the terms of the license_ of the respective project and that you **highlight this fact in your milestone documentation** and in the source code if applicable! **Projects that submit other people's work without proper attribution will be immediately terminated.** +> :exclamation: If any of your deliverables is based on somebody else's work, make sure you work and publish *under the terms of the license* of the respective project and that you **highlight this fact in your milestone documentation** and in the source code if applicable! **Projects that submit other people's work without proper attribution will be immediately terminated.** ### Overview @@ -122,7 +125,7 @@ Below we provide an **example roadmap**. In the descriptions, it should be clear - **FTE:** 1,5 - **Costs:** 8,000 USD -> :exclamation: **The default deliverables 0a-0d below are mandatory for all milestones**, and deliverable 0e at least for the last one. +> :exclamation: **The default deliverables 0a-0d below are mandatory for all milestones**, and deliverable 0e at least for the last one. | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -155,9 +158,10 @@ Please include here - how you intend to use, enhance, promote and support your project in the short term, and - the team's long-term plans and intentions in relation to it. -## Referral Program (optional) :moneybag: +## Referral Program (optional) :moneybag: You can find more information about the program [here](../README.md#moneybag-referral-program). + - **Referrer:** Name of the Polkadot Ambassador or GitHub account of the Web3 Foundation grantee - **Payment Address:** BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (USDT) payment address. Please also specify the currency. (e.g. 0x8920... (DAI)) diff --git a/applications/maintenance/maintenance-template.md b/applications/maintenance/maintenance-template.md index c3e13f35146..aeb5ffddb07 100644 --- a/applications/maintenance/maintenance-template.md +++ b/applications/maintenance/maintenance-template.md @@ -5,7 +5,7 @@ > See the [Maintenance Grants Process](https://github.com/w3f/Grants-Program#hammer_and_wrench-maintenance-grants) on how to submit a proposal. - **Team Name:** Legal name of your team (e.g. JsonCorp) -- **Payment Address:** In the case of fiat payment, please share your bank account privately with grants@web3.foundation via your contact email (see below) and enter the date when you shared the information with us (e.g. Fiat 24.12.1971, 11:59) here. Otherwise, provide the BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (USDT) payment address. Please also specify the currency. (e.g. 0x8920... (DAI)) +- **Payment Address:** In the case of fiat payment, please share your bank account privately with grants@web3.foundation via your contact email (see below) and enter the date when you shared the information with us (e.g. Fiat 24.12.1971, 11:59) here. Otherwise, provide the Polkadot (for USDC & USDT) or Bitcoin payment address. Please also specify the currency. (e.g. 0x8920... (USDC)) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 1, 2 or 3 > ⚠️ *The combination of your GitHub account submitting the application and the payment address above will be your unique identifier during the program. Please keep them safe.* diff --git a/docs/Process/how-to-apply.md b/docs/Process/how-to-apply.md index cd533b99870..c48f43b3ab5 100644 --- a/docs/Process/how-to-apply.md +++ b/docs/Process/how-to-apply.md @@ -5,15 +5,11 @@ title: 1. Application :::tip - If you want to apply in **private**, you can do so [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. - ::: :::info - -Payments can be made in fiat, Bitcoin, USDT (Polkadot), or USDC/DAI (Ethereum). Please indicate your preference in the application [as outlined in our application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md?plain=1#L7). - +Payments can be made in USDT and USDC on the Polkadot [AssetHub](https://wiki.polkadot.network/docs/learn-assets), Bitcoin and fiat (USD, EUR, CHF). Please indicate your preference in the application [as outlined in our application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md?plain=1#L7). ::: diff --git a/docs/Support Docs/T&Cs.md b/docs/Support Docs/T&Cs.md index 69468d88c17..8ba6919da9b 100644 --- a/docs/Support Docs/T&Cs.md +++ b/docs/Support Docs/T&Cs.md @@ -37,7 +37,7 @@ The terms defined in this section whenever used in these Terms and Conditions sh "Milestones" mean any and all of the milestones specified in the final version of the application under Development Roadmap and approved by the Grants Committee in accordance with the Procedure as well as placed in the applications folder of the W3F Grants Program Repository at ; -"Polkadot" means a scalable heterogeneous multi-chain framework developed by, or the development of which has been procured by Web 3.0. that has the features described in the white paper ("Polkadot: Vision For A Heterogeneous Multi-Chain Framework -- Draft 1") or as otherwise determined by Web 3.0. in its sole discretion from time to time) and utilizes DOTs as the blockchain token native to its operation and/or functioning; +"Polkadot" means a scalable heterogeneous multi-chain framework developed by, or the development of which has been procured by Web 3.0. that has the features described in the white paper ("Polkadot: Vision For A Heterogeneous Multi-Chain Framework -- Draft 1") or as otherwise determined by Web 3.0. in its sole discretion from time to time) and utilizes DOTs as the blockchain token native to its operation and/or functioning; "Procedure" means the procedure in connection with the Web 3.0 Foundation Grants Program, as established in Section 4 below; @@ -53,19 +53,19 @@ The terms defined in this section whenever used in these Terms and Conditions sh If You are submitting an application for a Grant, You represent and warrant that: -- each of the following statements is true and accurate and all of the information You provided was and shall remain true and complete; -- If You are registering on behalf of a legal entity, such legal entity is duly organized and validly existing under the applicable laws of the jurisdiction of its organization and you are duly authorized by such legal entity to act on its behalf; -- You are of legal age to form a binding contract (at least 18 years old in most jurisdictions); -- You have the right, full power and authority to enter into these Terms and Conditions, to exercise your rights and perform your obligations under these Terms and Conditions and in doing so will not violate any other agreement to which You are a Party nor any laws; -- these Terms and Conditions constitutes a legal, valid and binding obligation on You which are enforceable against You in accordance with their terms; -- no consent, authorisation, licence or approval of or notice to any governmental authority nor your shareholders, partners, members, other record or beneficial owners or other any relevant person (as applicable) is required to authorise the execution, delivery, validity, enforceability or admissibility in evidence of the performance by You of your obligations under these Terms and Conditions; -- You are not a citizen of, or resident in or located in, or incorporated or otherwise : - 1. listed on any of the following lists (each a Sanctions List): the Consolidated United Nations Security Council Sanctions List; the Specially Designated Nationals and Blocked Persons List or the Sectoral Sanctions Identification List maintained by the US Office of Foreign Assets Control (OFAC); the Consolidated List of Persons, Groups and Entities subject to EU Financial Sanctions; the Consolidated List of Financial Sanctions Targets or List of persons subject to restrictive measures in view of Russia's actions destabilising the situation in Ukraine, maintained by the UK Treasury; the Overall List of Sanctioned Individuals, Entities and Organizations maintained by the Swiss State Secretariat for Economic Affairs (SECO); 'Ordinance lists of the Swiss Federal Council'; or any similar list maintained by, or public announcement of sanctions made by, any other Sanctions Authority (as defined below); - 2. owned or controlled by, or acting on behalf of or for the benefit of, any person on a Sanctions List; - 3. located in, resident in or incorporated under the laws of (as applicable) Syria, Iran, Cuba, Crimea or North Korea, or any other country or territory which, after the Effective Date, becomes the target of such comprehensive, country-wide or territory-wide Sanctions (as defined below) as currently apply to the aforementioned territories; or - 4. the target of any sanctions laws, regulations, embargoes or restrictive measures (Sanctions), as amended from time to time, administered, enacted or enforced by: the United Nations, the United States, the European Union or any Member State thereof, the United Kingdom, Switzerland or the respective Governmental Authorities and agencies of any of the foregoing responsible for administering, enacting or enforcing Sanctions, including without limitation, OFAC, the US Department of State, the United Kingdom Treasury or the SECO (Sanctions Authority). +- each of the following statements is true and accurate and all of the information You provided was and shall remain true and complete; +- If You are registering on behalf of a legal entity, such legal entity is duly organized and validly existing under the applicable laws of the jurisdiction of its organization and you are duly authorized by such legal entity to act on its behalf; +- You are of legal age to form a binding contract (at least 18 years old in most jurisdictions); +- You have the right, full power and authority to enter into these Terms and Conditions, to exercise your rights and perform your obligations under these Terms and Conditions and in doing so will not violate any other agreement to which You are a Party nor any laws; +- these Terms and Conditions constitutes a legal, valid and binding obligation on You which are enforceable against You in accordance with their terms; +- no consent, authorisation, licence or approval of or notice to any governmental authority nor your shareholders, partners, members, other record or beneficial owners or other any relevant person (as applicable) is required to authorise the execution, delivery, validity, enforceability or admissibility in evidence of the performance by You of your obligations under these Terms and Conditions; +- You are not a citizen of, or resident in or located in, or incorporated or otherwise : + 1. listed on any of the following lists (each a Sanctions List): the Consolidated United Nations Security Council Sanctions List; the Specially Designated Nationals and Blocked Persons List or the Sectoral Sanctions Identification List maintained by the US Office of Foreign Assets Control (OFAC); the Consolidated List of Persons, Groups and Entities subject to EU Financial Sanctions; the Consolidated List of Financial Sanctions Targets or List of persons subject to restrictive measures in view of Russia's actions destabilising the situation in Ukraine, maintained by the UK Treasury; the Overall List of Sanctioned Individuals, Entities and Organizations maintained by the Swiss State Secretariat for Economic Affairs (SECO); 'Ordinance lists of the Swiss Federal Council'; or any similar list maintained by, or public announcement of sanctions made by, any other Sanctions Authority (as defined below); + 2. owned or controlled by, or acting on behalf of or for the benefit of, any person on a Sanctions List; + 3. located in, resident in or incorporated under the laws of (as applicable) Syria, Iran, Cuba, Crimea or North Korea, or any other country or territory which, after the Effective Date, becomes the target of such comprehensive, country-wide or territory-wide Sanctions (as defined below) as currently apply to the aforementioned territories; or + 4. the target of any sanctions laws, regulations, embargoes or restrictive measures (Sanctions), as amended from time to time, administered, enacted or enforced by: the United Nations, the United States, the European Union or any Member State thereof, the United Kingdom, Switzerland or the respective Governmental Authorities and agencies of any of the foregoing responsible for administering, enacting or enforcing Sanctions, including without limitation, OFAC, the US Department of State, the United Kingdom Treasury or the SECO (Sanctions Authority). -- You will comply with any laws applicable to Your software (built based upon the Polkadot network) and not engage in any illegal activities. In particular, You will not use the Polkadot network to facilitate infringement of any third party intellectual property rights or data privacy rights. +- You will comply with any laws applicable to Your software (built based upon the Polkadot network) and not engage in any illegal activities. In particular, You will not use the Polkadot network to facilitate infringement of any third party intellectual property rights or data privacy rights. You shall indemnify and hold harmless Web 3.0 from any third party claims (including reasonable attorney's costs) raised against Web 3.0 based on an alleged infringement of the above representations and warranties. @@ -73,10 +73,10 @@ You shall indemnify and hold harmless Web 3.0 from any third party claims (inclu To apply for the Web 3.0 Foundation Grants Program, your application shall fulfill the following criteria: -- it shall be a research or software-based project, which contributes to the advancement of the Polkadot ecosystem; -- the Software shall be released under the Apache license version 2.0.; -- You must accept payment in fiat, Bitcoin, USDT (on Kusama or Polkadot) or USDC/DAI (Ethereum); -- You will need to submit the application and deliver the milestones according to the process specified below; +- it shall be a research or software-based project, which contributes to the advancement of the Polkadot ecosystem; +- the Software shall be released under the Apache license version 2.0.; +- You must accept payment in USDT or USDC/DAI on Polkadot AssetHub, fiat or BTC; +- You will need to submit the application and deliver the milestones according to the process specified below; The grants process consists of five parts, each of them described in more detail below: @@ -88,7 +88,7 @@ To apply for a grant of the Web3 Foundation Grants Program, the grantee needs to **(ii) Application review process:** -The Web 3.0 grants committee, which is specified on the [Grants-Program GitHub repository ](https://github.com/w3f/Grants-Program)(the "Grants Committee"), can issue comments and request changes on the grant application pull request (the submission of the grant application on GitHub). As soon enough members of the Grants Committee approve the pull request, the terms and conditions are signed off and all requested changes are addressed, the application is officially accepted. The application is now a part of the [W3F Grants-Program GitHub repository](https://github.com/w3f/Grants-Program). The time point of the acceptance by the Grants Committee is hereby stored on GitHub and counts as the official beginning of the grant. The original submission is stored with a unique commit hash (identifier) and can not be altered by any party. The final version approved by the Grants Committee of the Specifications, the Time Schedule and Milestones will be placed in the applications folder of the W3F Grants Program Repository at via the merge function of GitHub. +The Web 3.0 grants committee, which is specified on the [Grants-Program GitHub repository](https://github.com/w3f/Grants-Program)(the "Grants Committee"), can issue comments and request changes on the grant application pull request (the submission of the grant application on GitHub). As soon enough members of the Grants Committee approve the pull request, the terms and conditions are signed off and all requested changes are addressed, the application is officially accepted. The application is now a part of the [W3F Grants-Program GitHub repository](https://github.com/w3f/Grants-Program). The time point of the acceptance by the Grants Committee is hereby stored on GitHub and counts as the official beginning of the grant. The original submission is stored with a unique commit hash (identifier) and can not be altered by any party. The final version approved by the Grants Committee of the Specifications, the Time Schedule and Milestones will be placed in the applications folder of the W3F Grants Program Repository at via the merge function of GitHub. **(iii) Milestone delivery process:** @@ -96,7 +96,7 @@ To submit one of the possible multiple milestones specified in the application, **(iv) Milestone review process:** -The Grants Evaluators, who are specified on the [Grants-Program GitHub repository](https://github.com/w3f/Grants-Program), can issue comments and request changes on the milestone delivery pull request. +The Grants Evaluators, who are specified on the [Grants-Program GitHub repository](https://github.com/w3f/Grants-Program), can issue comments and request changes on the milestone delivery pull request. a) Purpose and object of the milestone review process @@ -123,40 +123,41 @@ As soon as one evaluator approves the pull request, the delivery is officially a **(v) Payment process:** -The Operations Team specified in the [Grants-Program GitHub repository](https://github.com/w3f/Grants-Program), gets notified once the above-specified delivery was accepted. As soon as any feedback is provided by the evaluators, this feedback first needs to be resolved. After this, the Operations Team makes the payment to the Bitcoin, USDT (on Kusama or Polkadot) or USDC/DAI (Ethereum) address specified in the initial application. +The Operations Team specified in the [Grants-Program GitHub repository](https://github.com/w3f/Grants-Program), gets notified once the above-specified delivery was accepted. As soon as any feedback is provided by the evaluators, this feedback first needs to be resolved. After this, the Operations Team makes the payment to the bank account, Bitcoin or Polkadot AssetHub (for USDT and USDC) address specified in the initial application. + ## 5. Scope of these Terms and Conditions The subject matter of these Terms and Conditions is (i) the development of the Software by You in accordance with the Specifications, Milestones and Time Schedule, as well as any related activities (including any development activities undertaken before the Effective Date in relation to the Software) (collectively referred to as "Development Work") in accordance with the terms of these Terms and Conditions. -In performing your obligations under these Terms and Conditions, You shall: +In performing your obligations under these Terms and Conditions, You shall: -1. use reasonable skill and care; -2. comply with any date or time specified according to the Time Schedule; -3. perform your obligations in accordance with good industry practice, being practices in relation to the development of software and related deliverables the same as or similar to the Software that are usually followed by other suppliers in the same industry, including adherence to industry codes of practice and industry standards in relation to such products and services; -4. perform your obligations in accordance with all laws and codes of conducts applicable; -5. ensure that your development team consists of a sufficient number of appropriately skilled and experienced individuals -6. develop the Software as an open source software under the Apache license version 2.0. +1. use reasonable skill and care; +2. comply with any date or time specified according to the Time Schedule; +3. perform your obligations in accordance with good industry practice, being practices in relation to the development of software and related deliverables the same as or similar to the Software that are usually followed by other suppliers in the same industry, including adherence to industry codes of practice and industry standards in relation to such products and services; +4. perform your obligations in accordance with all laws and codes of conducts applicable; +5. ensure that your development team consists of a sufficient number of appropriately skilled and experienced individuals +6. develop the Software as an open source software under the Apache license version 2.0. -Unless expressly agreed otherwise in writing by the Foundation, the Grantee shall not subcontract, even partially, the development of the project/deliverable to any third party. If the project/deliverable, in whole or in part, is subcontracted to a third party without the consent of the Foundation, the Foundation is entitled to immediately terminate the Grant Agreement and to recover the grant amount already disbursed. +Unless expressly agreed otherwise in writing by the Foundation, the Grantee shall not subcontract, even partially, the development of the project/deliverable to any third party. If the project/deliverable, in whole or in part, is subcontracted to a third party without the consent of the Foundation, the Foundation is entitled to immediately terminate the Grant Agreement and to recover the grant amount already disbursed. The Parties acknowledge and agree that the requirements set out in the Milestones may only be varied or amended by submitting another pull request and the following reevaluation by the committee under the same conditions as the initial application review process specified above. ## 6. Obligations of User -1. You shall deliver the Software, as well as all related deliverables, including but not limited to the source code, to Web 3.0 free of defects, fully compliant with the Specifications and in accordance with the Time Schedule. +1. You shall deliver the Software, as well as all related deliverables, including but not limited to the source code, to Web 3.0 free of defects, fully compliant with the Specifications and in accordance with the Time Schedule. -2. Web 3.0 shall be in the position to further developing, re-engineering and using the delivered Software without any technical or other limitations. +2. Web 3.0 shall be in the position to further developing, re-engineering and using the delivered Software without any technical or other limitations. -3. You shall bear all costs and expenses incurred in connection with the Development Work. +3. You shall bear all costs and expenses incurred in connection with the Development Work. -4. You shall remain positive towards the Foundation, the Foundation representatives and its goals, plans and projects. You shall advocate for the Foundation's projects' and sub-projects' aims during the term of the Agreement. +4. You shall remain positive towards the Foundation, the Foundation representatives and its goals, plans and projects. You shall advocate for the Foundation's projects' and sub-projects' aims during the term of the Agreement. -5. You shall, at all times during the term of the Agreement refrain from making, causing to be made, publishing, ratifying, endorsing, re-publishing or promulgating any and all disparaging remarks or derogatory, false, negative, critical, vilifying or otherwise detrimental statements or comments, whether implied or expressed, made in any format to any party or entity with respect to the Foundation, its officers, directors, employees, council members, advisors or otherwise affiliated individuals, entities and projects, including, but not limited to negative statements pertaining to: - 1. any management style, methods of doing business, quality of products and services, the business affairs, operation, financial condition and standing in the community; and - 2. any treatment of its officers, directors, employees, council members, advisors or otherwise affiliated individuals and any circumstances surrounding any such employment and/or separation of employment from the Foundation or advisory relationships. +5. You shall, at all times during the term of the Agreement refrain from making, causing to be made, publishing, ratifying, endorsing, re-publishing or promulgating any and all disparaging remarks or derogatory, false, negative, critical, vilifying or otherwise detrimental statements or comments, whether implied or expressed, made in any format to any party or entity with respect to the Foundation, its officers, directors, employees, council members, advisors or otherwise affiliated individuals, entities and projects, including, but not limited to negative statements pertaining to: + 1. any management style, methods of doing business, quality of products and services, the business affairs, operation, financial condition and standing in the community; and + 2. any treatment of its officers, directors, employees, council members, advisors or otherwise affiliated individuals and any circumstances surrounding any such employment and/or separation of employment from the Foundation or advisory relationships. -6. You agree to forbear from making any public or non-confidential statement with respect to any claim or complaint against the Foundation without having obtained the Foundation’s prior written consent. +6. You agree to forbear from making any public or non-confidential statement with respect to any claim or complaint against the Foundation without having obtained the Foundation’s prior written consent. 7. You agree that during the term of this agreement together with the Schedules (or any of each SOW), including extensions or modifications thereto, and for a period of nine (9) months thereafter, neither Grantee nor the Foundation will recruit, directly or indirectly hire, solicit or employ, engage as an independent contractor, any employee or independent contractor of either party, or any employee or independent contractor of any of the other subcontractors, who are involved in the development, use, or provision of the Services, without the prior written approval of the party whose employee or independent contractor is being considered for employment or engagement as an independent contractor, except as otherwise required by law. If one of the parties breaches this section, this party shall pay forty thousand dollars ($40,000.00) for each person hired as liquidated damages. The parties agree that quantifying losses arising from breach of this section is inherently difficult and stipulate that the agreed upon sum is not a penalty, but rather a reasonable measure of damages, based upon the parties’ experience in the software development industry and given the nature of the losses that may result from such breach. @@ -188,7 +189,7 @@ You hereby warrant that: (c) there are no licenses or rights current in effect in favor of any third party to use the Software and the related deliverables which would impair the rights granted to Web 3.0. as provided for under these Terms and Conditions; and -(d) You have disclosed all previous involvement of any team member in the Web 3.0 grant process, including, but not limited to: Closed, Rejected, Accepted, Delivered and Pending grant applications. +(d) You have disclosed all previous involvement of any team member in the Web 3.0 grant process, including, but not limited to: Closed, Rejected, Accepted, Delivered and Pending grant applications. (e) there is no pending or threatened claim, action, suit, investigation or proceeding of any kind challenging, alleging or asserting that the Software and the related deliverables were improperly or invalidly granted or are otherwise not protected as Intellectual Property Rights. @@ -202,7 +203,7 @@ You further warrant that the Software and the related deliverables: Your liability for a single loss event shall be limited to the aggregate total of all sums paid by Web 3.0. to You under these Terms and Conditions. Nevertheless, You shall not be held liable for indirect, special, punitive, exemplary, incidental or consequential damages or losses arising out of these Terms and Conditions. -Furthermore, You shall hold Web 3.0. as well as its sublicensees harmless against any and all liability and damages for the infringement of Intellectual Property Rights of third parties, insofar as the infringement of such third party rights was caused by the intended use of the Software according to the Specifications. Web 3.0. shall immediately inform You in writing of any third party claims asserted and authorize You to conduct the defense, including the conclusion of a settlement, entirely at its own costs. In this respect, You shall use best efforts to provide Web 3.0. with the right to continue, or let continuing, using the Software or replace or modify the Software without deterioration or limitations of the functions and criteria agreed in the Specifications and without any additional costs. Should none of these measures be possible, Web 3.0. shall be entitled to withdraw from these Terms and Conditions and request the reimbursement of the Grant. +Furthermore, You shall hold Web 3.0. as well as its sublicensees harmless against any and all liability and damages for the infringement of Intellectual Property Rights of third parties, insofar as the infringement of such third party rights was caused by the intended use of the Software according to the Specifications. Web 3.0. shall immediately inform You in writing of any third party claims asserted and authorize You to conduct the defense, including the conclusion of a settlement, entirely at its own costs. In this respect, You shall use best efforts to provide Web 3.0. with the right to continue, or let continuing, using the Software or replace or modify the Software without deterioration or limitations of the functions and criteria agreed in the Specifications and without any additional costs. Should none of these measures be possible, Web 3.0. shall be entitled to withdraw from these Terms and Conditions and request the reimbursement of the Grant. If You or Web 3.0. delegates the performance of an obligation or the exercise of a right under these Terms and Conditions to an associate, they are liable to the other Party for any loss or damage the associate causes intentionally or negligently in carrying out such tasks. @@ -244,8 +245,8 @@ The headings used herein are inserted only as a matter of convenience and for re ## 13. Referral Program -If you were referred to the Web 3.0 Foundation Grants Program by a person who is either a Polkadot Ambassador or, in any case, a person considered by Web 3.0 as being active in the Polkadot Ecosystem (a “Valid Referee”), upon signature of this Terms and Conditions you could indicate to Web 3.0 the name of this Valid Referee, provided that he/she gave you his/her consent to share his/her identity with Web 3.0. Web 3.0, as part of its grant referral program, will grant to the Valid Referee a referral bonus of the amount at that time allocated as bonus under such program. -For the avoidance of any doubt, Web 3.0 reserves the right to decide - at its complete discretion - if an individual is (and/or continues to be) a Valid Referee, and only in this case the referee will be entitled to receive the referral bonus. +If you were referred to the Web 3.0 Foundation Grants Program by a person who is either a Polkadot Ambassador or, in any case, a person considered by Web 3.0 as being active in the Polkadot Ecosystem (a “Valid Referee”), upon signature of this Terms and Conditions you could indicate to Web 3.0 the name of this Valid Referee, provided that he/she gave you his/her consent to share his/her identity with Web 3.0. Web 3.0, as part of its grant referral program, will grant to the Valid Referee a referral bonus of the amount at that time allocated as bonus under such program. +For the avoidance of any doubt, Web 3.0 reserves the right to decide - at its complete discretion - if an individual is (and/or continues to be) a Valid Referee, and only in this case the referee will be entitled to receive the referral bonus. ## 14. Applicable Law and Jurisdiction @@ -266,19 +267,19 @@ HOWEVER, YOU SHALL AT ALL TIMES NOTE THAT NO PARTY (NEITHER WE OR YOU), INCLUDIN You shall at all times acknowledge and agree that certain risks exist in relation to using the Polkadot network. You fully acknowledge and agree that: -- No Party, including but not limited to the Parties involved, ​owns or controls the Polkadot network. It is built by the end users themselves. -- No Party, including but not limited to the Parties involved, has any authority to approve, prevent, restrict or anyhow exercise control over any interaction that occurs through the Polkadot network. You and end users are free to build their own network and network-based applications and provide them to customers under their own terms and conditions, provided that such applications should also run and be offered in a decentralized manner (as e.g. distributed ledger technology or often referred to as "blockchain" or any future adaptations of such technologies) without central oversight. -- You shall not have any expectations over the performance, suitability for business or interoperability of the Polkadot network for Your own business purposes. -- Polkadot network source code has not passed a third party security audit and can be potentially unstable and could cause unexpected effects and system failures. You are aware of this risk and must address it within Your own privacy compliance model when establishing technical and organizational measures on data security for Your end customers. -- By using the Polkadot network You covenant, represent, and warrant that Your use of the network complies with Your jurisdiction of residence and You are fully able and legally competent to use the Polkadot network. -- In the event Your use of the Polkadot network does not comply with the applicable law of Your jurisdiction of residence, You shall be fully liable for any consequences incurred thereof and fully acknowledge and agree that ​We ​shall not be held liable for Your use of the Polkadot network -- There is a risk that advances in cryptography or technical advances (such as the development of quantum computers) could present risks to blockchain-based applications and cryptocurrencies, Ethereum or tokens which could result in the theft or loss of such elements. -- The network (as well as any network You build based upon it) is susceptible to mining attacks (including but not limited to double-spend attacks, majority mining power attacks, "selfish-mining" attacks and race condition attacks. Despite the efforts of Web 3.0, the risk of known or novel mining attacks exists. -- There are risks associated with using the network, such as e.g. failure of hardware, software and Internet connections. You acknowledge that Web 3.0 shall not be responsible for any communication failures, disruptions, errors, distortions or delays You may experience when using the network. -- network source code is provided on an "AS IS" basis, without warranties and conditions of any kind, either express or implied, including, without limitation, any warranties or conditions of title, merchantability, fitness for a particular purpose, and non-infringement, unless otherwise required by mandatory applicable law. -- The entire risk as to the quality and performance of using the network is borne by You. -- You are solely responsible for determining the appropriateness of using or redistributing the network source code and/or any Derivative Work and assume any risks associated with Your exercise of permission granted under this License. -- You are solely responsible to regularly check for any modifications and updates to the network source code published at +- No Party, including but not limited to the Parties involved, ​owns or controls the Polkadot network. It is built by the end users themselves. +- No Party, including but not limited to the Parties involved, has any authority to approve, prevent, restrict or anyhow exercise control over any interaction that occurs through the Polkadot network. You and end users are free to build their own network and network-based applications and provide them to customers under their own terms and conditions, provided that such applications should also run and be offered in a decentralized manner (as e.g. distributed ledger technology or often referred to as "blockchain" or any future adaptations of such technologies) without central oversight. +- You shall not have any expectations over the performance, suitability for business or interoperability of the Polkadot network for Your own business purposes. +- Polkadot network source code has not passed a third party security audit and can be potentially unstable and could cause unexpected effects and system failures. You are aware of this risk and must address it within Your own privacy compliance model when establishing technical and organizational measures on data security for Your end customers. +- By using the Polkadot network You covenant, represent, and warrant that Your use of the network complies with Your jurisdiction of residence and You are fully able and legally competent to use the Polkadot network. +- In the event Your use of the Polkadot network does not comply with the applicable law of Your jurisdiction of residence, You shall be fully liable for any consequences incurred thereof and fully acknowledge and agree that ​We ​shall not be held liable for Your use of the Polkadot network +- There is a risk that advances in cryptography or technical advances (such as the development of quantum computers) could present risks to blockchain-based applications and cryptocurrencies, Ethereum or tokens which could result in the theft or loss of such elements. +- The network (as well as any network You build based upon it) is susceptible to mining attacks (including but not limited to double-spend attacks, majority mining power attacks, "selfish-mining" attacks and race condition attacks. Despite the efforts of Web 3.0, the risk of known or novel mining attacks exists. +- There are risks associated with using the network, such as e.g. failure of hardware, software and Internet connections. You acknowledge that Web 3.0 shall not be responsible for any communication failures, disruptions, errors, distortions or delays You may experience when using the network. +- network source code is provided on an "AS IS" basis, without warranties and conditions of any kind, either express or implied, including, without limitation, any warranties or conditions of title, merchantability, fitness for a particular purpose, and non-infringement, unless otherwise required by mandatory applicable law. +- The entire risk as to the quality and performance of using the network is borne by You. +- You are solely responsible for determining the appropriateness of using or redistributing the network source code and/or any Derivative Work and assume any risks associated with Your exercise of permission granted under this License. +- You are solely responsible to regularly check for any modifications and updates to the network source code published at ### Intellectual property diff --git a/docs/Support Docs/milestone-deliverables-guidelines.md b/docs/Support Docs/milestone-deliverables-guidelines.md index b573c40cedd..ddda52aa2a3 100644 --- a/docs/Support Docs/milestone-deliverables-guidelines.md +++ b/docs/Support Docs/milestone-deliverables-guidelines.md @@ -29,9 +29,7 @@ Since all code developed under a grant must be open source, it is necessary to p If your delivery comprises multiple repositories, make sure to include the license in each of them. :::danger - You should also verify that the code you submit doesn't violate any other licenses, as a failure to comply with the license of reused code will result in an immediate rejection of the milestone and termination of the grant. - ::: ### Documentation @@ -95,9 +93,7 @@ Each item in the list should include a link to the deliverable itself, e.g.: - a link to a specific commit, pull request or issue in a public repository. :::tip - **Please highlight anything that deviates from the contract** and include further information that you think is relevant to the deliverable, either alongside the appropriate deliverable or under [Additional Information](#additional-information). - ::: | Number | Deliverable | Link | Notes | diff --git a/docs/funding.md b/docs/funding.md index 3a36c19c2b0..54a3977aa63 100644 --- a/docs/funding.md +++ b/docs/funding.md @@ -6,9 +6,7 @@ title: 🪙 Alternative Funding Some funding sources might be more and some less suitable for your project throughout its various stages. We encourage you to explore alternative funding options listed below. Please note, however, that you should not seek to fund the **same scope of work** from multiple sources and that any team found doing so will have its Web3 Foundation support terminated. :::tip - If you are unsure about what's the best next step for you and your project, consider reaching out to the [Substrate Square One](https://substrate.io/ecosystem/square-one/) team. - ::: ### Treasury diff --git a/docs/process.md b/docs/process.md index a78f5ecad07..828b5dfc53a 100644 --- a/docs/process.md +++ b/docs/process.md @@ -3,11 +3,9 @@ title: Apply --- :::tip - Check out the [Substrate Square One](https://substrate.io/ecosystem/square-one/) website for all kinds of ecosystem support opportunities. ::: - If you are certain you want to apply for a W3F grant, head straight to our [application process documentation](Process/how-to-apply.md). Alternatively, the flowchart below outlines where we think the grants program fits in relation to other popular funding opportunities. ## Funding Opportunities Overview diff --git a/docs/referral-program.md b/docs/referral-program.md index 71e9a535823..5bce2450643 100644 --- a/docs/referral-program.md +++ b/docs/referral-program.md @@ -5,4 +5,4 @@ title: 💰 Referral Program We give away 500 USD to each referral of a successful grant application by _anyone having previously worked on a Web3 Foundation grant_ or _a [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors)_. Web3 Foundation and Parity employees do not qualify for the program, even if they previously worked on a grant. -In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md)). Payment is made in Bitcoin, USDT (Polkadot), or USDC/DAI (Ethereum). +In order to be eligible for the referral bonus, the application itself must contain the name of the [Polkadot Ambassador](https://wiki.polkadot.network/docs/ambassadors) or the GitHub account of the grantee as well as the payment address for the referral bonus (see the [application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md)). Payment is made in Bitcoin or USDT/USDC on Polkadot AssetHub. From 5ea25cd70c0f49c709ab9043c57546842374584f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Mon, 25 Sep 2023 11:46:40 +0200 Subject: [PATCH 37/46] Update more RFPs --- .../validator-selection-algorithm.md | 2 +- .../decentralized-security-marketplace.md | 8 ++--- .../grant_management_webapp.md | 31 ++++++------------- docs/rfps.md | 26 ++++++++-------- 4 files changed, 27 insertions(+), 40 deletions(-) rename docs/RFPs/{Under Development => Closed}/validator-selection-algorithm.md (96%) diff --git a/docs/RFPs/Under Development/validator-selection-algorithm.md b/docs/RFPs/Closed/validator-selection-algorithm.md similarity index 96% rename from docs/RFPs/Under Development/validator-selection-algorithm.md rename to docs/RFPs/Closed/validator-selection-algorithm.md index 5956cce6d10..3402a8bc06a 100644 --- a/docs/RFPs/Under Development/validator-selection-algorithm.md +++ b/docs/RFPs/Closed/validator-selection-algorithm.md @@ -1,6 +1,6 @@ # RFP: Validator Selection Algorithm -* **Status:** [Implemented](https://github.com/w3f/Grants-Program/blob/master/applications/validators_selection.md) +* **Status:** [Closed](https://github.com/w3f/Grants-Program/blob/master/applications/validators_selection.md) * **Proposer:** [jonasW3F](https://github.com/jonasW3F) ## Project Description diff --git a/docs/RFPs/Under Development/decentralized-security-marketplace.md b/docs/RFPs/Under Development/decentralized-security-marketplace.md index f2dda7b7cd2..53f23905e48 100644 --- a/docs/RFPs/Under Development/decentralized-security-marketplace.md +++ b/docs/RFPs/Under Development/decentralized-security-marketplace.md @@ -5,14 +5,14 @@ ## Project Description :page_facing_up: -According to the [*Immunefi's 2022 annual report*](https://assets.ctfassets.net/t3wqy70tc3bv/1ObYJk9jzWS4ExHICslYep/e2b5cee51268e47ee164c4dffbd78ad4/Immunefi_Crypto_Losses_2022_Report.pdf), there has been a total loss of ~$3.77B because of hacks in the web3 space. To increase the protocol's security, audits and bug bounties can be a useful tool. +According to the [*Immunefi's 2022 annual report*](https://assets.ctfassets.net/t3wqy70tc3bv/1ObYJk9jzWS4ExHICslYep/e2b5cee51268e47ee164c4dffbd78ad4/Immunefi_Crypto_Losses_2022_Report.pdf), there has been a total loss of ~$3.77B because of hacks in the web3 space. To increase a protocol's security, audits and bug bounties can be a useful tool. -A **decentralized security marketplace** would allow projects to find reviewers/testers/auditors/whitehats, and vice versa. This would benefit everyone: +A **decentralized security marketplace** would allow projects to find reviewers/testers/auditors/whitehats and vice versa to pursue structured tests and audits. This would benefit everyone: - **Projects** would increase their security; - **Developers** would have the possibility to earn while using their skills, improving them; - The **ecosystem** would be more secure, with more projects being audited and more developers learning about security. -The original thought is to make it as a smart contract platform, deployable on an existing parachain (that supports WASM smart contracts, such as [Astar](https://docs.astar.network/docs/getting-started) or [Watr](https://docs.watr.org/builders/substrate-contracts)) using [ink!](https://paritytech.github.io/ink/) ([here](https://github.com/paritytech/awesome-ink) you can see some examples). +Ideally, this marketplace would be built as a smart contract platform deployable on any existing parachain (that supports WASM smart contracts, such as [Astar](https://docs.astar.network/docs/getting-started) or [Watr](https://docs.watr.org/builders/substrate-contracts)) using [ink!](https://paritytech.github.io/ink/) ([here](https://github.com/paritytech/awesome-ink) you can see some examples). **Note**: This use case can be extended/applied to other areas. The main problem to solve here is to find a way to manage the *delayed* transaction between two parties (i.e., [escrow](https://en.wikipedia.org/wiki/Escrow)), and to ensure fairness and transparency (e.g., a reviewer is not able to deliver all the reports in time, and the project's team would like to decide whether to extend the escrow duration or just to pay a lower percentage of the established bounty). @@ -25,8 +25,8 @@ To ensure fairness and transparency, the marketplace could have the following ac ## Deliverables :nut_and_bolt: - The followings could be the initial deliverables of the project. Of course, improvements and additions are more than welcome. + 1) Initial **research and design** of the protocol: - You can refer to what [Immunefi](https://immunefi.com/explore/) and [Code4rena](https://code4rena.com/) are doing (but bring that on-chain); - How to ensure the trustless interaction (e.g., projects could lock a percentage of the bounty to open the request); diff --git a/docs/RFPs/Under Development/grant_management_webapp.md b/docs/RFPs/Under Development/grant_management_webapp.md index 918d8d73d0d..7e4c23aaa21 100644 --- a/docs/RFPs/Under Development/grant_management_webapp.md +++ b/docs/RFPs/Under Development/grant_management_webapp.md @@ -10,23 +10,18 @@ Web3 Foundation manages grant applications and deliveries in two github reposito * [Grants](https://github.com/w3f/Grants-Program) * [Deliveries](https://github.com/w3f/Grant-Milestone-Delivery) -All the grant applications, approvals, deliveries and evaluations are pushed into github as PRs and documents, -so that all processes are public and transparent. - -You can find all the details about how applications and deliveries are submitted in the [Grants Program Website](https://w3f.github.io/Grants-Program/), -or by browsing the two repositories above. +All the grant applications, approvals, deliveries and evaluations are pushed into GitHub as PRs and Markdown documents, so that all processes are public and transparent. +You can find all the details about how applications and deliveries are submitted in the [Grants Program Website](https://w3f.github.io/Grants-Program/), or by browsing the two repositories above. ## Project Description :page_facing_up: The objective of this RFP is a web application that publishes all the information contained in -the W3F grants repositories in a way that facilitates easier navigation for the grants committee. Though the software would initially be used for the W3F Grants Program, any interested third parties would ideally be able to utilize the application for their own grants program. - -By providing an API, it will also allow for pulling the data in a structured way in order to make it easy to calculate statistics or track different metrics. +the W3F grants repositories in a way that facilitates easier navigation for the grants committee. Though the software would initially be used for the W3F Grants Program, any interested third parties should ideally be able to utilize the application for their own purposes. -The Web3 Foundation Grants Program is unique in that everything is openly and transparently published on GitHub. As a result of this RFP, we hope the W3F Grants Program can set an example of how other grant programs can leverage a simple yet powerful process to manage their grants. -Therefore, the web application and the structure of our repositories can be re-used by other grant programs. +By providing an API, it will also allow for pulling the data in a structured way in order to make it easy to calculate statistics, track different metrics and publish data. +The Web3 Foundation Grants Program is unique in that everything is openly and transparently published on GitHub. As a result of this RFP, we hope the W3F Grants Program can set an example of how other grant programs can leverage a simple yet powerful process to manage their grants. Therefore, the web application and the structure of our repositories should be reusable by other grant programs. ## Existing prototype @@ -34,11 +29,9 @@ A quick and dirty prototype already exists for the application: - [Backend](https://github.com/w3f/w3f_grants_backend) - [Frontend](https://github.com/w3f/w3f_grants_frontend) -These examples are just an initial experiment to test how the app could work, and are completely undocumented, -but please feel free to contact [us](grants@web3.foundation) if you need help trying them out or simply discuss. - -Also, these are just an option, and the RFP doesn't require building from these. Proposers are free to propose the framework and approach of their choice. +These examples are just an initial experiment to test how the app could work, and are completely undocumented, but please feel free to [contact us](mailto:grants@web3.foundation) if you need help trying them out or to simply discuss. +Also, using these is completely optional and the RFP doesn't require building from these. Proposers are free to propose the framework and approach of their choice. ## Deliverables :nut_and_bolt: @@ -53,8 +46,6 @@ For example: ![screenshot_grants_page](https://github.com/keeganquigley/Grants-Program/assets/1389409/0eda6f0b-071d-4d44-9835-196167479c07) - - ### Grants details - Shows the grant information @@ -66,14 +57,12 @@ For example: ![screenshot_grants_details](https://github.com/keeganquigley/Grants-Program/assets/1389409/098962a3-249f-4fa5-8c03-9d0dbc7f32eb) - ### Teams - Provide a view at the team level. - Contact information. - Grants and applications, and their current status. - ### Applications - Current grant applications. @@ -99,13 +88,11 @@ For example: - The web app should ideally separate frontend from backend logic, and publish an API to fetch the structured data. - ## Additional Notes -- The features proposed above represent an opinion on what the grant management webapp should do and look like, -but are neither exhaustive nor strict requirements. Teams are welcome to propose their own design and vision for this product. +- The features proposed above represent an _suggestion_ on what the grant management webapp should do and look like, but are neither exhaustive nor strictly required. Teams are welcome to propose their own design and vision for this product. -- Web3 Foundation's grants program should be just an example/first step. +- The Web3 Foundation's Grants Program should be just an example/first step. Ideally, the tool (combining GitHub + website) can benefit other grant programs and on-chain treasuries. - Long term goals: diff --git a/docs/rfps.md b/docs/rfps.md index 92c4bc5f66f..5348ab55b13 100644 --- a/docs/rfps.md +++ b/docs/rfps.md @@ -24,12 +24,11 @@ If you find an open RFP here that you think you can address, feel free to [submi | RFP | Last Updated | | :-- | :----------: | | [anti-collusion_infrastructure.md](RFPs/Open/anti-collusion_infrastructure.md) | 21.09.2023 | -| [bpf-contracts.md](RFPs/Open/bpf-contracts.md) | 06.01.2023 | | [formal_guarantees_for_grandpa.md](RFPs/Open/formal_guarantees_for_grandpa.md) | 07.10.2022 | -| [ISO_20022.md](RFPs/Open/ISO_20022.md) | 31.05.2022 | +| [ISO_20022.md](RFPs/Open/ISO_20022.md) | 20.09.2023 | | [parachain_validation_conformance_testing.md](RFPs/Open/parachain_validation_conformance_testing.md) | 18.01.2023 | | [polkadot-protocol_conformance_tests.md](RFPs/Open/polkadot-protocol_conformance_tests.md) | 21.09.2023 | -| [sub-consensus.md](RFPs/Open/sub-consensus.md) | 23.11.2021 | +| [sub-consensus.md](RFPs/Open/sub-consensus.md) | 23.02.2022 | | [uptane-for-substrate-design-and-scope.md](RFPs/Open/uptane-for-substrate-design-and-scope.md) | 04.03.2023 | | [user-account-access-analysis.md](RFPs/Open/user-account-access-analysis.md) | 07.01.2023 | | [xcm-tool.md](RFPs/Open/xcm-tool.md) | 21.09.2023 | @@ -44,30 +43,30 @@ If you find an open RFP here that you think you can address, feel free to [submi | [alternative-polkadot-js-api-console.md](RFPs/Under%20Development/alternative-polkadot-js-api-console.md) | 19.05.2023 | | [analysis-website-and-data-platform.md](RFPs/Under%20Development/analysis-website-and-data-platform.md) | 21.09.2023 | | [data_analysis_tools.md](RFPs/Under%20Development/data_analysis_tools.md) | 21.09.2023 | -| [decentralized-security-marketplace.md](RFPs/Under%20Development/decentralized-security-marketplace.md) | 02.06.2023 | -| [grant_management_webapp.md](RFPs/Under%20Development/grant_management_webapp.md) | 06.06.2023 | -| [identity-directory.md](RFPs/Under%20Development/identity-directory.md) | 30.05.2022 | -| [IDE_for_ink_Smart_Contracts.md](RFPs/Under%20Development/IDE_for_ink_Smart_Contracts.md) | 05.04.2023 | -| [implementation-benchmarking.md](RFPs/Under%20Development/implementation-benchmarking.md) | 06.06.2023 | -| [ink!_smart_contract_block_explorer.md](RFPs/Under%20Development/ink_smart_contract_block_explorer.md) | 05.07.2021 | -| [ISO_8583.md](RFPs/Under%20Development/ISO_8583.md) | 31.05.2022 | +| [decentralized-security-marketplace.md](RFPs/Under%20Development/decentralized-security-marketplace.md) | 25.09.2023 | +| [grant_management_webapp.md](RFPs/Under%20Development/grant_management_webapp.md) | 25.09.2023 | +| [identity-directory.md](RFPs/Under%20Development/identity-directory.md) | 20.09.2023 | +| [IDE_for_ink_Smart_Contracts.md](RFPs/Under%20Development/IDE_for_ink_Smart_Contracts.md) | 20.09.2023 | +| [implementation-benchmarking.md](RFPs/Under%20Development/implementation-benchmarking.md) | 20.09.2023 | +| [ink!_smart_contract_block_explorer.md](RFPs/Under%20Development/ink_smart_contract_block_explorer.md) | 20.09.2023 | +| [ISO_8583.md](RFPs/Under%20Development/ISO_8583.md) | 20.09.2023 | | [move_smart_contract_pallet.md](RFPs/Under%20Development/move_smart_contract_pallet.md) | 02.08.2023 | | [multi-chain-block-explorer.md](RFPs/Under%20Development/multi-chain-block-explorer.md) | 23.11.2021 | | [privacy-enhancement-polkadot-extension.md](RFPs/Under%20Development/privacy-enhancement-polkadot-extension.md) | 27.05.22 | | [raft-validators.md](RFPs/Under%20Development/raft-validators.md) | 23.05.2023 | | [scale-codec-comparator.md](RFPs/Under%20Development/scale-codec-comparator.md) | 30.05.2022 | -| [Static-Analysis-for-Runtime-Pallets.md](RFPs/Under%20Development/Static-Analysis-for-Runtime-Pallets.md) | 05.07.2023 | -| [validator-selection-algorithm.md](RFPs/Under%20Development/validator-selection-algorithm.md) | 07.12.2022 | +| [Static-Analysis-for-Runtime-Pallets.md](RFPs/Under%20Development/Static-Analysis-for-Runtime-Pallets.md) | 05.07.2023 |
-
🔴 Closed: This RFP is either closed, on hold, or no longer useful. However, if it’s implemented and not maintained, we would be interested in signing a maintenance grant. +
🔴 Closed: This RFP is either closed, on hold, or no longer useful. However, if it’s implemented and not maintained, we might be interested in signing a maintenance grant. | RFP | Last Updated | | :-- | :----------: | | [a-and-v-topology.md](RFPs/Closed/a-and-v-topology.md) | 04.09.2023 | | [appi.md](RFPs/Closed/appi.md) | 20.07.2021 | +| [bpf-contracts.md](RFPs/Open/bpf-contracts.md) | 06.01.2023 | | [candle-auction.md](RFPs/Closed/candle-auction.md) | 02.02.2022 | | [crowdloan_front_end_template.md](RFPs/Closed/crowdloan_front_end_template.md) | 25.04.2023 | | [epassport-zk-validation.md](RFPs/Closed/epassport-zk-validation.md) | 21.03.2023 | @@ -79,6 +78,7 @@ If you find an open RFP here that you think you can address, feel free to [submi | [social-recovery-wallet.md](RFPs/Closed/social-recovery-wallet.md) | 03.03.2023 | | [staking-rewards-collector-front-end.md](RFPs/Closed/staking-rewards-collector-front-end.md) | 20.07.2021 | | [uncollateralized-stablecoin-research.md](RFPs/Closed/uncollateralized-stablecoin-research.md) | 01.01.2023 | +| [validator-selection-algorithm.md](RFPs/Under%20Development/validator-selection-algorithm.md) | 25.09.2023 | | [validator-setup-maintenance.md](RFPs/Closed/validator-setup-maintenance.md) | 24.08.2023 | | [wallet-aggregator-library.md](RFPs/Closed/wallet-aggregator-library.md) | 09.03.2023 | From 9b4863cb877f11f1fcb51db9ff9561de5d99198f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Mon, 25 Sep 2023 13:23:40 +0200 Subject: [PATCH 38/46] Update index.md Fix pallet-maci termination indicator --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 422b02dd48b..a9d52880792 100644 --- a/applications/index.md +++ b/applications/index.md @@ -497,7 +497,7 @@ Besides, **there is a clear difference between an application being accepted and | [Nathan Schwermann](https://github.com/nschwermann) | [PolkaJ Android Support](./polkaj_android_support.md) | [GitHub](https://github.com/nschwermann) | ☐ | ☒ | ☐ | | [Acala](https://acala.network/) | [xtokens - XCM Implementation for Fungible Assets](./xtokens.md) | [GitHub](https://github.com/open-web3-stack/open-runtime-module-library/tree/master/xtokens) | ☐ | ☒ | ☒ | | [NUTS Finance](https://nuts.finance/) | [Stable Asset](./stable-asset.md) | [GitHub](https://github.com/nutsfinance) | ☐ | ☒ | ☒ | -| [MVP Workshop](https://mvpworkshop.co/) | [pallet-maci (Minimal Anti Collusion Infrastructure)](./pallet_maci.md) | [GitHub](https://github.com/MVPWorkshop) | ☒ | ☐ | ☐ | +| [MVP Workshop](https://mvpworkshop.co/) | [pallet-maci (Minimal Anti Collusion Infrastructure)](./pallet_maci.md) | [GitHub](https://github.com/MVPWorkshop) | ☐ | ☐ | ☐ | | [X-Predict](https://x-predict.com/) | [Decentralized prediction market](./XPredictMarket.md) | [GitHub](https://github.com/XPredictMarket) | ☐ | ☐ | ☐ | | [Chevdor](https://www.chevdor.com/) | SRTOOL App | [GitLab](https://gitlab.com/chevdor/srtool-app) | ☐ | ☒ | ☒ | | [Bit.Country](http://bit.country/) | [A decentralized world - Phase 2](./bit_country_m2.md) | [GitHub](https://github.com/bit-country) | ☐ | ☒ | ☒ | From 1f85e04886229788231d6a8a2c3539c6b473c27b Mon Sep 17 00:00:00 2001 From: Xcavate Date: Mon, 25 Sep 2023 14:48:54 +0100 Subject: [PATCH 39/46] Remove two deliverables from application (#1995) * New Grant Proposal: Xcavate - the future of real estate finance & property investment * Update Project_Xcavate.md hosted images on our server * Update Project_Xcavate.md correction to image URLs * Delete XCAV-WEB-3-Grant-Application-Image-1.jpg hosted elsewhere * Delete XCAV-WEB-3-Grant-Application-Image-2.jpg hosted elsewhere * Delete XCAV-WEB-3-Grant-Application-Image-3.jpg hosted elsewhere * Delete XCAV-WEB-3-Grant-Application-Image-4.jpg hosted elsewhere * Update Project_Xcavate.md Reduced scope of work to focus on onboarding the project in to the Polkadot eco system * Updates to grant submission Hopefully addressing the questions / issues raised * move project file requested to move file to applications folder * Add files via upload * Delete Project_Xcavate.md old project submission * Rename Project_Xcavate_feb2023.md to Xcavate.md * Update Xcavate.md Revised W3F grant to only focus on building a PoC of the lending protocol dApp * Update Xcavate.md Revised application... more details and new dev team added * Update Xcavate.md Added new member of the team * Update Xcavate.md added another team member * Update Xcavate.md added current symbol to milestone fund request + moved the milestone deliverables inline with template. updated one team members linkedin and full name. * Update Xcavate.md Adapt grant application to focus on ink! contract use case * Update Xcavate.md * Update Xcavate.md * Update Xcavate.md * Update Xcavate.md * Update Xcavate.md * Update Xcavate.md team Removed one member and added a new member * Update Xcavate.md team member role * Update Xcavate.md Amended grant application - remove two deliverables * Update Xcavate.md Removed the following deliverables: | 5. | Verification pallet | * We need to remove this deliverable because it is reliant on the Acurast Oracle Pallet which is struggling due to Substrate dependency issues | | 7. | Decentralized Developer Loan dApp / Front End Repo | We are struggling to interact through the frontend dApp so wish to remove this as a deliverable, however interacting through polkadot.js is fine. | --- applications/Xcavate.md | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/applications/Xcavate.md b/applications/Xcavate.md index c306efbafb0..be84904589e 100644 --- a/applications/Xcavate.md +++ b/applications/Xcavate.md @@ -4,7 +4,7 @@ - **Team Name:** Xcavate - **Payment Address:** 5E28NSFGwYB9C39bYdRAQ79UKRsM6shxkJr3LG4hehycwfJc -- **Total Costs:** $10000 USDT (Polkadot - Statemint) +- **Total Costs:** $8500 USDT (Polkadot - Statemint) - **Level:** 1 ## Project Overview @@ -85,6 +85,8 @@ Integrate DID's and Real Estae NFTs in to the their wallet to improve the UI/UX * Alex Ward – COO * Ganish Oli - Substrate Developer * Rene Hürter - Substrate Developer +* Alan - Full Stack Developer +* Victor Chukwonoso - Product Designer * Neeraj Choubisa - Full Stack Developer * Victor Chukwonoso - UI/UX Designer @@ -104,6 +106,8 @@ Integrate DID's and Real Estae NFTs in to the their wallet to improve the UI/UX Richard Houldsworth – 10 years in web 2.0 dev space – serial Entrepreneur Alex Ward – 25 years in the global property market – serial Entrepreneur Ganish Oli - ink! smart contract developer and substrate blockchain developer. +Rene Hürter - Currently studying to become a blockchain developer. Alchemy University Ethereum Bootcamp 11/2022. Scaling Ethereum 2023 Hackathon 11/03/2023. Consensus 2023 Hackathon (Web3athon 2023) 17/04/2023. +Alan Ma - Full-Stack developer who likes to work with JavaScript/Typescript (React, Next.js, Redux, Vue.js, Node), Blockchain(Bitcoin, Ethereum, Cosmos, Solidity, Rust), Golang, Python among others. Since I graduated from the university, I’ve joined several companies and dev teams to build web/mobile and web3 apps. Rene Hürter - I am currently studying to become a blockchain developer. Alchemy University Ethereum Bootcamp 11/2022. Scaling Ethereum 2023 Hackathon 11/03/2023. Consensus 2023 Hackathon (Web3athon 2023) 17/04/2023. Neeraj Choubisa - A Passionate Full Stack Blockchain Ethereum Based Web Developer, Third-Year student at Indian Institute of Information Technology, Dharwad @@ -112,6 +116,8 @@ Neeraj Choubisa - A Passionate Full Stack Blockchain Ethereum Based Web Develope https://github.com/xcavateblockchain https://github.com/xcavate2022 https://github.com/ganesh1233456 +https://github.com/RecrafterH +https://github.com/meanking https://github.com/Kali-Decoder https://github.com/RecrafterH @@ -137,13 +143,13 @@ We have been taking time to play with Substrate to form initial local nodes. We - **Total Estimated Duration:** 2 months - **Full-Time Equivalent (FTE):** 4 -- **Total Costs:** $10000 USDT +- **Total Costs:** $8500 USDT ### Milestone 1 — Initial POC of lending protocol - **Estimated Duration:** 2 months - **FTE:** 4 -- **Costs:** $10000 USDT +- **Costs:** $8500 USDT We will build on the excellent work we have achieved developing the Real Estate NFT marketplace for the hackerearth.com hackerthon. @@ -154,16 +160,14 @@ In the first milestone, the features for the PoC will be implemented and tested | 0a. | License | Apache 2.0 | | 0b. | Documentation | The documentation will be provided to show the whole architecture of the Xcavate Network. | | 0c. | Testing and Testing Guide | The testing guide will be provided to test each component. | -| 0d. | Docker | We will provide a dockerfile to demonstrate the full functionality of our chain | +| 0d. | VS Code Instructions | We have struggled to create docker images and a container, which allows interaction between the frontend, backend & node however VS code is working as expected. | | 0e. | Tutorial | We will write a tutorial about how to use Xcavate Network. | | 0f. | Article | We will write an article published on media channels. | -| 1 | Xcavate Node Repo | We will create a customized chain node with Substrate 2.0 Framework. | -| 2 | Xcavate Loan App Repo | All smart contracts will be written in Ink! to handle all the on chain runtime events related pallet functions such as; 1) Assess loan application criteria 2) Creation and management of multisig wallet 3) Minting and transfer of LAND NFTs 4) Defining and executing the loan APR structure 5) Monitor and execute real estate build stage checks 5) Deliver tranches of loan amounts to wallets 6) Manage the loan repayment and NFT transfer. | +| 1 | Xcavate Node Repo | We will create a customized chain node with Substrate 2.0 Framework. | +| 2 | Xcavate Loan App Repo | All smart contracts will be written in Ink! to handle all the on chain runtime events related pallet functions such as; 1) Assess loan application criteria 2) Creation and management of multisig wallet 3) Minting and transfer of LAND NFTs 4) Defining and executing the loan APR structure 5) Monitor and execute real estate build stage checks 5) Deliver tranches of loan amounts to wallets 6) Manage the loan repayment and NFT transfer. | | 3. | Loan management pallet | * Manage loan application ** Land details' ** Registration * Manage loan interest percentage ** Based on land and experience * Approve/Reject request | | 4. | Staking pallet | * User can stake native token * Calculate APR * Distribute payouts | -| 5. | Verification pallet | * Verification of user identity * Manage users identity * Manage loan request | -| 6. | DAO | The PoC will have a basic DAO structure that will be created using the OpenGov pallet to ensure rewards can be given to the real estate build stage checkers (As we progress in to the MVP stage this will be expanded to form a full governance structure). | -| 7. | Decentralized Developer Loan dApp / Front End Repo | It's a webpage working with Xcavate Network, it's implemented based on polkadot.js as planned. | +| 5. | DAO | The PoC will have a basic voting structure to ensure rewards can be given to the real estate build stage checkers (As we progress in to the MVP stage this will be expanded to form a full governance structure). | ## Future Plans From 2a1adc523d4783332c1a3a484cf81c2fd5b17c11 Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Tue, 26 Sep 2023 03:13:43 -0400 Subject: [PATCH 40/46] Update RFPs (#2003) * rfp update * Rename privacy-enhancement-polkadot-extension.md to privacy-enhancement-polkadot-extension.md * rfp updates * Rename multi-chain-block-explorer.md to multi-chain-block-explorer.md * Update scale-codec-comparator.md * Rename scale-codec-comparator.md to scale-codec-comparator.md * Update scale-codec-comparator.md * Update scale-codec-comparator.md * Update Static-Analysis-for-Runtime-Pallets.md * Update Static-Analysis-for-Runtime-Pallets.md --- .../multi-chain-block-explorer.md | 2 +- .../privacy-enhancement-polkadot-extension.md | 2 +- .../{Under Development => Closed}/scale-codec-comparator.md | 6 +++--- .../Static-Analysis-for-Runtime-Pallets.md | 4 ++-- docs/RFPs/Under Development/raft-validators.md | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) rename docs/RFPs/{Under Development => Closed}/multi-chain-block-explorer.md (85%) rename docs/RFPs/{Under Development => Closed}/privacy-enhancement-polkadot-extension.md (93%) rename docs/RFPs/{Under Development => Closed}/scale-codec-comparator.md (71%) diff --git a/docs/RFPs/Under Development/multi-chain-block-explorer.md b/docs/RFPs/Closed/multi-chain-block-explorer.md similarity index 85% rename from docs/RFPs/Under Development/multi-chain-block-explorer.md rename to docs/RFPs/Closed/multi-chain-block-explorer.md index 1eb11a23444..2d413cb3104 100644 --- a/docs/RFPs/Under Development/multi-chain-block-explorer.md +++ b/docs/RFPs/Closed/multi-chain-block-explorer.md @@ -1,6 +1,6 @@ # Multi-chain Block Explorer -* **Status:** Open +* **Status:** [Implemented 1](https://github.com/colorfulnotion/polkaholic), [Implemented 2](https://polkadot.subscan.io/) * **Teams/People that could deliver the RFP:** @clearloop, @carlhong ## Project Description :page_facing_up: diff --git a/docs/RFPs/Under Development/privacy-enhancement-polkadot-extension.md b/docs/RFPs/Closed/privacy-enhancement-polkadot-extension.md similarity index 93% rename from docs/RFPs/Under Development/privacy-enhancement-polkadot-extension.md rename to docs/RFPs/Closed/privacy-enhancement-polkadot-extension.md index 0f88d9b39b1..e5b991e38f0 100644 --- a/docs/RFPs/Under Development/privacy-enhancement-polkadot-extension.md +++ b/docs/RFPs/Closed/privacy-enhancement-polkadot-extension.md @@ -1,6 +1,6 @@ # Privacy Enhancement for Polkadot Extension -* **Status:** [Under Development](https://github.com/w3f/Grants-Program/blob/master/applications/polkadot-js-extension-per-account-auth.md) +* **Status:** [Implemented](https://github.com/w3f/Grants-Program/blob/master/applications/polkadot-js-extension-per-account-auth.md). GH [issue](https://github.com/polkadot-js/extension/issues/1037) has been closed. * **Proposer:** jonasW3F * **Projects you think this work could be useful for** [optional]: https://github.com/polkadot-js/extension * **Teams/People that could deliver the RFP:** @celrisen diff --git a/docs/RFPs/Under Development/scale-codec-comparator.md b/docs/RFPs/Closed/scale-codec-comparator.md similarity index 71% rename from docs/RFPs/Under Development/scale-codec-comparator.md rename to docs/RFPs/Closed/scale-codec-comparator.md index c94dd707ff8..79d713fe8fd 100644 --- a/docs/RFPs/Under Development/scale-codec-comparator.md +++ b/docs/RFPs/Closed/scale-codec-comparator.md @@ -1,11 +1,11 @@ # SCALE Codec Comparator -* **Status:** [In progress](https://github.com/arijitAD/dotscale) for Golang, submissions for other languages welcome, [Under Development](https://github.com/w3f/Grants-Program/blob/master/applications/scale-codec-comparator.md) +* **Status:** [Implemented for ten encoding types](https://github.com/w3f/Grants-Program/blob/master/applications/scale-codec-comparator.md) * **Proposer:** [Marcin Górny](https://github.com/mmagician/) ## Project Description :page_facing_up: -To date, there are [9 published](https://substrate.dev/docs/en/knowledgebase/advanced/codec#implementations) implementations of the SCALE Codec. Since each is implemented by a different team & [the reference implementation](https://github.com/paritytech/parity-scale-codec) still introduces small fixes, it would be beneficial to compile a table of feature-completeness. +To date, there are [9 published](https://docs.substrate.io/reference/scale-codec/) implementations of the SCALE Codec. Since each is implemented by a different team & [the reference implementation](https://github.com/paritytech/parity-scale-codec) still introduces small fixes, it would be beneficial to compile a table of feature-completeness. This would provide (some) assurance that the implementation in a given language is safe & sound to use. One approach would be to provide wrappers to the Rust reference implementation, like in [scale.rb](https://github.com/itering/scale.rb/blob/develop/src/lib.rs) and using the Foreign Function Interface (e.g. [here](https://github.com/itering/scale.rb/blob/develop/spec/ffi_helper.rb)) to call these directly from within the library. @@ -24,7 +24,7 @@ Stage 2: To take this a step further, a GitHub action could be integrated to run * **FTE:** 1 * **Costs:** ~ 10,000 DAI -For each library listed on [substrate.dev](https://substrate.dev/docs/en/knowledgebase/advanced/codec#implementations): +For each library listed on [substrate.dev](https://docs.substrate.io/reference/scale-codec/): * Create a PR, providing a FFI to Rust's reference implementation. * Ensure feature completeness, by ensuring there are comprehensive unit tests for each data type. diff --git a/docs/RFPs/Under Development/Static-Analysis-for-Runtime-Pallets.md b/docs/RFPs/Under Development/Static-Analysis-for-Runtime-Pallets.md index 8c88c275f5d..ad50f2d40d4 100644 --- a/docs/RFPs/Under Development/Static-Analysis-for-Runtime-Pallets.md +++ b/docs/RFPs/Under Development/Static-Analysis-for-Runtime-Pallets.md @@ -1,10 +1,10 @@ # Static Analysis of Runtime Pallets -* **Status:** [Under Development](https://github.com/w3f/Grants-Program/blob/master/applications/sarp-basic-functionality.md) +* **Status:** [Implemented](https://github.com/w3f/Grants-Program/blob/master/applications/sarp-basic-functionality.md) * **Proposer:** [Bhargav Bhatt](https://github.com/bhargavbh), [David Hawig](https://github.com/Noc2) ## Project Description :page_facing_up: -[Runtime Pallets](https://docs.substrate.io/fundamentals/runtime-development/) are modules for writing the business logic of blockchains in [Substrate](https://github.com/paritytech/substrate) (a Rust framework fo rbuilding blockchians). These are usually concise pieces of standalone code with relatively few dependencies and clear specifications, hence tractable targets for performing static analysis and verification. We would like to develop tools and techniques to perform static analysis with reasonable soundness guarantees. In particular, we would like to target vunerability classes that are detectable using dataflow analysis techniques like *tag analysis* and *taint analysis*. Just to give a flavor, relevant might vulnerabilities include: +[Runtime Pallets](https://docs.substrate.io/fundamentals/runtime-development/) are modules for writing the business logic of blockchains in [Substrate](https://github.com/paritytech/polkadot-sdk/tree/master/substrate) (a Rust framework fo rbuilding blockchians). These are usually concise pieces of standalone code with relatively few dependencies and clear specifications, hence tractable targets for performing static analysis and verification. We would like to develop tools and techniques to perform static analysis with reasonable soundness guarantees. In particular, we would like to target vunerability classes that are detectable using dataflow analysis techniques like *tag analysis* and *taint analysis*. Just to give a flavor, relevant might vulnerabilities include: * [incorrect origin](https://github.com/bhargavbh/MIRAI/blob/main/substrate_examples/incorrect-origin/description.md) of dispatchable functions. * [unsigned transaction](https://github.com/bhargavbh/MIRAI/blob/main/substrate_examples/unsigned-transaction/description.md) validation. * tracking bad randomness: ensure bad randomness does not leak into sensitive functions. diff --git a/docs/RFPs/Under Development/raft-validators.md b/docs/RFPs/Under Development/raft-validators.md index b07a20fd265..f417142002e 100644 --- a/docs/RFPs/Under Development/raft-validators.md +++ b/docs/RFPs/Under Development/raft-validators.md @@ -1,6 +1,6 @@ # High-availability validator setup -* **Status:** [Under Development](https://github.com/w3f/Grants-Program/blob/master/applications/High_availability_validator_setup.md) +* **Status:** [Implemented](https://github.com/w3f/Grants-Program/blob/master/applications/High_availability_validator_setup.md) * **Proposer:** mmagician * **Projects you think this work could be useful for:** Polkadot & Kusama Validators From 456615dca32ea9de9d5d7fd38a75730c3b1808b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Tue, 26 Sep 2023 11:10:46 +0200 Subject: [PATCH 41/46] Invoice after approval (#2005) --- docs/Support Docs/milestone-deliverables-guidelines.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Support Docs/milestone-deliverables-guidelines.md b/docs/Support Docs/milestone-deliverables-guidelines.md index ddda52aa2a3..f244b04aa90 100644 --- a/docs/Support Docs/milestone-deliverables-guidelines.md +++ b/docs/Support Docs/milestone-deliverables-guidelines.md @@ -8,7 +8,7 @@ Unless instructed otherwise, please submit all your milestones via PR to the [Gr ## Invoice -Although a milestone needs to be reviewed and accepted, you can submit your invoice alongside your delivery pull request through [this form](https://docs.google.com/forms/d/e/1FAIpQLSfmNYaoCgrxyhzgoKQ0ynQvnNRoTmgApz9NrMp-hd8mhIiO0A/viewform). +After a milestone is reviewed and accepted, you can submit your invoice alongside your delivery pull request through [this form](https://docs.google.com/forms/d/e/1FAIpQLSfmNYaoCgrxyhzgoKQ0ynQvnNRoTmgApz9NrMp-hd8mhIiO0A/viewform). ## Content From 0a7b5f08ddc983a2f89583adbedc28f6d7b18a77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Tue, 26 Sep 2023 11:36:51 +0200 Subject: [PATCH 42/46] Update index.md Stylograph completed --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index a9d52880792..6c8658a5f74 100644 --- a/applications/index.md +++ b/applications/index.md @@ -99,7 +99,7 @@ Besides, **there is a clear difference between an application being accepted and | [CoinFabrik](https://www.coinfabrik.com/) | [ScoutCoinFabrik: Milestone 2](ScoutCoinFabrik_2.md) | [GitHub](https://github.com/coinfabrik) | ☐ | ☒ | ☒ | | [Polytope Labs](https://research.polytope.technology/) | [Interoperable State Machine Protocol](ismp.md) | [GitHub](https://github.com/polytope-labs) | ☐ | ☒ | ☒ | | [Talentica Software](https://www.talentica.com/) | [Implementation Benchmarking Milestone 3](ink-pallet-benchmarking-phase-2.md) | [GitHub](https://github.com/Nikhil-Desai-Talentica) | ☐ | ☒ | ☒ | -| [Deep Ink Ventures GmbH](https://github.com/deep-ink-ventures) | [Stylograph](Stylograph.md) | [GitHub](https://github.com/deep-ink-ventures) | ☐ | ☐ | ☐ | +| [Deep Ink Ventures GmbH](https://github.com/deep-ink-ventures) | [Stylograph](Stylograph.md) | [GitHub](https://github.com/deep-ink-ventures) | ☐ | ☒ | ☒ | | [Zeeve](https://www.zeeve.io) | [Ink Playground IDE Improvements](ink-playground-ide-improvements.md) | [GitHub](https://github.com/Zeeve-App) | ☐ | ☐ | ☐ | | [Scio Labs](https://scio.xyz/) | [XCM Domain Name Service](xcm-domain-service.md) | [GitHub](https://github.com/scio-labs) | ☐ | ☒ | ☐ | | [Gloslab](https://github.com/smiasojed) | [Contracts performance measurement tool proposal](contracts-tool.md) | [GitHub](https://github.com/smiasojed) | ☐ | ☒ | ☐ | From 42b0b57d82e7f780c0dea0c093e99e17952a9513 Mon Sep 17 00:00:00 2001 From: David Hawig Date: Tue, 26 Sep 2023 20:02:48 +0200 Subject: [PATCH 43/46] Update README.md (#2010) Change formating of process, since :::tip and :::info doesn't work for the readme. --- README.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/README.md b/README.md index 2b12402c6ea..83209ceafe4 100644 --- a/README.md +++ b/README.md @@ -147,13 +147,7 @@ The W3F Grants Program offers different grant levels to help you best, depending ## :pencil: Process -:::tip -If you want to apply in **private**, you can do so [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. -::: - -:::info -Payments can be made in USDT and USDC on the Polkadot [AssetHub](https://wiki.polkadot.network/docs/learn-assets), Bitcoin and fiat (USD, EUR, CHF). Please indicate your preference in the application [as outlined in our application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md?plain=1#L7). -::: +> **:loudspeaker:** Payments can be made in USDT and USDC on the Polkadot [AssetHub](https://wiki.polkadot.network/docs/learn-assets), Bitcoin, and fiat (USD, EUR, CHF). Please indicate your preference in the application [as outlined in our application template](https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md?plain=1#L7). If you want to apply in **private**, you can do so [:arrow_right: here](https://docs.google.com/forms/d/e/1FAIpQLSfMfjiRmDQDRk-4OhNASM6BAKii7rz_B1jWtbCPkUh6N7M2ww/viewform). Note that this is generally a slower process and imposes stricter requirements on applicants. ### 1. Application From 4445254dd09ff455c88b7c4bb68a70e488a53d37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Wed, 27 Sep 2023 12:31:46 +0200 Subject: [PATCH 44/46] Change announcement bar to sub0 video --- docusaurus.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index e606f27f0bb..38256102c6b 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -28,7 +28,7 @@ module.exports = { announcementBar: { id: 'announcement', content: - 'Meet us at sub0!', + 'Watch our sub0 presentation on Support in the Polkadot Ecosystem!', backgroundColor: '#000', textColor: '#ffffff', isCloseable: true, From 182208425ac0b479a0a82974b48869d26f764854 Mon Sep 17 00:00:00 2001 From: Nikhil W3F <142136841+nikw3f@users.noreply.github.com> Date: Wed, 27 Sep 2023 13:35:33 +0200 Subject: [PATCH 45/46] Updated Wave 17 deliveries (#2013) --- applications/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/applications/index.md b/applications/index.md index 6c8658a5f74..8bf613fb424 100644 --- a/applications/index.md +++ b/applications/index.md @@ -128,10 +128,10 @@ Besides, **there is a clear difference between an application being accepted and | Team | Project | Link | Terminated | First Delivery | Completed | | :------------------------------------------------------------------| :------------------------------------------------------------------------------------------------------| :------------------------------------------------------------------- | :--------- | :------------: | :--------: | | [Deep Ink Ventures GmbH](http://deep-ink.ventures/) | [GenesisDAO](GenesisDAO.md) | [GitHub](https://github.com/deep-ink-ventures) | ☐ | ☒ | ☒ | -| [ArtZero](https://artzero.io/) | [ArtZero & InkWhale](ArtZero_InkWhale.md) | [GitHub](https://github.com/artzero-io) | ☐ | ☒ | ☐ | +| [ArtZero](https://artzero.io/) | [ArtZero & InkWhale](ArtZero_InkWhale.md) | [GitHub](https://github.com/artzero-io) | ☐ | ☒ | ☒ | | [EightFish](https://github.com/eightfish-org/eightfish) | [EightFish](eightfish.md) | [GitHub](https://github.com/miketang84/eightfish) | ☐ | ☒ | ☒ | | [Protofire](https://protofire.io/) | [Polkadot Contract Wizard](polkadot-contract-wizard.md) | [GitHub](https://github.com/protofire/) | ☐ | ☒ | ☒ | -| [Runtime Verification](https://runtimeverification.com/) | [KMIR: the K semantics of MIR](rv-kmir.md) | [GitHub](https://github.com/runtimeverification) | ☐ | ☒ | ☐ | +| [Runtime Verification](https://runtimeverification.com/) | [KMIR: the K semantics of MIR](rv-kmir.md) | [GitHub](https://github.com/runtimeverification) | ☐ | ☒ | ☒ | | [Me Protocol](https://meprotocol.io/) | [Me Protocol](MeProtocol.md) | [GitHub](https://github.com/Me-Protocol) | ☐ | ☐ | ☐ | | [Comrade Coop](https://comrade.coop/) | [Validated Streams](validated-streams.md) | [GitHub](https://github.com/comrade-coop) | ☐ | ☒ | ☒ | | [Blockcoders](http://blockcoders.io/) | [Kuma Cross-chain Wallet](cross-chain-wallet.md) | [GitHub](https://github.com/blockcoders) | ☐ | ☒ | ☒ | From 6e838e4492e0f11741dde463509731e27788e22b Mon Sep 17 00:00:00 2001 From: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> Date: Wed, 27 Sep 2023 08:00:05 -0400 Subject: [PATCH 46/46] Update index.md (#2011) --- applications/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/index.md b/applications/index.md index 8bf613fb424..1662f4d05f9 100644 --- a/applications/index.md +++ b/applications/index.md @@ -201,7 +201,7 @@ Besides, **there is a clear difference between an application being accepted and | [10Clouds Sp. z o.o.](https://10clouds.com/) | [Crowdloan Front End Template](crowdloan_frontend_template.md) | [GitHub](https://github.com/10clouds) | ☐ | ☒ | ☒ | | [DodoRare, Inc.](https://dodorare.com/) | [Faterium](faterium.md) | [GitHub](https://github.com/faterium) | ☐ | ☒ | ☒ | | [The Bacon Beacon](https://github.com/random-bacon) | [Pallet Drand Client](pallet-drand-client.md) | [GitHub](https://github.com/random-bacon) | ☐ | ☒ | ☐ | -| [Helikon Labs](https://helikon.io/) | [ChainViz v1](chainviz.md) | [GitHub](https://github.com/helikon-labs/chainviz) | ☐ | ☐ | ☐ | +| [Helikon Labs](https://helikon.io/) | [ChainViz v1](chainviz.md) | [GitHub](https://github.com/helikon-labs/chainviz) | ☐ | ☒ | ☐ | | [Mutai Solutions](https://bryanmutai.co/) | [Crowdloans-FET](Crowdloans-FET.md) | [GitHub](https://github.com/brymut) | ☐ | ☐ | ☐ | | [k/factory](https://k-f.co/) | [Centrifuge Go-Substrate-RPC Client V2](centrifuge-gsrpc-v2.md) | [GitHub](https://github.com/centrifuge/go-substrate-rpc-client) | ☐ | ☐ | ☐ | | [Colorful Notion](https://github.com/colorfulnotion) | [Zombienet Explorer: Multi-Chain Substrate Block Explorer](Zombienet-Explorer.md) | [GitHub](https://github.com/colorfulnotion/zombienet-explorer) | ☐ | ☐ | ☐ |