Một mục mã nguồn mở trong kho dữ liệu GitHub của TopGit: ipfs/helia, 1.3k sao, TypeScript. An implementation of IPFS in TypeScript
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
A hasher is used to determine the immutable address of the content (aka the CID) being imported into helia. The default hasher used by the methods above is sha2-256 multihash, but others can be provided with AddOptions. This is useful for applications that require hashers with specific properties; so in most cases keeping the default is recommended.
Changing the hasher will cause a different CID to be returned for the same content! In other words: the same content imported with different hashers is treated like unique content with a unique address.
import { createHelia } from 'helia'
import { dagCbor } from '@helia/dag-cbor'
import { sha512 } from 'multiformats/hashes/sha2'
const helia = await createHelia()
const d = dagCbor(helia)
const object1 = { hello: 'world' }
const cidWithSHA256 = await d.add(object1)
const cidWithSHA512 = await d.add(object1, {
hasher: sha512
})
/** The same objects with different CIDs are treated as different objects */
console.log(cidWithSHA256)
// CID(bafyreidykglsfhoixmivffc5uwhcgshx4j465xwqntbmu43nb2dzqwfvae)
console.log(cidWithSHA512)
// CID(bafyrgqhai26anf3i7pips7q22coa4sz2fr4gk4q4sqdtymvvjyginfzaqewveaeqdh524nsktaq43j65v22xxrybrtertmcfxufdam3da3hbk)
const retrievedObject1 = await d.get(cidWithSHA256)
const retrievedObject2 = await d.get(cidWithSHA512)
console.log(retrievedObject1)
// { hello: 'world' }
console.log(retrievedObject2)
// { hello: 'world' }
🐾 Next steps
Check out the helia-examples
repo for how to do mostly anything with your Helia node.
🏃♀️ Getting Started
Check out the Helia examples repo, which covers a wide variety of use cases. If you feel something has been missed, follow the contribution guide and create a PR to the examples repo.
Helia embraces a modular approach and encourages users to bring their own implementations of various APIs to suit their needs.
The basic Helia API is defined in:
/packages/interface The Helia API
The API is implemented by:
/packages/helia An peer to peer implementation that uses bitswap, libp2p and HTTP gateways as fallback
/packages/http A lightweight implementation that uses HTTP gateways exclusively
Helia also ships a number of supplemental libraries and tools that can be combined with Helia API implementations to accomplish tasks in distributed and trustless ways.
These libraries are not intended to be the "one true implementation" of any given API, but are made available for users to include depending on the need of their particular application:
./packages/car The @helia/car module
./packages/dag-cbor The @helia/dag-cbor module
./packages/dag-json The @helia/dag-json module
./packages/ipns The @helia/ipns module
./packages/json The @helia/json module
./packages/mfs The @helia/mfs module
./packages/strings The @helia/strings module
./packages/unixfs The @helia/unixfs module
An interop suite ensures everything is compatible:
/packages/interop Interop tests for Helia
Other modules
There are several other modules available outside this repo:
@helia/verified-fetch A fetch-like API for retrieving trustless, verified content from the distributed web
@helia/delegated-routing-v1-http-api An implementation of the Delegated Routing v1 HTTP API including a server and a client
Helia WNFS a WNFS implementation built on top of Helia
@helia/remote-pinning A Helia client for communicating with IPFS Pinning Services
@helia/http-gateway An implementation of the IPFS HTTP Gateway API built with Helia
📣 Project status
Helia v1 shipped in 202303 (see releases), and development keeps on trucking as we work on initiatives in the roadmap and make performance improvements and bug fixes along the way.
Release Process
For information about our release process, please see our release process wiki.
🛣️ Roadmap
Please find and comment on the Roadmap here.
👫 Get involved
Watch our Helia Demo Day presentations here
We are sharing about the progress at periodic Helia Demos. This is a good place to find out the latest and learn of ways to get involved. We'd love to see you there!
Pick up one of the issues.
Come chat in Filecoin Slack #ip-js. (Yes, we should bridge this to other chat environments. Please comment here if you'd like this.)
🤲 Contribute
Contributions welcome! Please check out the issues.
Also see our contributing document for more information on how we work, and about contributing in general.
Please be aware that all interactions related to this repo are subject to the IPFS Code of Conduct.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/ipfs/helia là nguồn chính thức.
ipfs/helia có bao nhiêu sao?
ipfs/helia có 1.3k sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/ipfs/helia. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
ipfs/helia có phải mã nguồn mở không?
Có — ipfs/helia phát hành theo license Apache-2.0, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/ipfs/helia.
ipfs/helia có trang demo không?
Dự án có trang chủ ở https://helia.io. Tab "Readme" ở trang này thường có ảnh chụp và hướng dẫn bắt đầu nhanh.
ipfs/helia là gì?
ipfs/helia (ipfs/helia) là dự án TypeScript trên GitHub. Theo mô tả gốc: An implementation of IPFS in TypeScript
Đọc đầy đủ README ở tab phía trên.
Vẫn đang phân vân về helia?
Một cú bấm sẽ gửi câu hỏi kèm trang này cho AI — xem AI nói gì về helia.