I'd love to start jumping into the codebase, but I didn't know what was the best way to get started. It would be awesome if there's documentation on where to start, how the repo is structured, and how various components depend on each other.
If I've missed the documentation somewhere, would someone please point me in the right direction? Thank you!
No such document exists yet, though I agree that it should.
For now, is there anything in particular youre interested in reading through?
The 'entrypoint' is in cmd/ipfs/main.go
Each of the commands you run on the cli are in core/commands/
Bitswap (the data trading engine) is in exchange/bitswap/
and then a lot of other code is outside this repo, for instance:
Our DHT code: https://github.com/libp2p/go-libp2p-kad-dht
PubSub: https://github.com/libp2p/go-floodsub
the 'top level' libp2p repo: https://github.com/libp2p/go-libp2p
That's a super helpful start! Thank you @whyrusleeping
Went ahead and took a crack at adding it to the README. Feedback welcome! 馃槃
@jon-choi gonna go ahead and close this now
Most helpful comment
No such document exists yet, though I agree that it should.
For now, is there anything in particular youre interested in reading through?
The 'entrypoint' is in
cmd/ipfs/main.goEach of the commands you run on the cli are in
core/commands/Bitswap (the data trading engine) is in
exchange/bitswap/and then a lot of other code is outside this repo, for instance:
Our DHT code: https://github.com/libp2p/go-libp2p-kad-dht
PubSub: https://github.com/libp2p/go-floodsub
the 'top level' libp2p repo: https://github.com/libp2p/go-libp2p