ipfs / js-ipfs

IPFS implementation in JavaScript

Home Page:https://js.ipfs.tech

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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)

  1. All addresses are encapsulated with p2p-circuit by default to make them dialable over circuit relay
  2. If an explicit relay address is present don't add defaults, use that as the address instead
  3. 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 and libp2p
    • Finalize integrating with libp2p
    • Finalize integrating with js-ipfs
  • 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.

@diasdavid

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

@dryajov moved the list to the open PR, reducing the places where information lives #830