ipfs-shipyard / py-ipfs

python implementation of ipfs
http://ipfs.github.io/py-ipfs/
MIT License
477 stars 95 forks source link

Current state of development? #51

Open utkarsh5k opened 5 years ago

utkarsh5k commented 5 years ago

Is this still under active development? What are the current items that are being implemented? Would love to work on some of the implementation (would need a LOT of help, of course).

AliabbasMerchant commented 5 years ago

Checkout Issue #49

Also, I had started implementing bitswap py-ipfs-bitswap, but I have paused it due to personal commitments and lack of response. I plan to restart it in a few days (hopefully I will get proper feedback this time 😅). You can work on some other aspect of py-ipfs if you want ✌️

@alexander255 is currently heading the development of py-ipfs

AliabbasMerchant commented 5 years ago

@alexander255 Please guide us and tell us what is to be done next. And what is the roadmap of the project

ntninja commented 5 years ago

@AliabbasMerchant: What feedback were you missing? Maybe I didn't notice it, but I can't recall you asking me anything recently. 🙂

As for the roadmap: There hasn't changed much since I updated it last I fear: It's still all contained in #49. I could extend it to have more items if there is interest through.

@utkarsh5k: Are you more interested in networking stuff (block exchange, security, DHT, …) or local stuff (fetching blocks from go-IPFS's local repository)? That's roughly the division I made in the roadmap since those two things can be implemented pretty much independently from each other.

AliabbasMerchant commented 5 years ago

@alexander255 https://github.com/ipfs/py-ipfs/issues/49#issuecomment-468931595 😅

utkarsh5k commented 5 years ago

@alexander255 : I'd love to work with the networking side of things. I am assuming that this work would mostly involve libp2p. I'd love to talk to you more about the current work done, some design specs and what I can take on for the same.

ntninja commented 5 years ago

@AliabbasMerchant: Indeed! How didn't I see that!? Left a bunch of comments around the repo and in that issue. Sorry about this!

ntninja commented 5 years ago

@utkarsh5k: You are correct about libp2p of course 🙂 There really isn't all that much work done atm and py-libp2p isn't really usable or compatible with any real-work application yet. As such I've added some py-libp2p related things to #49. The MSS one should be fairly easy, adding encryption on the other hand does require some background I fear.

Based on your message, would you be more comfortable using some other communication channel or is GitHub OK for you? Regarding the tasks at hand (there is obviously always more than I list at any given time): Is there any thing you'd like to work on in particular? What's your background in programming/networking/security? I can help you out getting starting and reviewing stuff, but you'd have to show some initiative of course. 😉

utkarsh5k commented 5 years ago

@alexander255 : We can use any other channel of your choice for communicating further, talking on this thread isn't very efficient.

In the past, I have written a lot of code in python, however off late I have been slightly out of touch, but I don't think it will take too long for me to ramp up again. I have a fair background in networking because my day job (@ Microsoft) requires me to work in the domain of distributed systems, and I also have a fair theoretical foundation in networking. I have relatively little background in security, but I'd love to explore other areas, and as such, I'm willing to put in the time and effort to learn on the go (would require some help from you folks, of-course! 😄)

There is a lot I am interested in, inside the peer to peer domain, but from your first comment, I'd like to explore DHT first. It would be great to discuss what implementations (if any) we have, and if no, what options can we consider (like Chord/Kelips). Edit: I can start looking into some of the tasks you listed in #49 too.

On the side, I think it will be great for me to parallelly pick up some small documentation tasks, as it'll help me understand the system better.

utkarsh5k commented 5 years ago

@alexander255 any thoughts on the above?

utkarsh5k commented 5 years ago

@alexander255 pinging again. :)

ntninja commented 5 years ago

@utkarsh5k: I'm very sorry for the long delay on my end.

I must confess that I have very little knowledge about the DHT that IPFS currently uses and documentation has only recently started to be written (link). A couple of months ago some form of kad support was added to py-libp2p(I have updated #49 accordingly). The main tracking issue is at: https://github.com/libp2p/py-libp2p/issues/150

It would be great to discuss what implementations (if any) we have, and if no, what options can we consider (like Chord/Kelips).

Having other implementations definitely sounds interesting! Main problem is that many of the other required functions for using these in the context of IPFS or even libp2p do not exist yet (that's what the other tasks are about), so their utility would be quite limited at this point.

Sorry to let you waiting so long for this kinda lame response, my next reply will likely be a lot quicker. :flushed: