From 7bcb0158337093601561f1b8c0f476a5aaf31638 Mon Sep 17 00:00:00 2001 From: OpenSmartContract <> Date: Mon, 28 Aug 2023 21:11:09 -0700 Subject: [PATCH 01/21] ISO20022 app --- applications/ISO20022.md | 192 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 192 insertions(+) create mode 100644 applications/ISO20022.md diff --git a/applications/ISO20022.md b/applications/ISO20022.md new file mode 100644 index 00000000000..2919f09ef1b --- /dev/null +++ b/applications/ISO20022.md @@ -0,0 +1,192 @@ +# Name of your Project + +- **Team Name:** Open Smart Contract +- **Payment Address:** TBP +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 + + +## Project Overview :page_facing_up: + +Response to [RFP 20022](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/ISO_20022.md) +Project name: ISO20022 +Cross border payment example as proof of concepts,leveraging the unique [Off-Chain Features of Substrate](https://docs.substrate.io/v3/concepts/off-chain-features/) that show the advantages of using [ISO20022](https://www.iso20022.org/) together with Substrate. + +### Overview + +Please provide the following: + +- XBP is an [ISO20022](https://www.iso20022.org/) based cross-border payment project implemented with Substrate off-chain features +- A brief description: Proof of concepts of Dotsama / Substrate based ISO20022 compliant cross border payment example. +- The project intends to use various Substrate pallets and off-chain workers / storage to implement an ISO20022 X-border payment example on a Polkadot / Kusama chain +- ISO (International Organization for Standardization) 20022 is becoming the de facto global data standard for payments and electronic data interchange already adopted by many countries. Polkadot / Substrate based cross border payments can provide blockchain based payment efficiency, cost savings and interoperability with financial institutions, onramping billions of users to the ecossystem. + +### 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): + +- Mockups/designs of any UI components + - Use Contracts-UI (or Polkadot.js) UI interface to interact with deployed smart contracts + +- Data models / API specifications of the core functionality + - ISO20022 XML data models that captures essential payment metadata + - ISO20022 data types to Polkadot data types / XCM mapping table + - Data securedly stored offchain + - APIs to create, manage, query, notify payments +- An overview of the technology stack to be used + - Substrate Offchain workers to process compute intensive tasks such as ISO20022 message wrangling + - Substrate offchain storage / indecing to persist string heavy ISO20022 messages + - ISO20022 messages parsing / mapping / processing using OCWs + - Substrate XCM for ISO20020 messaging + - Utility / Codec / RPC / etc. + - X-border payment ink! smart contracts with access control security +- Documentation of core components, protocols, architecture, etc. to be deployed + - Substrate based blockchain, including testchains to deploy as sandbox + - ink! / Rust based smart contracts implementing X-border payment logic + - Payment history along with ISO20022 messages stored offchian with indexing + - Expensive ISO20020 related computation by offchian workers with onchain accessibility + - ISO20022 messaging supported by XCMP with XCM <> ISO20020 data format translations +- PoC/MVP or other relevant prior work or research on the topic + - Our research shows that multiple gaps exist to support ISO20022 compliant cross border payment use case + - There's big ata type compatibility gaps between Polkadot and IS20022, such as date and time, currency, float, array, etc. + - There's no out of box support of SO20022 XML processing and mapping such as XSD transformations + - There's no built-in data validation, message routing, payment securties, etc. + - There's no native foreign exchanage / currency conversion capabilities + - There's no payment states reflecting current cross border payment flow states + - What your project is _not_ or will _not_ provide or implement + - This is not a complete cross border payment system given the scope of proof of concepts + - Likely this is the first ISO20022 project on Dotsama, there could be unexpected gaps discovered + - This is not a full blown IS20022 implementation on Dotsama / Substrate but explore to expose gaps for future endeavors + +Things that shouldn’t be part of the application (see also our [FAQ](../docs/faq.md)): +- 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 + +### Ecosystem Fit + +Help us locate your project in the Polkadot/Substrate/Kusama landscape and what problems it tries to solve by answering each of these questions: + +- Where and how does your project fit into the ecosystem? + - According to the RDP: "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" +- Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? + - Targeting ecosystem develpopers to levearage on the learning and tools to further develop ISO20022 compitable dApps, to make it possible for transitional financial institutions to interoprate with Polkadot / Kusama / Substrate blockchains based payment apps. +- What need(s) does your project meet? + - Explore possibilities and gaps of Polkadot / Substrate support of ISO20022 standard for future improvements +- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? + - If so, how is your project different? + - If not, are there similar projects in related ecosystems? There are known blockchains already claim to support ISO20020 such as Ripple XRP, XLM, Algorand, etc. + +## Team :busts_in_silhouette: + +### Team members + +- Name of team leader: Daniel Deng + +### Contact + +- **Contact Name:** Daniel Deng +- **Contact Email:** OpenSmartContract@gmail.com +- **Website:** + +### Legal Structure + +- **Registered Address:** No registred entity +- **Registered Legal Entity:** No registred entity + +### 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. + +Daniel is the Chief Product Officer at HeroDAO where he has led blockchain based smart contract products and development on Polkodot / Kusama blockchains. Previous at Meta he managed crypto (Libra / Diem) and fiat payments and web3 initiatives. Prior to that, he was Senior Director of Product Management at Visa managing Visa's global payment product portfolios and platforms. + +Here's a recent[ Medium article](https://medium.com/@opensmartcontract/learn-ink-by-example-order-food-on-blockchain-a4024b2dee4a) on ink! smart contract with Rust macros implementing dApp on Dotsama chain, with [Smart Contract Deployment and Interaction Guide using Contracts-UI and Polkadot.js](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/BlockchainFoodOrder%20Smart%20Contract%20Deployment%20and%20Interactions%20Guide.pdf). + +### Team Code Repos + +- [Order Food on the Blockchain](https://github.com/InkSmartContract/BlockchainFoodOrder) + +Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. + +- [GitHub1](https://github.com/OpenSmartContract) +- [Github2](https://github.com/FPLeader) + +### Team LinkedIn Profiles (if available) + +- [Profile](https://www.linkedin.com/in/dengdaniel) + + +## Development Status :open_book: + +If you've already started implementing your project or it is part of a larger repository, please provide a link and a description of the code here. In any case, please provide some documentation on the research and other work you have conducted before applying. This could be: + +- [RFPs](https://github.com/w3f/Grants-Program/tree/master/docs/RFPs) (requests for proposal) +- [Blockchain Food Order dApp](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/Learn%20ink!%20by%20Example%20%E2%80%94%20Order%20Food%20on%20the%20Blockchain.pdf) +- [Smart Contract Deployment and Interaction Guide using Contracts-UI and Polkadot.js](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/BlockchainFoodOrder%20Smart%20Contract%20Deployment%20and%20Interactions%20Guide.pdf) + + +## 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. + +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. + +### Overview + +- **Total Estimated Duration:** ~3 months +- **Full-Time Equivalent (FTE):** 1,3 FTE +- **Total Costs:** 30K USD + +### Milestone 1 Example — Basic functionality + +- **Estimated duration:** ~1-2 months +- **FTE:** 1,2 +- **Costs:** 15K USD + +| Number | Deliverable | Specification | +| -----: | ----------- | ------------- | +| **0a.** | License | Apache 2.0 | +| **0b.** | Documentation | We will provide documents of the following | +| 1. | Define the use case | Degine the cross border payment use case with persona and end-to-end flow | +| 2. | ISO20022 XML <> Polkadot XCM data mapping | Identify data types gaps and solutions for the use case| +| 3. | ISO20022 <> Polkadot messaging | Identify XCMP messaging gaps and solutions for the use case | +| 4. | Define offchain data storage | Define offchain data storage for ISO20022 messages and X-border payments in this use case | +| 5. | Define offchian worker module | Define OCW logic to handle ISO20022 messag processing and X-border payments in this use case | +| 6. | Define Smart contracts | Define ink! smart contracts to implement X-border payments in this use case | + + +### Milestone 2 Example — Additional features + +- **Estimated Duration:** ~1-2 months +- **FTE:** 1,3 +- **Costs:** 15K 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 (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | +| **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 a Medium **article** that explains this proof of concepts example with results | +| 1. | Develop offchain data storage | Data structure and storage of X-border payment histories and related ISO20022 messages | +| 2. | Develop offchian worker module | ISO20022 message mapping, processing and messaging for X-border payment logic | +| 3. | Develop Smart contracts | We will deliver a set of ink! smart contracts that implements the cross border payment flow deployed on Shibuya test chain| +| 4. | Develop Substrate module ISO20022 | Optional Substrate module if needed that implements ISO20022 message processing logic | + +## Future Plans + +Please include here + +- Publish learning and share with the community, similar to this [ Medium article](https://medium.com/@opensmartcontract/learn-ink-by-example-order-food-on-blockchain-a4024b2dee4a) and/or [Contracts-UI and Polkadot.js Smart Contract Deployment and Interaction Guide](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/BlockchainFoodOrder%20Smart%20Contract%20Deployment%20and%20Interactions%20Guide.pdf) +- Long term we intend to expand this ISO20022 proof of concepts to develop reusable tools / apps to bring Dotsama closer to ISO20022 + +## 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 or Ethereum + +## Additional Information :heavy_plus_sign: + +**How did you hear about the Grants Program?** Web3 Foundation Website and previous work interactions + +Here you can also add any additional information that you think is relevant to this application but isn't part of it already, such as: From 787f7199d40e4c4ce271d21943bbe4c196ae50d8 Mon Sep 17 00:00:00 2001 From: OpenSmartContract <> Date: Mon, 28 Aug 2023 21:19:05 -0700 Subject: [PATCH 02/21] minor change --- applications/ISO20022.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index 2919f09ef1b..7af6a5e0466 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -15,7 +15,7 @@ Cross border payment example as proof of concepts,leveraging the unique [Off-Cha Please provide the following: -- XBP is an [ISO20022](https://www.iso20022.org/) based cross-border payment project implemented with Substrate off-chain features +- The project is an [ISO20022](https://www.iso20022.org/) based cross-border payment proof of concepts implemented with Substrate off-chain features - A brief description: Proof of concepts of Dotsama / Substrate based ISO20022 compliant cross border payment example. - The project intends to use various Substrate pallets and off-chain workers / storage to implement an ISO20022 X-border payment example on a Polkadot / Kusama chain - ISO (International Organization for Standardization) 20022 is becoming the de facto global data standard for payments and electronic data interchange already adopted by many countries. Polkadot / Substrate based cross border payments can provide blockchain based payment efficiency, cost savings and interoperability with financial institutions, onramping billions of users to the ecossystem. From c665750ab3365007cf7a4ce1e14968f03de3f008 Mon Sep 17 00:00:00 2001 From: OpenSmartContract <> Date: Mon, 28 Aug 2023 21:33:26 -0700 Subject: [PATCH 03/21] Add project name --- applications/ISO20022.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index 7af6a5e0466..c3ae3728f9b 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -1,4 +1,4 @@ -# Name of your Project +# ISO20022 PoC - **Team Name:** Open Smart Contract - **Payment Address:** TBP @@ -8,7 +8,9 @@ ## Project Overview :page_facing_up: Response to [RFP 20022](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/ISO_20022.md) -Project name: ISO20022 + +Project name: ISO20022 PoC + Cross border payment example as proof of concepts,leveraging the unique [Off-Chain Features of Substrate](https://docs.substrate.io/v3/concepts/off-chain-features/) that show the advantages of using [ISO20022](https://www.iso20022.org/) together with Substrate. ### Overview From b35ecab7faf3456d45a4eae50fbbe1dcb0ff0317 Mon Sep 17 00:00:00 2001 From: OpenSmartContract Date: Mon, 28 Aug 2023 22:21:17 -0700 Subject: [PATCH 04/21] Revise application --- applications/ISO20022.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index c3ae3728f9b..dd055f1dabd 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -1,11 +1,11 @@ # ISO20022 PoC - **Team Name:** Open Smart Contract -- **Payment Address:** TBP +- **Payment Address:** 3GTe5ArJLC8jesr6UFtB9kcoguQmvo8Cuo - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 -## Project Overview :page_facing_up: +## Project Overview Response to [RFP 20022](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/ISO_20022.md) @@ -78,7 +78,7 @@ Help us locate your project in the Polkadot/Substrate/Kusama landscape and what - If so, how is your project different? - If not, are there similar projects in related ecosystems? There are known blockchains already claim to support ISO20020 such as Ripple XRP, XLM, Algorand, etc. -## Team :busts_in_silhouette: +## Team ### Team members @@ -117,7 +117,7 @@ Please also provide the GitHub accounts of all team members. If they contain no - [Profile](https://www.linkedin.com/in/dengdaniel) -## Development Status :open_book: +## Development Status If you've already started implementing your project or it is part of a larger repository, please provide a link and a description of the code here. In any case, please provide some documentation on the research and other work you have conducted before applying. This could be: @@ -126,7 +126,7 @@ If you've already started implementing your project or it is part of a larger re - [Smart Contract Deployment and Interaction Guide using Contracts-UI and Polkadot.js](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/BlockchainFoodOrder%20Smart%20Contract%20Deployment%20and%20Interactions%20Guide.pdf) -## Development Roadmap :nut_and_bolt: +## Development Roadmap 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. @@ -181,13 +181,13 @@ Please include here - Publish learning and share with the community, similar to this [ Medium article](https://medium.com/@opensmartcontract/learn-ink-by-example-order-food-on-blockchain-a4024b2dee4a) and/or [Contracts-UI and Polkadot.js Smart Contract Deployment and Interaction Guide](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/BlockchainFoodOrder%20Smart%20Contract%20Deployment%20and%20Interactions%20Guide.pdf) - Long term we intend to expand this ISO20022 proof of concepts to develop reusable tools / apps to bring Dotsama closer to ISO20022 -## Referral Program (optional) :moneybag: +## Referral Program (optional) 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 or Ethereum +- **Referrer:** N/A +- **Payment Address:** N/A -## Additional Information :heavy_plus_sign: +## Additional Information **How did you hear about the Grants Program?** Web3 Foundation Website and previous work interactions From 7ab3fcbd7c8cd9318c63d574cf4365777cffbecb Mon Sep 17 00:00:00 2001 From: OpenSmartContract Date: Tue, 29 Aug 2023 10:04:21 -0700 Subject: [PATCH 05/21] Remove extra template text, revise scope and budget to a more holistic PoC --- applications/ISO20022.md | 85 +++++++++++++++++----------------------- 1 file changed, 35 insertions(+), 50 deletions(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index dd055f1dabd..ca0e36e433d 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -15,8 +15,6 @@ Cross border payment example as proof of concepts,leveraging the unique [Off-Cha ### Overview -Please provide the following: - - The project is an [ISO20022](https://www.iso20022.org/) based cross-border payment proof of concepts implemented with Substrate off-chain features - A brief description: Proof of concepts of Dotsama / Substrate based ISO20022 compliant cross border payment example. - The project intends to use various Substrate pallets and off-chain workers / storage to implement an ISO20022 X-border payment example on a Polkadot / Kusama chain @@ -24,8 +22,6 @@ Please provide the following: ### 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): - - Mockups/designs of any UI components - Use Contracts-UI (or Polkadot.js) UI interface to interact with deployed smart contracts @@ -54,20 +50,15 @@ We expect the teams to already have a solid idea about your project's expected f - There's no built-in data validation, message routing, payment securties, etc. - There's no native foreign exchanage / currency conversion capabilities - There's no payment states reflecting current cross border payment flow states - - What your project is _not_ or will _not_ provide or implement + +- What your project is _not_ or will _not_ provide or implement - This is not a complete cross border payment system given the scope of proof of concepts - Likely this is the first ISO20022 project on Dotsama, there could be unexpected gaps discovered - - This is not a full blown IS20022 implementation on Dotsama / Substrate but explore to expose gaps for future endeavors - -Things that shouldn’t be part of the application (see also our [FAQ](../docs/faq.md)): -- 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 + - This project is not a full blown IS20022 implementation on Dotsama / Substrate but explore to expose gaps for future endeavors + - This project is not about payment identity / KYC / AML solutions ### Ecosystem Fit -Help us locate your project in the Polkadot/Substrate/Kusama landscape and what problems it tries to solve by answering each of these questions: - - Where and how does your project fit into the ecosystem? - According to the RDP: "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" - Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? @@ -88,7 +79,6 @@ Help us locate your project in the Polkadot/Substrate/Kusama landscape and what - **Contact Name:** Daniel Deng - **Contact Email:** OpenSmartContract@gmail.com -- **Website:** ### Legal Structure @@ -97,82 +87,77 @@ 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. - Daniel is the Chief Product Officer at HeroDAO where he has led blockchain based smart contract products and development on Polkodot / Kusama blockchains. Previous at Meta he managed crypto (Libra / Diem) and fiat payments and web3 initiatives. Prior to that, he was Senior Director of Product Management at Visa managing Visa's global payment product portfolios and platforms. Here's a recent[ Medium article](https://medium.com/@opensmartcontract/learn-ink-by-example-order-food-on-blockchain-a4024b2dee4a) on ink! smart contract with Rust macros implementing dApp on Dotsama chain, with [Smart Contract Deployment and Interaction Guide using Contracts-UI and Polkadot.js](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/BlockchainFoodOrder%20Smart%20Contract%20Deployment%20and%20Interactions%20Guide.pdf). ### Team Code Repos - - [Order Food on the Blockchain](https://github.com/InkSmartContract/BlockchainFoodOrder) -Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine. - +Please also provide the GitHub accounts of all team members. - [GitHub1](https://github.com/OpenSmartContract) - [Github2](https://github.com/FPLeader) ### Team LinkedIn Profiles (if available) - - [Profile](https://www.linkedin.com/in/dengdaniel) - ## Development Status -If you've already started implementing your project or it is part of a larger repository, please provide a link and a description of the code here. In any case, please provide some documentation on the research and other work you have conducted before applying. This could be: - - [RFPs](https://github.com/w3f/Grants-Program/tree/master/docs/RFPs) (requests for proposal) - [Blockchain Food Order dApp](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/Learn%20ink!%20by%20Example%20%E2%80%94%20Order%20Food%20on%20the%20Blockchain.pdf) - [Smart Contract Deployment and Interaction Guide using Contracts-UI and Polkadot.js](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/BlockchainFoodOrder%20Smart%20Contract%20Deployment%20and%20Interactions%20Guide.pdf) - ## Development Roadmap -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. - ### Overview -- **Total Estimated Duration:** ~3 months -- **Full-Time Equivalent (FTE):** 1,3 FTE -- **Total Costs:** 30K USD +- **Total Estimated Duration:** ~3-6 months +- **Full-Time Equivalent (FTE):** 1,4 FTE +- **Total Costs:** 80K USD ### Milestone 1 Example — Basic functionality - **Estimated duration:** ~1-2 months - **FTE:** 1,2 -- **Costs:** 15K USD +- **Costs:** 25K USD | Number | Deliverable | Specification | | -----: | ----------- | ------------- | | **0a.** | License | Apache 2.0 | -| **0b.** | Documentation | We will provide documents of the following | -| 1. | Define the use case | Degine the cross border payment use case with persona and end-to-end flow | -| 2. | ISO20022 XML <> Polkadot XCM data mapping | Identify data types gaps and solutions for the use case| -| 3. | ISO20022 <> Polkadot messaging | Identify XCMP messaging gaps and solutions for the use case | -| 4. | Define offchain data storage | Define offchain data storage for ISO20022 messages and X-border payments in this use case | -| 5. | Define offchian worker module | Define OCW logic to handle ISO20022 messag processing and X-border payments in this use case | -| 6. | Define Smart contracts | Define ink! smart contracts to implement X-border payments in this use case | +| **0b.** | Documentation | Design documents with details on what it takes for Polkadot/Substrate to support ISO20022 messages, gaps and solution recommendations | +| 1. | Design the use case | Degine an ISO20022 cross border payment use case with persona, end-to-end flow | +| 2. | Specify ISO20022 messages | Specify ISO20022 messages for each and every step of the cross border payment flow, including reference data fields besides core XML data | +| 3. | ISO20022 XML <> Polkadot XCM data mapping | Identify data types gaps, XML<>XCM trnasformation and validations for the use case| +| 4. | ISO20022 <> Polkadot messaging | Identify XCMP gaps in messaging, relaying, routing feasibilities for the use case | +| 5. | Define offchain data storage | Define offchain data structure, storage and indexes for ISO20022 messages and payments in this use case | +| 6. | Define offchian worker module | Define OCW logic to handle ISO20022 messages mapping, processing, messaging in this use case | +| 7. | Define Smart contracts | Define ink! smart contracts to implement X-border payments and offchian integrations in this use case | +| 8. | Define ISO20022 messaging and payment events and stats | Define ISO20020 messaging and payment flow events and states | +| 9. | Define ISO20022 messaging and payment queries | Define how to query ISO20022 messaging and payments, based off events, stats, transactions and indexes stored offchain | ### Milestone 2 Example — Additional features -- **Estimated Duration:** ~1-2 months -- **FTE:** 1,3 -- **Costs:** 15K USD +- **Estimated Duration:** ~2-4 months +- **FTE:** 1,4 +- **Costs:** 55K 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 (for example) spin up one of our Substrate nodes and send test transactions, which will show how the new functionality works. | -| **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 a Medium **article** that explains this proof of concepts example with results | -| 1. | Develop offchain data storage | Data structure and storage of X-border payment histories and related ISO20022 messages | -| 2. | Develop offchian worker module | ISO20022 message mapping, processing and messaging for X-border payment logic | -| 3. | Develop Smart contracts | We will deliver a set of ink! smart contracts that implements the cross border payment flow deployed on Shibuya test chain| -| 4. | Develop Substrate module ISO20022 | Optional Substrate module if needed that implements ISO20022 message processing logic | +| **0b.** | Documentation | We will provide both **inline comments** of the code and a Medium **article** that explains the use case and guide users to deploy and interact | +| **0c.** | Testing and Testing Guide | Unit and integration tests for core functions with test scripts | +| **0d.** | Docker | We will provide a docker file that can be used to test all the functionality | +| 0e. | Article | We will publish a Medium **article** about this PoC, and the feasibility of pairing up ISO20022 and Substrate offchian features to support ISO20020 payments, enabling potential financial institutions / fintech onramping to Dotsama ecosystem for blockchain based global ISO20020 compliant payments | +| 1. | Develop offchain data storage | Data structure, storage and indexing of X-border payment histories and ISO20022 messages | +| 2. | Develop offchian worker module | Logic to handle ISO20022 message mapping, processing, messaging | +| 3. | Develop Smart contracts | Set of ink! smart contracts that implements the cross border payment flow and offchian integrations, deploy on Shibuya test chain as sandbox | +| 4. | Support ISO20022 messaging and payment events and stats | Offchain logging, querying, diagnosing ISO20020 messaging and payment flow events and states | +| 5. | Develop ISO20022 messaging and payment queries | Implement querying ISO20022 messaging and payments, based off events, stats, transactions and indexes stored offchain | +| 6. | Develop Substrate module ISO20022 | Optional Substrate runtime module that implements ISO20022 message processing logic for better performance and efficiency if needed | +| 7. | Explore cloud storage and HTTP requests | Optional AWS S3 cloud storage as offchian storage extension for events / archives / scalability, and optional HTTP requests for potential future offchain queries / tranditional financial institution integrations / fiat+crypto payment flow / interoperabilities | +| 8. | Optimization and performance benchmark | Benchmark payment transaction throughput, measure binary foorprints, gas fees, cross border payment latencies in various optimizaiton implementations | +| 9. | Cross border payments comparisons | Compare end-to-end elapse time / costs, including latency / fee breakdowns, with real world fiat based cross border payments from traditional financial institutions if possible. Share comparison stats in a Medium article to be published | ## Future Plans From 23ef9ea5125d85e7b110ffe6106b57598f417e16 Mon Sep 17 00:00:00 2001 From: OpenSmartContract Date: Tue, 29 Aug 2023 10:32:01 -0700 Subject: [PATCH 06/21] Add future plan items --- applications/ISO20022.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index ca0e36e433d..0a93b3da9ef 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -29,7 +29,9 @@ Cross border payment example as proof of concepts,leveraging the unique [Off-Cha - ISO20022 XML data models that captures essential payment metadata - ISO20022 data types to Polkadot data types / XCM mapping table - Data securedly stored offchain - - APIs to create, manage, query, notify payments + - ISO20022 messaging and payment events and stats + - ISO20022 messaging and payment queries + - Benchmark on performance, throughput, gas fees, binary size, payment latency and cost comparisons - An overview of the technology stack to be used - Substrate Offchain workers to process compute intensive tasks such as ISO20022 message wrangling - Substrate offchain storage / indecing to persist string heavy ISO20022 messages @@ -37,12 +39,15 @@ Cross border payment example as proof of concepts,leveraging the unique [Off-Cha - Substrate XCM for ISO20020 messaging - Utility / Codec / RPC / etc. - X-border payment ink! smart contracts with access control security + - Optional offchain connected cloud storage and HTTP requests - Documentation of core components, protocols, architecture, etc. to be deployed - Substrate based blockchain, including testchains to deploy as sandbox - ink! / Rust based smart contracts implementing X-border payment logic - Payment history along with ISO20022 messages stored offchian with indexing - Expensive ISO20020 related computation by offchian workers with onchain accessibility - ISO20022 messaging supported by XCMP with XCM <> ISO20020 data format translations + - ISO20022 messaging and payment events and stats + - ISO20022 messaging and payment queries - PoC/MVP or other relevant prior work or research on the topic - Our research shows that multiple gaps exist to support ISO20022 compliant cross border payment use case - There's big ata type compatibility gaps between Polkadot and IS20022, such as date and time, currency, float, array, etc. @@ -161,10 +166,13 @@ Please also provide the GitHub accounts of all team members. ## Future Plans -Please include here - - Publish learning and share with the community, similar to this [ Medium article](https://medium.com/@opensmartcontract/learn-ink-by-example-order-food-on-blockchain-a4024b2dee4a) and/or [Contracts-UI and Polkadot.js Smart Contract Deployment and Interaction Guide](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/BlockchainFoodOrder%20Smart%20Contract%20Deployment%20and%20Interactions%20Guide.pdf) -- Long term we intend to expand this ISO20022 proof of concepts to develop reusable tools / apps to bring Dotsama closer to ISO20022 +- Long term we intend to expand this ISO20022 PoC to: + - develop reusable tools / features to bring ISO20022 compliant payments to the Dotsama ecosystem + - Bring Polkadot / Kusama chains up to speed with Ripple XRP / XLM / Algorand / etc. on ISO20022 support + - Onramp transitional financial institutions worldwide to blockchain enabled cross border payments + - Leverage Dotsama's unique offchain computing, storage and connections (cloud, HTTP) capabilities to scale web3 dApps + - Support ISO20022 MX messages via Polkadot XCMP, and possible integration with IBC (Inter-Blockchain Communications) ## Referral Program (optional) @@ -175,5 +183,3 @@ You can find more information about the program [here](../README.md#moneybag-ref ## Additional Information **How did you hear about the Grants Program?** Web3 Foundation Website and previous work interactions - -Here you can also add any additional information that you think is relevant to this application but isn't part of it already, such as: From 2f52bf9ad6c3cbbe0917d88179ef2e201c60cb96 Mon Sep 17 00:00:00 2001 From: OpenSmartContract Date: Tue, 29 Aug 2023 10:51:48 -0700 Subject: [PATCH 07/21] Update costs to BTC --- applications/ISO20022.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index 0a93b3da9ef..75e4ccdd375 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -118,13 +118,13 @@ Please also provide the GitHub accounts of all team members. - **Total Estimated Duration:** ~3-6 months - **Full-Time Equivalent (FTE):** 1,4 FTE -- **Total Costs:** 80K USD +- **Total Costs:** 3 BTC ### Milestone 1 Example — Basic functionality - **Estimated duration:** ~1-2 months - **FTE:** 1,2 -- **Costs:** 25K USD +- **Costs:** 0.95 BTC | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -145,7 +145,7 @@ Please also provide the GitHub accounts of all team members. - **Estimated Duration:** ~2-4 months - **FTE:** 1,4 -- **Costs:** 55K USD +- **Costs:** 2.05 BTC | Number | Deliverable | Specification | | -----: | ----------- | ------------- | From 2ddb04cbecf7edd5fed84c08726f3613a4d8f039 Mon Sep 17 00:00:00 2001 From: Open Smart Contract <134966398+OpenSmartContract@users.noreply.github.com> Date: Mon, 4 Sep 2023 11:38:50 -0700 Subject: [PATCH 08/21] Update applications/ISO20022.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sebastian Müller --- applications/ISO20022.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index 75e4ccdd375..4cfc008ccad 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -2,7 +2,7 @@ - **Team Name:** Open Smart Contract - **Payment Address:** 3GTe5ArJLC8jesr6UFtB9kcoguQmvo8Cuo -- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 ## Project Overview From fc547fd21a7c98408d3727c8eea09b784b27f059 Mon Sep 17 00:00:00 2001 From: Open Smart Contract <134966398+OpenSmartContract@users.noreply.github.com> Date: Mon, 4 Sep 2023 11:39:14 -0700 Subject: [PATCH 09/21] Update applications/ISO20022.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sebastian Müller --- applications/ISO20022.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index 4cfc008ccad..d6deebe93a5 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -1,7 +1,7 @@ # ISO20022 PoC - **Team Name:** Open Smart Contract -- **Payment Address:** 3GTe5ArJLC8jesr6UFtB9kcoguQmvo8Cuo +- **Payment Address:** 3GTe5ArJLC8jesr6UFtB9kcoguQmvo8Cuo (BTC) - **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 From 0c069b14e132a9476827f978557cc38ceaac45e3 Mon Sep 17 00:00:00 2001 From: Open Smart Contract <134966398+OpenSmartContract@users.noreply.github.com> Date: Mon, 4 Sep 2023 11:40:15 -0700 Subject: [PATCH 10/21] Update applications/ISO20022.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sebastian Müller --- applications/ISO20022.md | 1 - 1 file changed, 1 deletion(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index d6deebe93a5..ecd1ae26db5 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -108,7 +108,6 @@ Please also provide the GitHub accounts of all team members. ## Development Status -- [RFPs](https://github.com/w3f/Grants-Program/tree/master/docs/RFPs) (requests for proposal) - [Blockchain Food Order dApp](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/Learn%20ink!%20by%20Example%20%E2%80%94%20Order%20Food%20on%20the%20Blockchain.pdf) - [Smart Contract Deployment and Interaction Guide using Contracts-UI and Polkadot.js](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/BlockchainFoodOrder%20Smart%20Contract%20Deployment%20and%20Interactions%20Guide.pdf) From 16385bba4c45b5ba0dcd246542d4ba586e5e93c6 Mon Sep 17 00:00:00 2001 From: OpenSmartContract Date: Mon, 4 Sep 2023 11:47:55 -0700 Subject: [PATCH 11/21] Update application per suggestions --- applications/ISO20022.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index 75e4ccdd375..09f466d5863 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -1,8 +1,8 @@ # ISO20022 PoC - **Team Name:** Open Smart Contract -- **Payment Address:** 3GTe5ArJLC8jesr6UFtB9kcoguQmvo8Cuo -- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 +- **Payment Address:** 3GTe5ArJLC8jesr6UFtB9kcoguQmvo8Cuo (BTC) +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 ## Project Overview @@ -118,13 +118,13 @@ Please also provide the GitHub accounts of all team members. - **Total Estimated Duration:** ~3-6 months - **Full-Time Equivalent (FTE):** 1,4 FTE -- **Total Costs:** 3 BTC +- **Total Costs:** 80K USD -### Milestone 1 Example — Basic functionality +### Milestone 1 - **Estimated duration:** ~1-2 months - **FTE:** 1,2 -- **Costs:** 0.95 BTC +- **Costs:** 25K USD | Number | Deliverable | Specification | | -----: | ----------- | ------------- | @@ -140,12 +140,11 @@ Please also provide the GitHub accounts of all team members. | 8. | Define ISO20022 messaging and payment events and stats | Define ISO20020 messaging and payment flow events and states | | 9. | Define ISO20022 messaging and payment queries | Define how to query ISO20022 messaging and payments, based off events, stats, transactions and indexes stored offchain | - -### Milestone 2 Example — Additional features +### Milestone 2 - **Estimated Duration:** ~2-4 months - **FTE:** 1,4 -- **Costs:** 2.05 BTC +- **Costs:** 55K USD | Number | Deliverable | Specification | | -----: | ----------- | ------------- | From 03f842d6e7feb3472a2910c2052ab756e1b5e10a Mon Sep 17 00:00:00 2001 From: OpenSmartContract Date: Tue, 5 Sep 2023 09:12:59 -0700 Subject: [PATCH 12/21] Revise to only milestone1 per recommendation --- applications/ISO20022.md | 29 ++++------------------------- 1 file changed, 4 insertions(+), 25 deletions(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index 123a4404b71..e9134307995 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -115,9 +115,9 @@ Please also provide the GitHub accounts of all team members. ### Overview -- **Total Estimated Duration:** ~3-6 months -- **Full-Time Equivalent (FTE):** 1,4 FTE -- **Total Costs:** 80K USD +- **Estimated duration:** ~1-2 months +- **FTE:** 1,2 +- **Costs:** 25K USDd ### Milestone 1 @@ -139,28 +139,6 @@ Please also provide the GitHub accounts of all team members. | 8. | Define ISO20022 messaging and payment events and stats | Define ISO20020 messaging and payment flow events and states | | 9. | Define ISO20022 messaging and payment queries | Define how to query ISO20022 messaging and payments, based off events, stats, transactions and indexes stored offchain | -### Milestone 2 - -- **Estimated Duration:** ~2-4 months -- **FTE:** 1,4 -- **Costs:** 55K USD - -| Number | Deliverable | Specification | -| -----: | ----------- | ------------- | -| **0a.** | License | Apache 2.0 | -| **0b.** | Documentation | We will provide both **inline comments** of the code and a Medium **article** that explains the use case and guide users to deploy and interact | -| **0c.** | Testing and Testing Guide | Unit and integration tests for core functions with test scripts | -| **0d.** | Docker | We will provide a docker file that can be used to test all the functionality | -| 0e. | Article | We will publish a Medium **article** about this PoC, and the feasibility of pairing up ISO20022 and Substrate offchian features to support ISO20020 payments, enabling potential financial institutions / fintech onramping to Dotsama ecosystem for blockchain based global ISO20020 compliant payments | -| 1. | Develop offchain data storage | Data structure, storage and indexing of X-border payment histories and ISO20022 messages | -| 2. | Develop offchian worker module | Logic to handle ISO20022 message mapping, processing, messaging | -| 3. | Develop Smart contracts | Set of ink! smart contracts that implements the cross border payment flow and offchian integrations, deploy on Shibuya test chain as sandbox | -| 4. | Support ISO20022 messaging and payment events and stats | Offchain logging, querying, diagnosing ISO20020 messaging and payment flow events and states | -| 5. | Develop ISO20022 messaging and payment queries | Implement querying ISO20022 messaging and payments, based off events, stats, transactions and indexes stored offchain | -| 6. | Develop Substrate module ISO20022 | Optional Substrate runtime module that implements ISO20022 message processing logic for better performance and efficiency if needed | -| 7. | Explore cloud storage and HTTP requests | Optional AWS S3 cloud storage as offchian storage extension for events / archives / scalability, and optional HTTP requests for potential future offchain queries / tranditional financial institution integrations / fiat+crypto payment flow / interoperabilities | -| 8. | Optimization and performance benchmark | Benchmark payment transaction throughput, measure binary foorprints, gas fees, cross border payment latencies in various optimizaiton implementations | -| 9. | Cross border payments comparisons | Compare end-to-end elapse time / costs, including latency / fee breakdowns, with real world fiat based cross border payments from traditional financial institutions if possible. Share comparison stats in a Medium article to be published | ## Future Plans @@ -171,6 +149,7 @@ Please also provide the GitHub accounts of all team members. - Onramp transitional financial institutions worldwide to blockchain enabled cross border payments - Leverage Dotsama's unique offchain computing, storage and connections (cloud, HTTP) capabilities to scale web3 dApps - Support ISO20022 MX messages via Polkadot XCMP, and possible integration with IBC (Inter-Blockchain Communications) + - Future milestones implementing the use case with workload estimation with insights from this initial milestone ## Referral Program (optional) From 3b6a31ed6b3f9bfea5ce4882103de0e5e8c78bcc Mon Sep 17 00:00:00 2001 From: Open Smart Contract <134966398+OpenSmartContract@users.noreply.github.com> Date: Wed, 6 Sep 2023 07:56:06 -0700 Subject: [PATCH 13/21] Update applications/ISO20022.md Co-authored-by: S E R A Y A --- applications/ISO20022.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index e9134307995..3b88047a840 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -2,7 +2,7 @@ - **Team Name:** Open Smart Contract - **Payment Address:** 3GTe5ArJLC8jesr6UFtB9kcoguQmvo8Cuo (BTC) -- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3 +- **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 2 ## Project Overview From f587dd477c06c0a397d8f01833d65fa1ad016a8b Mon Sep 17 00:00:00 2001 From: Open Smart Contract <134966398+OpenSmartContract@users.noreply.github.com> Date: Mon, 11 Sep 2023 08:38:09 -0700 Subject: [PATCH 14/21] Update applications/ISO20022.md Co-authored-by: S E R A Y A --- applications/ISO20022.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index 3b88047a840..983f2ab5737 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -9,8 +9,6 @@ Response to [RFP 20022](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/ISO_20022.md) -Project name: ISO20022 PoC - Cross border payment example as proof of concepts,leveraging the unique [Off-Chain Features of Substrate](https://docs.substrate.io/v3/concepts/off-chain-features/) that show the advantages of using [ISO20022](https://www.iso20022.org/) together with Substrate. ### Overview From c5520fc5a68a632601751faa742e14de6a155323 Mon Sep 17 00:00:00 2001 From: Open Smart Contract <134966398+OpenSmartContract@users.noreply.github.com> Date: Mon, 11 Sep 2023 08:39:00 -0700 Subject: [PATCH 15/21] Update applications/ISO20022.md Co-authored-by: S E R A Y A --- applications/ISO20022.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index 983f2ab5737..cacca987e06 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -9,7 +9,7 @@ Response to [RFP 20022](https://github.com/w3f/Grants-Program/blob/master/docs/RFPs/Open/ISO_20022.md) -Cross border payment example as proof of concepts,leveraging the unique [Off-Chain Features of Substrate](https://docs.substrate.io/v3/concepts/off-chain-features/) that show the advantages of using [ISO20022](https://www.iso20022.org/) together with Substrate. +Cross-border payment example as proof of concepts, leveraging the unique [Off-Chain Features of Substrate](https://docs.substrate.io/v3/concepts/off-chain-features/) that show the advantages of using [ISO20022](https://www.iso20022.org/) together with Substrate. ### Overview From 8e2094e722f57fc2483edec3b0b98f3ede596c59 Mon Sep 17 00:00:00 2001 From: Open Smart Contract <134966398+OpenSmartContract@users.noreply.github.com> Date: Mon, 11 Sep 2023 08:39:35 -0700 Subject: [PATCH 16/21] Update applications/ISO20022.md Co-authored-by: S E R A Y A --- applications/ISO20022.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index cacca987e06..d46c63dab8f 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -92,7 +92,7 @@ Cross-border payment example as proof of concepts, leveraging the unique [Off-Ch Daniel is the Chief Product Officer at HeroDAO where he has led blockchain based smart contract products and development on Polkodot / Kusama blockchains. Previous at Meta he managed crypto (Libra / Diem) and fiat payments and web3 initiatives. Prior to that, he was Senior Director of Product Management at Visa managing Visa's global payment product portfolios and platforms. -Here's a recent[ Medium article](https://medium.com/@opensmartcontract/learn-ink-by-example-order-food-on-blockchain-a4024b2dee4a) on ink! smart contract with Rust macros implementing dApp on Dotsama chain, with [Smart Contract Deployment and Interaction Guide using Contracts-UI and Polkadot.js](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/BlockchainFoodOrder%20Smart%20Contract%20Deployment%20and%20Interactions%20Guide.pdf). +Here's a recent [Medium article](https://medium.com/@opensmartcontract/learn-ink-by-example-order-food-on-blockchain-a4024b2dee4a) on ink! smart contract with Rust macros implementing dApp on Dotsama chain, with [Smart Contract Deployment and Interaction Guide using Contracts-UI and Polkadot.js](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/BlockchainFoodOrder%20Smart%20Contract%20Deployment%20and%20Interactions%20Guide.pdf). ### Team Code Repos - [Order Food on the Blockchain](https://github.com/InkSmartContract/BlockchainFoodOrder) From a17d45e75dda9d6c465488ce454fdb8e0446fc16 Mon Sep 17 00:00:00 2001 From: OpenSmartContract Date: Mon, 11 Sep 2023 23:19:55 -0700 Subject: [PATCH 17/21] Revision based on feedback --- applications/ISO20022.md | 94 ++++++++++++++++++++++------------------ 1 file changed, 52 insertions(+), 42 deletions(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index d46c63dab8f..9c150a7ad48 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -12,11 +12,14 @@ Response to [RFP 20022](https://github.com/w3f/Grants-Program/blob/master/docs/R Cross-border payment example as proof of concepts, leveraging the unique [Off-Chain Features of Substrate](https://docs.substrate.io/v3/concepts/off-chain-features/) that show the advantages of using [ISO20022](https://www.iso20022.org/) together with Substrate. ### Overview +The project is an [ISO20022](https://www.iso20022.org/) based cross-border payment proof of concepts implemented with Substrate off-chain computation and indexed data storage. + +ISO (International Organization for Standardization) 20022 is becoming the de facto global data standard for payments and electronic data interchange already adopted by many countries. However the ISO20022 are all about centralized fiat based payment rails among privileged global financial institutions. + +Blockchain based decentralized payment solutions can provide efficiency, low latency and cost savings potentially benefiting billions of users worldwide. There are ledger based currency exchange and remittance network such as the real-time gross settlement system from Ripple Labs Inc. yet it is permissioned, centralized and not capable of cross chains. + +Polkadot, with its multi-chain architecture, security and cross chain interoperability, is uniquely positioned to support ISO20022 compliant global payments. This project is a Proof of Concepts to understand what it takes for Dotsama ecosystem to support a cross-border payment use case, leveraging on XCM, OCW and Substrate pallets, challenges and recommendations. -- The project is an [ISO20022](https://www.iso20022.org/) based cross-border payment proof of concepts implemented with Substrate off-chain features -- A brief description: Proof of concepts of Dotsama / Substrate based ISO20022 compliant cross border payment example. -- The project intends to use various Substrate pallets and off-chain workers / storage to implement an ISO20022 X-border payment example on a Polkadot / Kusama chain -- ISO (International Organization for Standardization) 20022 is becoming the de facto global data standard for payments and electronic data interchange already adopted by many countries. Polkadot / Substrate based cross border payments can provide blockchain based payment efficiency, cost savings and interoperability with financial institutions, onramping billions of users to the ecossystem. ### Project Details @@ -24,48 +27,52 @@ Cross-border payment example as proof of concepts, leveraging the unique [Off-Ch - Use Contracts-UI (or Polkadot.js) UI interface to interact with deployed smart contracts - Data models / API specifications of the core functionality - - ISO20022 XML data models that captures essential payment metadata - - ISO20022 data types to Polkadot data types / XCM mapping table - - Data securedly stored offchain + - ISO20022 XML data models that captures essential ISO20022 cross-border payment metadata + - ISO20022 data types to XCM mappings with custom data types if gaps + - Data securely stored off chain, indexed for queries - ISO20022 messaging and payment events and stats - - ISO20022 messaging and payment queries - - Benchmark on performance, throughput, gas fees, binary size, payment latency and cost comparisons + - Persisted off chain data storeage fo performance benchmarks, throughput, gas fees, binary size, payment latency and costs + - An overview of the technology stack to be used - - Substrate Offchain workers to process compute intensive tasks such as ISO20022 message wrangling - - Substrate offchain storage / indecing to persist string heavy ISO20022 messages + - Substrate off chain workers to process compute intensive tasks such as ISO20022 message wrangling + - Substrate off chain storage / indecing to persist string heavy ISO20022 messages - ISO20022 messages parsing / mapping / processing using OCWs - - Substrate XCM for ISO20020 messaging - - Utility / Codec / RPC / etc. - - X-border payment ink! smart contracts with access control security - - Optional offchain connected cloud storage and HTTP requests + - Substrate XCM frame pallet with transport methods for ISO20020 messaging + - Custom OCWs to support cross-border payment use case with message, events, stats and payment flow query capabilities + - Optional off chain connected cloud storage and HTTP requests - Documentation of core components, protocols, architecture, etc. to be deployed - - Substrate based blockchain, including testchains to deploy as sandbox - - ink! / Rust based smart contracts implementing X-border payment logic - - Payment history along with ISO20022 messages stored offchian with indexing - - Expensive ISO20020 related computation by offchian workers with onchain accessibility - - ISO20022 messaging supported by XCMP with XCM <> ISO20020 data format translations - - ISO20022 messaging and payment events and stats - - ISO20022 messaging and payment queries + - Published article documenting detailed analysis of what it takes to support ISO20022 compliant cross-border payments on Dotsama blockchains + - Custom pallet(s) implementing cross-border payment logic + - Off chain worker logic processing compute and storage intensive payment processings + - Mapping from cross-border ISO20022 messages to XCM and XCMP messaging + - ISO20022 messages, payment history, events and stats, stored off chian with indexes for queries + - Gaps identified and solution recommendations + - Substrate based Dotsama blockchain as testnet to deploy sandbox - PoC/MVP or other relevant prior work or research on the topic - - Our research shows that multiple gaps exist to support ISO20022 compliant cross border payment use case - - There's big ata type compatibility gaps between Polkadot and IS20022, such as date and time, currency, float, array, etc. - - There's no out of box support of SO20022 XML processing and mapping such as XSD transformations - - There's no built-in data validation, message routing, payment securties, etc. - - There's no native foreign exchanage / currency conversion capabilities - - There's no payment states reflecting current cross border payment flow states + - Our research shows that many challenges exist to support ISO20022 compliant cross border payment use case + - A traditional ISO20022 cross border payment means multiple transactions in various ISO20022 message types, with multiple hops among financial entities inter-connected via custom agreements / fee structures / sfovereign regulations, with no standards + - ISO20022 and XCM are at different granularies with a single cross-border payment mapping to a set of XCM messages with flow logic + - ISO20022 payment transactions have different fees / charges based on many factors + - Traditional cross-border payments on fiat rails do not have blockchain "gas fee" concept + - Data type incompatibilities between IS20022 and XCM, such as date and time, currency, float, array, etc. + - No out of box support of XML data processing and mapping such as XSD transformations + - No native foreign exchange / currency conversion support + - XCVM with instruction set for XCMP messaging is a totally different paradigm as compared to traditional message passing + - No existing gas light solution to handle compute intensive and indexable data storage for off chain payment processing - What your project is _not_ or will _not_ provide or implement - This is not a complete cross border payment system given the scope of proof of concepts - Likely this is the first ISO20022 project on Dotsama, there could be unexpected gaps discovered - This project is not a full blown IS20022 implementation on Dotsama / Substrate but explore to expose gaps for future endeavors - This project is not about payment identity / KYC / AML solutions + - This milestone is all about understanding what it takes to support ISO20022 compliant cross-border payments on Dotsama, not implementations which could come later with more clarity coming out of this project ### Ecosystem Fit - Where and how does your project fit into the ecosystem? - - According to the RDP: "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" + - According to the RDP: "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" - Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)? - - Targeting ecosystem develpopers to levearage on the learning and tools to further develop ISO20022 compitable dApps, to make it possible for transitional financial institutions to interoprate with Polkadot / Kusama / Substrate blockchains based payment apps. + - Targeting ecosystem developers to leverage on the learning and tools to further develop ISO20022 compatible dApps, to make it possible for transitional financial institutions to interoperate with Polkadot / Kusama / Substrate blockchains based payment apps. - What need(s) does your project meet? - Explore possibilities and gaps of Polkadot / Substrate support of ISO20022 standard for future improvements - Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? @@ -77,6 +84,7 @@ Cross-border payment example as proof of concepts, leveraging the unique [Off-Ch ### Team members - Name of team leader: Daniel Deng +- Consultants with ISO20022 and cross-border domain expertise ### Contact @@ -90,7 +98,9 @@ Cross-border payment example as proof of concepts, leveraging the unique [Off-Ch ### Team's experience -Daniel is the Chief Product Officer at HeroDAO where he has led blockchain based smart contract products and development on Polkodot / Kusama blockchains. Previous at Meta he managed crypto (Libra / Diem) and fiat payments and web3 initiatives. Prior to that, he was Senior Director of Product Management at Visa managing Visa's global payment product portfolios and platforms. +Daniel is the Chief Product Officer at HeroDAO where he has led blockchain based smart contract products and development on Polkodot / Kusama blockchains. Previously at Meta he managed crypto (Libra / Diem) and fiat payments and web3 initiatives. Prior to that, he was Senior Director of Product Management at Visa managing Visa's global payment product portfolios and platforms. + +The project to add consultants from fintech / banks / financial institutions with relevant domain expertise in ISO20022 and cross-border payments. Here's a recent [Medium article](https://medium.com/@opensmartcontract/learn-ink-by-example-order-food-on-blockchain-a4024b2dee4a) on ink! smart contract with Rust macros implementing dApp on Dotsama chain, with [Smart Contract Deployment and Interaction Guide using Contracts-UI and Polkadot.js](https://github.com/InkSmartContract/BlockchainFoodOrder/blob/main/BlockchainFoodOrder%20Smart%20Contract%20Deployment%20and%20Interactions%20Guide.pdf). @@ -127,16 +137,16 @@ Please also provide the GitHub accounts of all team members. | -----: | ----------- | ------------- | | **0a.** | License | Apache 2.0 | | **0b.** | Documentation | Design documents with details on what it takes for Polkadot/Substrate to support ISO20022 messages, gaps and solution recommendations | -| 1. | Design the use case | Degine an ISO20022 cross border payment use case with persona, end-to-end flow | -| 2. | Specify ISO20022 messages | Specify ISO20022 messages for each and every step of the cross border payment flow, including reference data fields besides core XML data | -| 3. | ISO20022 XML <> Polkadot XCM data mapping | Identify data types gaps, XML<>XCM trnasformation and validations for the use case| -| 4. | ISO20022 <> Polkadot messaging | Identify XCMP gaps in messaging, relaying, routing feasibilities for the use case | -| 5. | Define offchain data storage | Define offchain data structure, storage and indexes for ISO20022 messages and payments in this use case | -| 6. | Define offchian worker module | Define OCW logic to handle ISO20022 messages mapping, processing, messaging in this use case | -| 7. | Define Smart contracts | Define ink! smart contracts to implement X-border payments and offchian integrations in this use case | -| 8. | Define ISO20022 messaging and payment events and stats | Define ISO20020 messaging and payment flow events and states | -| 9. | Define ISO20022 messaging and payment queries | Define how to query ISO20022 messaging and payments, based off events, stats, transactions and indexes stored offchain | - +| 1. | Design the use case | Design an ISO20022 cross border payment use case with persona, end-to-end flow | +| 2. | Identiy ISO20022 message types and examples for X-border payment | Specify all ISO20022 message types with examples for cross border payment, including reference data fields | +| 3. | Map ISO20022 <> XCM messages | Map ISO20022 cross-border payment message types to a set of XCM messages with processing logic, including identifying data type incompatibilities between IS20022 and XCM, replacement data types and necessary XML transformations | +| 4. | Map ISO20022 <> XCMP | Map ISO20022 cross-border payment messageing to XCMP for cross parachains transport| +| 5. | Specify off chain data storage | Specify off chain data structure, storage and indexes for ISO20022 messages, payments, events, stats| +| 6. | Specify off chian worker logic | Specify OCW logic for ISO20022 message processing, payment flow, error handling| +| 7. | Specify Substrate pallets | Specify custom pallet(s) to implement X-border payments and OCW integrations| +| 8. | Recommend blockchain gas fees handling in ISO20022 framework | Recommend solution how to fulfil blockchain gas fees in ISO20022 framework | +| 8. | Recommend how to implement ISO20022 cross-border charges & fees | Recommend solution how to implement ISO20022 cross-border payment inter-bank / X-border payment charges and fees | +| 9. | Specify query of ISO20022 messages and transactions | Specify query interface to retrieve selected ISO20022 messages and transactions| ## Future Plans @@ -145,7 +155,7 @@ Please also provide the GitHub accounts of all team members. - develop reusable tools / features to bring ISO20022 compliant payments to the Dotsama ecosystem - Bring Polkadot / Kusama chains up to speed with Ripple XRP / XLM / Algorand / etc. on ISO20022 support - Onramp transitional financial institutions worldwide to blockchain enabled cross border payments - - Leverage Dotsama's unique offchain computing, storage and connections (cloud, HTTP) capabilities to scale web3 dApps + - Leverage Dotsama's unique off chain computing, storage and connections (cloud, HTTP) capabilities to scale web3 dApps - Support ISO20022 MX messages via Polkadot XCMP, and possible integration with IBC (Inter-Blockchain Communications) - Future milestones implementing the use case with workload estimation with insights from this initial milestone From 174a03877ba476fe943e36d42f2d8c5142532e58 Mon Sep 17 00:00:00 2001 From: OpenSmartContract Date: Tue, 12 Sep 2023 05:48:15 -0700 Subject: [PATCH 18/21] Add Medium article to deliverables --- applications/ISO20022.md | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index 9c150a7ad48..f27cf09307d 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -147,6 +147,7 @@ Please also provide the GitHub accounts of all team members. | 8. | Recommend blockchain gas fees handling in ISO20022 framework | Recommend solution how to fulfil blockchain gas fees in ISO20022 framework | | 8. | Recommend how to implement ISO20022 cross-border charges & fees | Recommend solution how to implement ISO20022 cross-border payment inter-bank / X-border payment charges and fees | | 9. | Specify query of ISO20022 messages and transactions | Specify query interface to retrieve selected ISO20022 messages and transactions| +| 10. | Publication to share with the broader community and get additional feedback | Medium article covering: 1) feasibility and comparative advantages of Substrate based ISO20022 compliant cross-border payments on Dotsama chain; 2) benefits of such a solution in contrast to traditional centralized cross-border payments; 3) recommendation of future works towards a scalable, performant and cost effective solution supporting ISO20022 on Polkadot/Kusama chains and beyond. | ## Future Plans From 7d461cbf26482d662c97da0a1785a1f90130c36d Mon Sep 17 00:00:00 2001 From: Open Smart Contract <134966398+OpenSmartContract@users.noreply.github.com> Date: Tue, 12 Sep 2023 10:13:58 -0700 Subject: [PATCH 19/21] Update applications/ISO20022.md Co-authored-by: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> --- applications/ISO20022.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index f27cf09307d..aed408f10dd 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -125,7 +125,7 @@ Please also provide the GitHub accounts of all team members. - **Estimated duration:** ~1-2 months - **FTE:** 1,2 -- **Costs:** 25K USDd +- **Costs:** 25K USD ### Milestone 1 From e0d9d24ef4b1f26b0e38d24e8c421f7c77bfbc1c Mon Sep 17 00:00:00 2001 From: Open Smart Contract <134966398+OpenSmartContract@users.noreply.github.com> Date: Tue, 12 Sep 2023 10:14:26 -0700 Subject: [PATCH 20/21] Update applications/ISO20022.md Co-authored-by: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> --- applications/ISO20022.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index aed408f10dd..4f3ba60d159 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -138,7 +138,7 @@ Please also provide the GitHub accounts of all team members. | **0a.** | License | Apache 2.0 | | **0b.** | Documentation | Design documents with details on what it takes for Polkadot/Substrate to support ISO20022 messages, gaps and solution recommendations | | 1. | Design the use case | Design an ISO20022 cross border payment use case with persona, end-to-end flow | -| 2. | Identiy ISO20022 message types and examples for X-border payment | Specify all ISO20022 message types with examples for cross border payment, including reference data fields | +| 2. | Identify ISO20022 message types and examples for X-border payment | Specify all ISO20022 message types with examples for cross border payment, including reference data fields | | 3. | Map ISO20022 <> XCM messages | Map ISO20022 cross-border payment message types to a set of XCM messages with processing logic, including identifying data type incompatibilities between IS20022 and XCM, replacement data types and necessary XML transformations | | 4. | Map ISO20022 <> XCMP | Map ISO20022 cross-border payment messageing to XCMP for cross parachains transport| | 5. | Specify off chain data storage | Specify off chain data structure, storage and indexes for ISO20022 messages, payments, events, stats| From 6cea64b00d45195eec2cdef87bf66acb88726e81 Mon Sep 17 00:00:00 2001 From: Open Smart Contract <134966398+OpenSmartContract@users.noreply.github.com> Date: Tue, 12 Sep 2023 10:14:44 -0700 Subject: [PATCH 21/21] Update applications/ISO20022.md Co-authored-by: Keegan | W3F <35080151+keeganquigley@users.noreply.github.com> --- applications/ISO20022.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/ISO20022.md b/applications/ISO20022.md index 4f3ba60d159..df81129390d 100644 --- a/applications/ISO20022.md +++ b/applications/ISO20022.md @@ -144,7 +144,7 @@ Please also provide the GitHub accounts of all team members. | 5. | Specify off chain data storage | Specify off chain data structure, storage and indexes for ISO20022 messages, payments, events, stats| | 6. | Specify off chian worker logic | Specify OCW logic for ISO20022 message processing, payment flow, error handling| | 7. | Specify Substrate pallets | Specify custom pallet(s) to implement X-border payments and OCW integrations| -| 8. | Recommend blockchain gas fees handling in ISO20022 framework | Recommend solution how to fulfil blockchain gas fees in ISO20022 framework | +| 8. | Recommend blockchain gas fees handling in ISO20022 framework | Recommend solution how to fulfill blockchain gas fees in ISO20022 framework | | 8. | Recommend how to implement ISO20022 cross-border charges & fees | Recommend solution how to implement ISO20022 cross-border payment inter-bank / X-border payment charges and fees | | 9. | Specify query of ISO20022 messages and transactions | Specify query interface to retrieve selected ISO20022 messages and transactions| | 10. | Publication to share with the broader community and get additional feedback | Medium article covering: 1) feasibility and comparative advantages of Substrate based ISO20022 compliant cross-border payments on Dotsama chain; 2) benefits of such a solution in contrast to traditional centralized cross-border payments; 3) recommendation of future works towards a scalable, performant and cost effective solution supporting ISO20022 on Polkadot/Kusama chains and beyond. |