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

Specs/ipfs storage engine #8

Merged
merged 4 commits into from
May 24, 2023
Merged

Specs/ipfs storage engine #8

merged 4 commits into from
May 24, 2023

Conversation

chiro-hiro
Copy link
Contributor

Feature type

  • UI
  • Implementation
  • Specification
  • CI/CD
  • Other

Feature description

Update the specification of IPFS and IPFS Storage Engine

Pull request checklist

Please check if your PR fulfills the following requirements:

  • Your code builds clean without any errors or warnings.
  • Tests for changes have been added (for bug fixes / features). If no, why?

specs/docs/distributed-storage-engine/ipfs.md Outdated Show resolved Hide resolved

- Transport: [TCP](https://github.com/libp2p/js-libp2p-tcp), [WebSockets](https://github.com/libp2p/js-libp2p-websockets) these two transports handle the connect in different way. TCP allowed you to handle connect natively but it's required to use `Node.js` run-time instead of browser based. WebSockets module work for both with the lesser performance.
- Encryption: [noise](https://github.com/ChainSafe/js-libp2p-noise), we don't have any option since TLS didn't have any implement for JS.
- Multiplexer: We have two options [mplex](https://github.com/libp2p/js-libp2p-mplex) and [yamux](https://github.com/ChainSafe/js-libp2p-yamux). Multiplexer improve the performance of protocol, node handling. `mplex` is preferable for `tcp` meanwhile `yamux` is prefer for `WebSockets`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

formulation not very clear to understand which option is preferred to the other

specs/docs/distributed-storage-engine/ipfs.md Show resolved Hide resolved
- Multicodec for information on how to interpret the hashed data after it has been fetched.
- Multibase for information on how the hashed data is encoded. Multibase is only used in the string representation of the CID.

In our implementation we use CID v1 and use `SHA256` + `base58`. I supposed that `poseidon` could be better in the long term so we need to make a poseidon proposal to `multihash`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

specs/docs/distributed-storage-engine/ipfs.md Show resolved Hide resolved
@iam-robi iam-robi merged commit 117693a into main May 24, 2023
@dqtkien dqtkien deleted the specs/ipfs_storage_engine branch September 17, 2023 04:13
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

Successfully merging this pull request may close these issues.

2 participants