Skip to content

Commit

Permalink
Merge branch 'w3f:master' into dnfra-evaluation
Browse files Browse the repository at this point in the history
  • Loading branch information
dastansam authored Aug 1, 2023
2 parents a88fe77 + 860ac56 commit 5e88fcf
Show file tree
Hide file tree
Showing 19 changed files with 2,348 additions and 24 deletions.
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,14 @@ As part of the grant program, we allow everyone to participate in the evaluation

### Process

1. [Fork](https://github.com/w3f/Grant-Milestone-Delivery/fork) this repository.
2. In the newly created fork, create a **copy** of the evaluation template ([`evaluations/evaluation-template.md`](evaluations/evaluation-template.md)).
3. Name the file `project-name_milestone-number_your-github-username.md`.
4. Fill out the template with the specifics of your evaluation. The higher the quality of your assessment and the level of detail, the higher the KSM recompense.
5. Once you have completed the evaluation, create a pull request in this repository.
6. Add a comment or review to the pull request that contains the evaluated milestone delivery. This comment should contain a quick summary of your finding as well as link to the milestone submission.
7. Milestone evaluations are double-checked by [W3F Grants Evaluators](https://grants.web3.foundation/docs/Introduction/team#w3f-grants-committee). Successful milestone evaluations are merged and the evaluator is rewarded with KSM.
1. Let the [Grants Team](https://grants.web3.foundation/docs/Introduction/team#w3f-grants-evaluators) know that you are intending to work on an external evaluation, either by commenting on the milestone pull request in question, by submitting a draft PR with a reference to the milestone PR, by [email](mailto:[email protected]?subject=External%20Evaluation) or [Matrix](https://matrix.to/#/!XpynPDLusWUWfDpaqr:matrix.org?via=web3.foundation).
2. [Fork](https://github.com/w3f/Grant-Milestone-Delivery/fork) this repository.
3. In the newly created fork, create a **copy** of the evaluation template ([`evaluations/evaluation-template.md`](evaluations/evaluation-template.md)).
4. Name the file `project-name_milestone-number_your-github-username.md`.
5. Fill out the template with the specifics of your evaluation. The higher the quality of your assessment and the level of detail, the higher the KSM recompense.
6. Once you have completed the evaluation, create a pull request in this repository.
7. Add a comment or review to the pull request that contains the evaluated milestone delivery. This comment should contain a quick summary of your finding as well as link to the milestone submission.
8. Milestone evaluations are double-checked by [W3F Grants Evaluators](https://grants.web3.foundation/docs/Introduction/team#w3f-grants-committee). Successful milestone evaluations are merged and the evaluator is rewarded with KSM.

## :bulb: Help

Expand Down
30 changes: 30 additions & 0 deletions deliveries/Knowledge-Oriented-Framework-Milestone 3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Milestone Delivery :mailbox:

> ⚡ Only the GitHub account that submitted the application is allowed to submit milestones.
>
> Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with `>`, such as this one, can be removed.
**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:** https://github.com/w3f/Grants-Program/blob/master/applications/Knowledge-Oriented-Framework.md
* **Milestone Number:** 3

**Context** (optional)
> An important aspect of creating an ontology is to engage with experts from application domains to gain their insights and perspectives. This engagement helps to ensure that the ontological framework is grounded in real-world experience and reflects the current understanding of representative personas in the applied fields. In this sense, a key step of the proposed approach is to present and discuss the ontology with the Polkadot team.
**Deliverables**
> We wrote an article reporting the scientific findings regarding the proposed conceptual framework that includes a domain ontology called POnto (a Polkadot Ontology). POnto provides a structured representation of the ecosystem's concepts and relationships, enabling a formal understanding of the platform. The proposed knowledge-oriented approach enhances integration and communicability, enabling a wider range of users to participate in the ecosystem and facilitating the development of AI-based applications.


| Number | Deliverable | Link | Notes |
| ------------- | ------------- | ------------- |------------- |
| 0a. | License |[License](https://creativecommons.org/licenses/by-sa/4.0/)|Creative Commons BY-SA|
| 0b. | Documentation/Tutorial |[CollabSession](https://github.com/mobr-ai/POnto/raw/main/deliverables/milestone3/collabsession_reflections.pdf) [Article](https://github.com/mobr-ai/POnto/raw/main/deliverables/milestone3/article.pdf)| Collaborative Session and Reflections Scientific and Technical Findings |
| 0c. | Methodology |[Mural](https://app.mural.co/t/mobrsys8246/m/mobrsys8246/1687177222066/0657ff82c759a1e630298bfe0bef6f839249ced7?sender=uaffae0538327c8810b801518) [Questionnaire](https://docs.google.com/forms/d/e/1FAIpQLSdc6twdciTH9hF-dKiNsv5oCWoIZwbyqwuFqKNB5sPq_AA6ww/viewform?usp=pp_url) [Article](https://github.com/mobr-ai/POnto/raw/main/deliverables/milestone3/article.pdf)| Methodology: see Section IV of the Article describing the Methodology |
| 0d. | Infrastructure |[TR](https://github.com/mobr-ai/POnto/raw/main/deliverables/milestone3/infrastructure.pdf)|Technical Report presenting the infrastructure requirements|
| 0e. | Article |[Article](https://github.com/mobr-ai/POnto/raw/main/deliverables/milestone3/article.pdf)|Full article detailing scientific and technical findings achieved in the project|
| 1. | Presentation Deck |[Deck](https://github.com/mobr-ai/POnto/raw/main/deliverables/milestone3/collabsession_reflections.pdf)|Slide deck with reflections over the discussed content and action items|

**Additional Information**
> This is the last milestone in the current research grant. We count on the engagement of the Polkadot community to keep evolving with the POnto specification.
31 changes: 31 additions & 0 deletions deliveries/contracts-tool-1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Milestone Delivery :mailbox:

> ⚡ Only the GitHub account that submitted the application is allowed to submit milestones.
>
> Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with `>`, such as this one, can be removed.
**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:** https://github.com/w3f/Grants-Program/blob/master/applications/contracts-tool.md
* **Milestone Number:** 1

**Context** (optional)
> Please provide a short paragraph or two connecting the deliverables in this milestone and describing their purpose.
**Deliverables**
> Please provide a list of all deliverables of the milestone extracted from the initial application and a link to the deliverable itself. Ideally all links inside the below table should include a commit hash, which will be used for testing. If you don't provide a commit hash, we will work off the default branch of your repository. Thus, if you plan on continuing work after delivery, we suggest you create a separate branch for either the delivery or your continuing work.
>
> If there is anything particular about any of the deliverables we or a future reader should know, use the respective `Notes` column.
| Number | Deliverable | Link | Notes |
| ------------- | ------------- | ------------- |------------- |
| **0a.** | License | [GPLv3](https://github.com/paritytech/smart-bench/blob/master/LICENSE) ||
| **0b.** | Documentation | [README for tool](https://github.com/paritytech/smart-bench/blob/master/README.md), [README for docker](https://github.com/paritytech/smart-bench/blob/master/launch/README.md) ||
| **0c.** | Testing and Testing Guide | [README](https://github.com/paritytech/smart-bench/blob/master/README.md) |Integration tests are provided. Unit tests would require to mock node responses, which cause huge maintenance overhead|
| **0d.** | Docker | [Dockerfile](https://github.com/paritytech/smart-bench/blob/master/launch/smart_bench.Dockerfile) ||
| 1. | Updated evm contracts | [Evm support](https://github.com/paritytech/smart-bench/tree/master/src/evm) ||
| 2. | Support for solidity-wasm contracts | [Solidity-wasm](https://github.com/paritytech/smart-bench/tree/master/src/wasm) ||
| 3. | Launch scripts | [Launch scripts](https://github.com/paritytech/smart-bench/tree/master/launch) ||

**Additional Information**
> Any further comments on the milestone that you would like to share with us.
38 changes: 38 additions & 0 deletions deliveries/ink-pallet-benchmarking-milestone_3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Milestone Delivery :mailbox:

> ⚡ Only the GitHub account that submitted the application is allowed to submit milestones.
>
> Don't remove any of the mandatory parts presented in bold letters or as headlines! Lines starting with `>`, such as this one, can be removed.
**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).** I tried filling the form but encountered an error when I was trying to submit it.

* **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/ink-pallet-benchmarking-phase-2.md
* **Milestone Number:** 3

**Context** (optional)
There are multiple ways to implement the logic in substrate i.e using pallets or ink smart contracts, or even writing solidity code and compiling it to WASM with the help of a solang compiler. We have to benchmark the performance metrics of the logic implemented using each of the above methods. We have already benchmarked the storage performance(basic data types) of each of the implementations as part of Milestone 1 and 2. Now, we will benchmark CPU-intensive logic, events emission and cross-contract calls across all the four implementations. We hope this will help new developers in deciding the best approach to implement the logic.

**Deliverables**

| Number | Deliverable | Link | Notes |
| ------------- | ------------- | ------------- |------------- |
| **0a.** | License | Apache 2.0 / GPLv3 / MIT / Unlicense | |
| **0b.** | Documentation | [README](https://github.com/Nikhil-Desai-Talentica/substrate-node-template-benchmarking/blob/contracts-benchmarking/README.md) | |
| **0c.** | Testing and Testing Guide | N/A | The added code utilizes a core module of substrate itself, the benchmarking pallet. |
| **0d.** | Docker | Not Applicable. | |
| 0e. | Article | https://talenticaall-my.sharepoint.com/:w:/g/personal/nikhil_desai_talentica_com/ESEnZ3pFvdhHi4_8VLlQLWYBKEhAuUz5_ee5gSPnKYMSkw?e=zZmrMS | Three compute-intensive functions, one event emission and cross-contract calls wherever possible are benchmarked. |
| 1. | Pallet CPU-intensive extrinsic | https://github.com/Nikhil-Desai-Talentica/substrate-node-template-benchmarking/blob/contracts-benchmarking/pallets/template/src/lib.rs | Three compute-intensive candidates are chosen. |
| 2. | Ink! CPU-intensive function | https://github.com/Nikhil-Desai-Talentica/substrate-node-template-benchmarking/blob/contracts-benchmarking/test/lib.rs | The same three compute-intensive candidates are chosen. |
| 3. | Solidity-WASM and Solidity-Native CPU-intensive function | https://github.com/Nikhil-Desai-Talentica/substrate-node-template-benchmarking/blob/contracts-benchmarking/solidity-sample-contract/sample.sol | The same three compute-intensive candidates are chosen. |
| 4. | CPU-intensive benchmarks | https://talenticaall-my.sharepoint.com/:w:/g/personal/nikhil_desai_talentica_com/ESEnZ3pFvdhHi4_8VLlQLWYBKEhAuUz5_ee5gSPnKYMSkw?e=zZmrMS | The table within the document shows how each implementation performs. |
| 5. | Pallet cross-contract call | https://github.com/Nikhil-Desai-Talentica/substrate-node-template-benchmarking/blob/contracts-benchmarking/pallets/callee/src/lib.rs | The template pallet calls this callee pallet's extrinsic. |
| 6. | Ink! cross-contract call | https://github.com/Nikhil-Desai-Talentica/substrate-node-template-benchmarking/blob/contracts-benchmarking/inner/lib.rs | The sample test Ink! smart contract calls the inner contract's exposed function. |
| 7. | cross-contract benchmarks | https://talenticaall-my.sharepoint.com/:w:/g/personal/nikhil_desai_talentica_com/ESEnZ3pFvdhHi4_8VLlQLWYBKEhAuUz5_ee5gSPnKYMSkw?e=zZmrMS | The table within the document shows how each implementation performs. |
| 8. | Solidity-WASM and Solidity-Native cross-contract call | Add another Solidity contract and invoke it from the sample Solidity contract. (Note: There are [unresolved issues](https://github.com/hyperledger/solang/issues/666) questioning the feasibility of cross-contract calls in Solidity-WASM and Solidity-Native. Nevertheless, an attempt will be made to see if it's possible. | An attempt was made to benchmark cross-contract call from Solidity-Native to another contract of the same implementation, however it couldn't be done. |
| 9. | Pallet events | https://github.com/Nikhil-Desai-Talentica/substrate-node-template-benchmarking/blob/contracts-benchmarking/pallets/template/src/lib.rs | |
| 10. | Ink! events | https://github.com/Nikhil-Desai-Talentica/substrate-node-template-benchmarking/blob/contracts-benchmarking/test/lib.rs | |
| 11. | Solidity-WASM and Solidity-Native events | https://github.com/Nikhil-Desai-Talentica/substrate-node-template-benchmarking/blob/contracts-benchmarking/solidity-sample-contract/sample.sol | |
| 12. | Benchmark events across implementations | https://talenticaall-my.sharepoint.com/:w:/g/personal/nikhil_desai_talentica_com/ESEnZ3pFvdhHi4_8VLlQLWYBKEhAuUz5_ee5gSPnKYMSkw?e=zZmrMS | The table within the document shows how each implementation performs. |

**Additional Information**
None
25 changes: 25 additions & 0 deletions deliveries/ocelloids_monitoring_sdk-milestone_1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Milestone Delivery :mailbox:

**The [invoice form :memo:](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:** https://github.com/w3f/Grants-Program/blob/master/applications/ocelloids_monitoring_sdk.md
* **Milestone Number:** 1

**Context**

This milestone delivery encompasses key components of the Ocelloids Monitoring SDK. The deliverables include the Core SDK (Deliverable 1), which serves as the foundation for monitoring functionality, ink! Contracts Domain Logic (Deliverable 2) for seamless integration with ink! contracts, and an example application (Deliverable 3) that demonstrates the practical usage and capabilities of the SDK.

**Deliverables**

| Number | Deliverable | Link | Notes |
| ------- | ------------- | ------------- |------------- |
| **0a.** | License | https://github.com/sodazone/ocelloids/blob/main/LICENSE | |
| **0b.** | Documentation | <ul><li>https://github.com/sodazone/ocelloids/blob/main/README.md</li><li>https://github.com/sodazone/ocelloids/blob/main/guides/QUICKSTART.md</li><li>https://sodazone.github.io/ocelloids/</li></ul>| There are detailed READMEs for each module and also inline source code documentation. We also have a quickstart guide and a documentation site to help with setting up the first Ocelloids project. |
| **0c.** | Testing and Testing Guide | https://github.com/sodazone/ocelloids#testing | |
| 1. | Core SDK | https://github.com/sodazone/ocelloids/tree/main/packages/core | |
| 2. | ink! Contracts Domain Logic | https://github.com/sodazone/ocelloids/tree/main/packages/pallets/contracts | |
| 3. | Example application | https://github.com/sodazone/ocelloids/tree/main/examples/watch-contracts | |

**Additional Information**

The core and contracts pallet packages are published in the public NPM registry.
Loading

0 comments on commit 5e88fcf

Please sign in to comment.