...
1. cbindgen(git@github.com:mozilla/cbindgen.git),
2. iroha2(git@github.com:hyperledger/iroha.git) branch: iroha2-stable
3. iroha2-java(git@github.com:hyperledger/iroha-java.git)
Milestones
Eval 1:
- Add the functionality to parse function signatures with associated types out of MIR to cbindgen (either by itself or in addition to Rust source code)
- Write tests that will cover the functionality of parsing associated types in cbindgen
- Open a PR to merge this code into cbindgen, progress with further tasks as we wait for this to be approved
Eval 2:
- Use iroha_ffi to generate extern functions out of existing Rust code
- Make corrections to the iroha_ffi library in this process if needed or write manual implementations of extern functions
Eval 3:
- Use cbindgen to generate C .h header files out of extern functions in the Rust source code
- Conduct manual testing
- Address the code bugs
Eval 43:
- Document the mentorship results
- Create a small app demonstrating that you have successfully linked the shared object with the C header files
- Present your results
Timeline
Dates | Tasks/Plan | Status | ||||
---|---|---|---|---|---|---|
June 1 - June 1424 | revisit knowledge of Rust | done | ||||
June 15 25 - June 28Aug 23 | fork the cbindgen repository | June 29 - July 12 | July 13 - July 26 | July 27 - Aug 9 | Aug 10 - Aug 23 | Aug done |
Aug 24 - Sept 6 | Sept 7 - Sept 20 | Sept 21 - Oct 4 | Oct 5 - Oct 18 | Oct 19 - Nov 1 | Nov 2 - Nov 12
| done |
Sept 7 - Oct 18 | implement resolution of associated types by parsing source code of all dependent crates. create a solution to resolve mutually dependent associated types (topologically sort) | done | ||||
Oct 19 - Nov24 | generate FFI bindings (.h files) for Iroha client using cbindgen | |||||
Nov 25 - Dec 1 | write tests and open PR to cbindgen and prepare an article report | done |
Mentors
Name | Time zone | Discord ID | Telegram ID | Email ID |
---|---|---|---|---|
Marin Veršić | UTC+2 | mversic | @mingler101 | marin.versic101@gmail.com |
...
Name | Time zone | Discord ID | Telegram ID | Email ID |
---|---|---|---|---|
Orange | UTC+8 | orangeng | @orangeng | ngquanhao@gmail.com |
Merged PRs
- PR to cbindgen