dhiway / cord.js

Cord JS API
Apache License 2.0
35 stars 46 forks source link

[DMP 2024]: Create the core modules of cord.js sdk in Python #166

Open NiranjanAP opened 5 months ago

NiranjanAP commented 5 months ago

Description

cord.js is an SDK to connect to CORD. We have a requirement to write the same SDK in Python. As part of this we have to first create the core SDK modules that include the DID and Chainspace. Scope of this issue it to create an SDK in Python along with any dependencies.

Goals

Expected Outcome

We should have a functioning SDK written in Python that connects to CORD and is able to make calls to CORD

Acceptance Criteria

Fully functioning SDK written in Python with all the available methods/functions implemented A working demo script https://github.com/dhiway/cord.js/blob/develop/demo/src/func-test.ts All the unit test cases implemented

Implementation Details

Refer cord.js repo for reference SDK written in typescript, this needs to be replicated in Python Refer to the documentation https://docs.cord.network/cordjs/integratecord/ for the detailed explanation on the working of demo script https://github.com/dhiway/cord.js/blob/develop/demo/src/func-test.ts Note: There will be some dependency modules before these two modules can work

Mockups/Wireframes

NA

Product Name

cord sdk in Python

Organisation Name

Dhiway

Domain

Open Source Library

Tech Skills Needed

Python, TypeScript

Mentor(s)

@adi-a11y @amarts @NiranjanAP

Category

Other

Shruti3004 commented 4 months ago

Want to know more about CORD? Check the whitepaper here.

Ris-code commented 3 months ago

Hi @NiranjanAP @amarts @adi-a11y

My name is Rishav Aich, and I'm a student currently pursuing my BTech in Artificial Intelligence and Data Science from IIT Jodhpur. I am proficient in C++, Python, and R programming languages. With a strong background in development, I have worked with typescripts.

Contribution Plan:

This project completely aligns with my skills. It would be great on my part to contribute to and learn from this project.

Please advise me on how to start on this and what to take care of.

Thank you!!

NiranjanAP commented 3 months ago

Hi @NiranjanAP @amarts @adi-a11y

My name is Rishav Aich, and I'm a student currently pursuing my BTech in Artificial Intelligence and Data Science from IIT Jodhpur. I am proficient in C++, Python, and R programming languages. With a strong background in development, I have worked with typescripts.

Contribution Plan:

  • Since I'm good at Python, I can start by setting up the basic framework to connect to CORD.
  • I'll work on creating the part of the SDK that deals with DID (Decentralized Identifiers) in Python, making sure it does the same things as in cord.js.
  • I'll also develop the Chainspace module using Python, making sure it works smoothly with the CORD network.
  • I'll create tests to check if the DID and Chainspace modules are working correctly. Testing is important to make sure everything works well.
  • I'll make a simple script to show how the SDK works, similar to the one in cord.js. This will help people understand how to use the Python SDK.
  • I'll take care of finding and adding any extra things we need for the SDK to work properly with Python.

This project completely aligns with my skills. It would be great on my part to contribute to and learn from this project.

Please advise me on how to start on this and what to take care of.

Thank you!!

Sounds good. Hope you are in touch with vanshika@samagragovernance.in, saumya@samagragovernance.in for the process to follow.

AbhimanyuSamagra commented 3 months ago

Do not ask process related questions about how to apply and who to contact in the above ticket. The only questions allowed are about technical aspects of the project itself. If you want help with the process, you can refer instructions listed on Unstop and any further queries can be taken up on our Discord channel titled DMP queries.

Ris-code commented 3 months ago

@NiranjanAP
Sir, I had a doubt. Do all the dependencies also need to be coded in Python?

NiranjanAP commented 3 months ago

@NiranjanAP Sir, I had a doubt. Do all the dependencies also need to be coded in Python?

Yes, that is the straight forward way to go ahead.

Ris-code commented 3 months ago

@NiranjanAP Sir, I had a doubt. Do all the dependencies also need to be coded in Python?

Yes, that is the straight forward way to go ahead.

Ok, so, sir, basically, I need to code all the packages in Python and then do the tasks mentioned above. Am I right?

Ris-code commented 3 months ago

@NiranjanAP , Sir, the polka dot module is directly used in the typescript part because it is written in typescript only, so its functions are directly used. But it is not compatible with the Python language. So, can I use similar Python libraries or define functions to perform the same task as the imported function from the polka-dot module?

amansgith commented 2 months ago

Hi @NiranjanAP @amarts @adi-a11y Can you help me with these things regarding the project for C4GT:

  1. What problem is Dhiway facing currently that the need of python SDK came up or is this issue going to enhance and increase the userbase?
  2. Is anything related to the development of the python SDK already done or started?
  3. Is this project just going to be a duplicate of Cord.js in terms of providing the functionality
  4. Is there any requirement of Rust during the project for making it able to communication with Cord?

Thanks

hardiksharma11 commented 2 months ago

Hi @NiranjanAP @amarts @adi-a11y Can you help me with these things regarding the project for C4GT:

  1. What problem is Dhiway facing currently that the need of python SDK came up or is this issue going to enhance and increase the userbase?
  2. Is anything related to the development of the python SDK already done or started?
  3. Is this project just going to be a duplicate of Cord.js in terms of providing the functionality
  4. Is there any requirement of Rust during the project for making it able to communication with Cord?

Thanks

Yes sir @NiranjanAP @amarts @adi-a11y I also had the same doubt i.e point 1

@amansgith I don't think we would be using Rust while creating the SDK but a basic knowledge of it will surely help us to understand the CORD network and it's functionalities as it is written in Rust 😄...

AbhimanyuSamagra commented 2 months ago

Do not ask process related questions about how to apply and who to contact in the above ticket. The only questions allowed are about technical aspects of the project itself. If you want help with the process, you can refer instructions listed on Unstop and any further queries can be taken up on our Discord channel titled DMP queries. Here's a Video Tutorial on how to submit a proposal for a project.

NiranjanAP commented 2 months ago

Hi @NiranjanAP @amarts @adi-a11y Can you help me with these things regarding the project for C4GT:

  1. What problem is Dhiway facing currently that the need of python SDK came up or is this issue going to enhance and increase the userbase?
  2. Is anything related to the development of the python SDK already done or started?
  3. Is this project just going to be a duplicate of Cord.js in terms of providing the functionality
  4. Is there any requirement of Rust during the project for making it able to communication with Cord?

Thanks

Yes sir @NiranjanAP @amarts @adi-a11y I also had the same doubt i.e point 1

@amansgith I don't think we would be using Rust while creating the SDK but a basic knowledge of it will surely help us to understand the CORD network and it's functionalities as it is written in Rust 😄...

1 - to make the CORD usage technology agnostic 2 - nothing implemented as of now 3 - yes 4 - nope

AashishNandakumar commented 4 days ago

Can I start working on this? Is it already asssigned?

AashishNandakumar commented 2 days ago

Can I start working on this? Is it already asssigned?

Can I start working on this?

vatsa287 commented 2 days ago

@AashishNandakumar This is assigned as part of DMP 24