From 2c1184d0ffd69d45ec274833877809c2947ed3d9 Mon Sep 17 00:00:00 2001 From: Sascha Dobschal Date: Thu, 30 Mar 2023 09:12:40 +0200 Subject: [PATCH 1/4] add IPFS Utlities milestone 2 delivery --- deliveries/ipfs_utilities-milestone_2.md | 31 ++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 deliveries/ipfs_utilities-milestone_2.md diff --git a/deliveries/ipfs_utilities-milestone_2.md b/deliveries/ipfs_utilities-milestone_2.md new file mode 100644 index 0000000000..3f9cd4d01a --- /dev/null +++ b/deliveries/ipfs_utilities-milestone_2.md @@ -0,0 +1,31 @@ +# Milestone Delivery :mailbox: + +**The [invoice form :pencil:](https://docs.google.com/forms/d/e/1FAIpQLSfmNYaoCgrxyhzgoKQ0ynQvnNRoTmgApz9NrMp-hd8mhIiO0A/viewform) has been filled out correctly for this milestone and the delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/Grants-Program/blob/master/docs/Support%20Docs/milestone-deliverables-guidelines.md).** + +* **Application Document:** [IPFS Utilities application](https://github.com/w3f/Grants-Program/blob/master/applications/ipfs_utilities.md) +* **Milestone Number:** 2 + +**Context** + +This delivery contains one repository with the implementation of an IPFS integration into Substrate. It mainly contains changes and additions to the implementation delivered in Milestone 1 of this project. + +For more details please check the Grant application document. + +**Deliverables** + +List of public GitHub repositories as deliverables: +* [Substrate IPFS](https://github.com/TDSoftware/substrate-ipfs/tree/milestone-1) + +| Number | Deliverable | Link | Notes | +| ------ | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0a. | License | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-1/LICENSE-APACHE2 | Apache 2.0 | +| 0b. | Documentation | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-1/README.md https://github.com/TDSoftware/substrate-ipfs-ui/blob/milestone-1/README.md | We provided **inline documentation** of the code, a meaningful readme for all modified modules in the repositories. | +| 0c. | Testing | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-1/README.md | Core functions are covered by unit tests as far as reasonably applicable to ensure functionality and robustness. | +| 0d. | Code | https://github.com/TDSoftware/substrate-ipfs/tree/milestone-2 | Public GitHub repository with the implementation. | +| 0e. | Article | https://medium.com/p/6cfcb537f660 | Wrote and published an medium article. See link. | +| 1. | Fetch File Implementation | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-2/frame/tds-ipfs/rpc/src/lib.rs | Implement the logic that allows clients to fetch a file from IPFS with the Substrate node. E.g. #[prg(name = "nft_getFileById")] will be designed and developed that allows users to redirect a request, which returns Result, to a file server. The PRG mechanism is used to provide a RPC API that can redirect to a file server. The existing IPFS "get file" extrinsic will be obsolet as we provide this new RPC API. | +| 2. | Web3 Client Extension | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-1/frame/tds-ipfs/ | The web3 client will be extend to show the (PRG) redirect feature and retrieve corresponding files via a public IPFS gateway. | +| 3. | Local Node Fetch Implementation | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-2/frame/tds-ipfs/rpc/src/lib.rs | Implement a file fetch RPC API, that returns the file from the local embedded IPFS node instead of the public IPFS gateway. This is helpful when waiting for the file to be available on the public IPFS gateway. | + +**Additional Information** +We want to continue on developing and applied for another milestone (3) as we discovered potential optimisations during the benchmarking. From 39a524e45893d10ec938dce0acac40f9b7a1c1bd Mon Sep 17 00:00:00 2001 From: Sascha Dobschal Date: Thu, 30 Mar 2023 09:35:26 +0200 Subject: [PATCH 2/4] add correct documentation link --- deliveries/ipfs_utilities-milestone_2.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/deliveries/ipfs_utilities-milestone_2.md b/deliveries/ipfs_utilities-milestone_2.md index 3f9cd4d01a..590ce26f19 100644 --- a/deliveries/ipfs_utilities-milestone_2.md +++ b/deliveries/ipfs_utilities-milestone_2.md @@ -16,16 +16,16 @@ For more details please check the Grant application document. List of public GitHub repositories as deliverables: * [Substrate IPFS](https://github.com/TDSoftware/substrate-ipfs/tree/milestone-1) -| Number | Deliverable | Link | Notes | -| ------ | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| 0a. | License | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-1/LICENSE-APACHE2 | Apache 2.0 | -| 0b. | Documentation | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-1/README.md https://github.com/TDSoftware/substrate-ipfs-ui/blob/milestone-1/README.md | We provided **inline documentation** of the code, a meaningful readme for all modified modules in the repositories. | -| 0c. | Testing | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-1/README.md | Core functions are covered by unit tests as far as reasonably applicable to ensure functionality and robustness. | -| 0d. | Code | https://github.com/TDSoftware/substrate-ipfs/tree/milestone-2 | Public GitHub repository with the implementation. | -| 0e. | Article | https://medium.com/p/6cfcb537f660 | Wrote and published an medium article. See link. | -| 1. | Fetch File Implementation | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-2/frame/tds-ipfs/rpc/src/lib.rs | Implement the logic that allows clients to fetch a file from IPFS with the Substrate node. E.g. #[prg(name = "nft_getFileById")] will be designed and developed that allows users to redirect a request, which returns Result, to a file server. The PRG mechanism is used to provide a RPC API that can redirect to a file server. The existing IPFS "get file" extrinsic will be obsolet as we provide this new RPC API. | -| 2. | Web3 Client Extension | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-1/frame/tds-ipfs/ | The web3 client will be extend to show the (PRG) redirect feature and retrieve corresponding files via a public IPFS gateway. | -| 3. | Local Node Fetch Implementation | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-2/frame/tds-ipfs/rpc/src/lib.rs | Implement a file fetch RPC API, that returns the file from the local embedded IPFS node instead of the public IPFS gateway. This is helpful when waiting for the file to be available on the public IPFS gateway. | +| Number | Deliverable | Link | Notes | +| ------ | ------------------------------- | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0a. | License | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-1/LICENSE-APACHE2 | Apache 2.0 | +| 0b. | Documentation | https://github.com/TDSoftware/substrate-ipfs/blob/master/docs/IPFS.md | We provided and separated and **inline documentation** of the code, a meaningful readme for all modified modules in the repositories. | +| 0c. | Testing | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-1/README.md | Core functions are covered by unit tests as far as reasonably applicable to ensure functionality and robustness. | +| 0d. | Code | https://github.com/TDSoftware/substrate-ipfs/tree/milestone-2 | Public GitHub repository with the implementation. | +| 0e. | Article | https://medium.com/p/6cfcb537f660 | Wrote and published an medium article. See link. | +| 1. | Fetch File Implementation | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-2/frame/tds-ipfs/rpc/src/lib.rs | Implement the logic that allows clients to fetch a file from IPFS with the Substrate node. E.g. #[prg(name = "nft_getFileById")] will be designed and developed that allows users to redirect a request, which returns Result, to a file server. The PRG mechanism is used to provide a RPC API that can redirect to a file server. The existing IPFS "get file" extrinsic will be obsolet as we provide this new RPC API. | +| 2. | Web3 Client Extension | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-1/frame/tds-ipfs/ | The web3 client will be extend to show the (PRG) redirect feature and retrieve corresponding files via a public IPFS gateway. | +| 3. | Local Node Fetch Implementation | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-2/frame/tds-ipfs/rpc/src/lib.rs | Implement a file fetch RPC API, that returns the file from the local embedded IPFS node instead of the public IPFS gateway. This is helpful when waiting for the file to be available on the public IPFS gateway. | **Additional Information** We want to continue on developing and applied for another milestone (3) as we discovered potential optimisations during the benchmarking. From 763e86d38fab1fdb664e6c5a920389084c974a25 Mon Sep 17 00:00:00 2001 From: Sascha Dobschal Date: Fri, 21 Apr 2023 08:23:26 +0200 Subject: [PATCH 3/4] add link to tests description --- deliveries/ipfs_utilities-milestone_2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deliveries/ipfs_utilities-milestone_2.md b/deliveries/ipfs_utilities-milestone_2.md index 590ce26f19..d6ec1b81d3 100644 --- a/deliveries/ipfs_utilities-milestone_2.md +++ b/deliveries/ipfs_utilities-milestone_2.md @@ -20,7 +20,7 @@ List of public GitHub repositories as deliverables: | ------ | ------------------------------- | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 0a. | License | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-1/LICENSE-APACHE2 | Apache 2.0 | | 0b. | Documentation | https://github.com/TDSoftware/substrate-ipfs/blob/master/docs/IPFS.md | We provided and separated and **inline documentation** of the code, a meaningful readme for all modified modules in the repositories. | -| 0c. | Testing | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-1/README.md | Core functions are covered by unit tests as far as reasonably applicable to ensure functionality and robustness. | +| 0c. | Testing | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-2/docs/IPFS.md | Core functions are covered by unit tests as far as reasonably applicable to ensure functionality and robustness. | | 0d. | Code | https://github.com/TDSoftware/substrate-ipfs/tree/milestone-2 | Public GitHub repository with the implementation. | | 0e. | Article | https://medium.com/p/6cfcb537f660 | Wrote and published an medium article. See link. | | 1. | Fetch File Implementation | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-2/frame/tds-ipfs/rpc/src/lib.rs | Implement the logic that allows clients to fetch a file from IPFS with the Substrate node. E.g. #[prg(name = "nft_getFileById")] will be designed and developed that allows users to redirect a request, which returns Result, to a file server. The PRG mechanism is used to provide a RPC API that can redirect to a file server. The existing IPFS "get file" extrinsic will be obsolet as we provide this new RPC API. | From f74b9023f0c059db72a072acf14182c50bf1819e Mon Sep 17 00:00:00 2001 From: Sascha Dobschal Date: Fri, 21 Apr 2023 08:25:44 +0200 Subject: [PATCH 4/4] Update ipfs_utilities-milestone_2.md --- deliveries/ipfs_utilities-milestone_2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deliveries/ipfs_utilities-milestone_2.md b/deliveries/ipfs_utilities-milestone_2.md index d6ec1b81d3..9b6c3539ce 100644 --- a/deliveries/ipfs_utilities-milestone_2.md +++ b/deliveries/ipfs_utilities-milestone_2.md @@ -24,7 +24,7 @@ List of public GitHub repositories as deliverables: | 0d. | Code | https://github.com/TDSoftware/substrate-ipfs/tree/milestone-2 | Public GitHub repository with the implementation. | | 0e. | Article | https://medium.com/p/6cfcb537f660 | Wrote and published an medium article. See link. | | 1. | Fetch File Implementation | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-2/frame/tds-ipfs/rpc/src/lib.rs | Implement the logic that allows clients to fetch a file from IPFS with the Substrate node. E.g. #[prg(name = "nft_getFileById")] will be designed and developed that allows users to redirect a request, which returns Result, to a file server. The PRG mechanism is used to provide a RPC API that can redirect to a file server. The existing IPFS "get file" extrinsic will be obsolet as we provide this new RPC API. | -| 2. | Web3 Client Extension | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-1/frame/tds-ipfs/ | The web3 client will be extend to show the (PRG) redirect feature and retrieve corresponding files via a public IPFS gateway. | +| 2. | Web3 Client Extension | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-1/frame/tds-ipfs/ https://github.com/TDSoftware/substrate-ipfs-example-ui | The web3 client will be extend to show the (PRG) redirect feature and retrieve corresponding files via a public IPFS gateway. | | 3. | Local Node Fetch Implementation | https://github.com/TDSoftware/substrate-ipfs/blob/milestone-2/frame/tds-ipfs/rpc/src/lib.rs | Implement a file fetch RPC API, that returns the file from the local embedded IPFS node instead of the public IPFS gateway. This is helpful when waiting for the file to be available on the public IPFS gateway. | **Additional Information**