Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider implementing part of that as a reusable library #2

Closed
fabricedesre opened this issue Jan 30, 2023 · 2 comments
Closed

Consider implementing part of that as a reusable library #2

fabricedesre opened this issue Jan 30, 2023 · 2 comments

Comments

@fabricedesre
Copy link

Hi,

I think it would be valuable to implement the chromium support in 2 components:

  1. A libipfsclient library that deals with IPFS specific bits, and exposes hooks to the host using the library. That would likely cover:
  • Low level CID / multihash bits.
  • The UnixFS state machine to decode and verify blocks (DAG, HAMT).
  • The block store.
  • IPNS resolution.
  1. The chromium glue code.

The host (here chromium) would provide http networking, low level DNS, heuristic for gateway scoring, etc.

This would make it possible to share the IPFS specific bits among web runtimes (and other targets) more easily. I would be interested to re-use that for a Gecko and Servo implementations for instance.

@John-LittleBearLabs
Copy link
Collaborator

Agreed that code sharing would be desirable if it works out. Organizing in 2 components rather than 1 seems pretty low-cost from my end, so definitely will take this into consideration.

@fabricedesre
Copy link
Author

Cool! One other thing to consider is the implementation language for the shared component. Rust would be my #1 choice since it's a good fit for all my use cases (and has better IPFS ecosystem use than c++).

John-LittleBearLabs added a commit that referenced this issue Apr 4, 2023
# This is the 1st commit message:

Verify each block.
Works iff SHA-256.
Compare performance.

# This is the commit message #2:

bookworm
John-LittleBearLabs added a commit that referenced this issue Nov 8, 2023
# This is the 1st commit message:

Fixes #39

# This is the commit message #2:

covg

# This is the commit message #3:

groundwork
John-LittleBearLabs added a commit that referenced this issue Nov 15, 2023
# This is the 1st commit message:

Fixes #39

# This is the commit message #2:

covg

# This is the commit message #3:

groundwork
John-LittleBearLabs added a commit that referenced this issue Sep 23, 2024
# This is the 1st commit message:

doxy

# This is the commit message #2:

chromium_edits/130.0.6723.6/
John-LittleBearLabs added a commit that referenced this issue Oct 16, 2024
# This is the 1st commit message:

doxy

# This is the commit message #2:

chromium_edits/131.0.6753.0/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants