WIP - Awesome Relay Endeavour
dryajov opened this issue · comments
We're getting close to completing the JS circuit implementation, this issue is to track further progress. Main work is being done here - libp2p/js-libp2p-circuit#9 libp2p/js-libp2p-circuit#14.
Assumptions (needs validation)
- All addresses are encapsulated with
p2p-circuit
by default to make them dialable over circuit relay - If an explicit relay address is present don't add defaults, use that as the address instead
- Out of all available transports relay is dialed last
Outstanding work (this will be kept up to date with specific tasks as they come up):
- Complete the relay spec libp2p/specs#15
- Verify and complete integration points in
js-ipfs
andlibp2p
- Finalize integrating with
libp2p
- Finalize integrating with
js-ipfs
- Finalize integrating with
- More test coverage and integration tests (WIP)
- this is the latest coverage report for unit tests, lots more is needed but we're getting there
=============================== Coverage summary ===============================
Statements : 62.12% ( 264/425 )
Branches : 50.74% ( 69/136 )
Functions : 50% ( 13/26 )
Lines : 62.2% ( 255/410 )
================================================================================
- Cleanup implementation
- cleanup pull stream read/write logic
- cleanup
relay.js
- cleanup
listener.js
Outstanding PRs:
Name | Ready for Review | Reviewed | Merged | Published |
---|---|---|---|---|
libp2p | ❌ | ❌ | ❌ | ❌ |
libp2p-swarm | ❌ | ❌ | ❌ | ❌ |
ipfs | ❌ | ❌ | ❌ | ❌ |
libp2p-tcp | ✅ | ❌ | ❌ | ❌ |
libp2p-websockets | ✅ | ❌ | ❌ | ❌ |
mafmt | ✅ | ❌ | ❌ | ❌ |
@diasdavid @lgierth @whyrusleeping @dignifiedquire
NOTE: I'm currently bringing this issue up to date with all the latests developments - this is still in WIP.
Bumping this as my priority of focus for the next couple of days :) (meaning, will prioritize this over #822, so that we are focused in one thing)
@diasdavid I've updated the above with some more info. In general circuit should be ready to be reviewed, there might be some minor churn but in general, I don't expect any more major changes. I'll concentrate on finalizing integration with libp2p
and js-ipfs
, and continue adding more tests.
Here are the action items discussed last week:
- Clean up libp2p tests
- Add swarm tests
- Work on go-js interop tests (WIP)
- Prepare demo that showcases circuit (WIP)
- Use the files transfer example
Thanks @diasdavid