Update from Forestry.io

Alex Potsides created src/_blog/js-ipfs-0.63.0-esm-libp2p-0.37.x-and-lightweight-peerids.md
This commit is contained in:
Alex Potsides
2022-05-30 19:17:42 +00:00
committed by Forestry.io
parent bd3ee063b2
commit f5ef1f708e
2 changed files with 744 additions and 0 deletions

View File

@@ -192,6 +192,7 @@ pages:
- src/_blog/join-us-at-ethdenver-2021-year-of-the-spork-marmot.md
- src/_blog/js-ipfs-0.55.0-greatly-improves-type-definitions.md
- src/_blog/js-ipfs-0.56.0-upgrades-to-new-multiformats-stack-and-adds.car-import-export.md
- src/_blog/js-ipfs-0.63.0-esm-libp2p-0.37.x-and-lightweight-peerids.md
- src/_blog/just-released-ipfs-cluster-0.14.0.md
- src/_blog/libp2p-comes-to-protoschool.md
- src/_blog/libp2p-hole-punching.md

View File

@@ -0,0 +1,743 @@
---
title: js-IPFS 0.63.0 ESM, libp2p@0.37.x and lightweight PeerIds
description: js-IPFS 0.63.0 brings ESM and lightweight PeerIds
author: Alex Potsides
date: 2022-06-01
permalink: "/2022-06-01-js-ipfs-0-63/"
translationKey: ''
header_image: "/header-image-js-ipfs-placeholder.png"
tags:
- js-ipfs
---
# 🔦 Highlights
> switches to ESM only, upgrades to libp2p@0.37.x and brings lightweight PeerIds
`js-IPFS@0.63.0` is powering through the stratosphere along with many small bug fixes and performance improvements!
## 🧱 ESM
A module system lets us organise our code in way that makes sense for our application. Without a module system, everything is one big file and/or namespace and total chaos.
[ECMAScript Modules](https://hacks.mozilla.org/2018/03/es-modules-a-cartoon-deep-dive/) are the module system for JavaScript.
Other modules systems have been implemented in the past - [CommonJS](https://en.wikipedia.org/wiki/CommonJS), [RequireJS](https://requirejs.org/), etc, but these have all been userland solutions to the problem of how to organise your JavaScript, none of them have ever been part of the language.
This means in order to take advantage of a module system, you need to run your code through a bundler such as [webpack](https://webpack.js.org) or [esbuild](https://esbuild.github.io/), which introduces a build step and means you can't just run a js file - we've got so used to needing the platform (e.g. node) to support a userland module system (e.g. CommonJS) or needing all this additional tooling that adds complexity and makes things slow that we just accept it as normal.
That all changed in 2015 with [ES6](https://262.ecma-international.org/6.0/#sec-ecmascript-language-scripts-and-modules) which among other things introduced the module specification.
By now the `import`/`export` syntax for modules should be familiar, it's used in [TypeScript](https://www.typescriptlang.org), [React](https://reactjs.org) and other environments, mostly via transpilation by such tools as [babel](https://babeljs.io).
Back in 2018, FireFox shipped `v60` which meant all major browsers supported ES modules, the final platform that needed was Node.js. Node.js actually release support behind a flag in `v8.5.0` in 2017 but it was only with `v13.2.0` in 2019 that it came out from behind that flag and with `v14.8.0` last year that top-level await was also enabled by default.
With `v16` becoming Active LTS in October last year it meant we were [finally able](https://github.com/ipfs/community/blob/master/CONTRIBUTING_JS.md#supported-versions) to upgrade to ESM an embrace the bright new bundlerless future.
With `libp2p@0.37.x` and `ipfs@0.63.x` both modules are published exclusively as ESM.
There are migration guides available for [libp2p](https://github.com/libp2p/js-libp2p/blob/master/doc/migrations/v0.36-v.037.md) and [ipfs](https://github.com/ipfs/js-ipfs/blob/master/docs/upgrading/v0.62-v0.63.md)
If you are running in a CJS environment (e.g. node before `v14.8`), you'll need to either convert your codebase to ESM, or use the [dynamic `import` function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import) to load `ipfs` and/or `libp2p`. Note that `ipfs` and `libp2p` are only tested fully on Active and Current LTS versions, which is `v16`+ at the time of writing.
## libp2p in TypeScript
With the `libp2p@0.37.x` release, `libp2p` has been entirely rewritten from the ground up in TypeScript.
This has given us a more stable and predictable base on which to build next generation distributed projects, as well as better support for automated tooling, code completion, docs and a generally greatly improved developer experience.
A large scale re-evaluation of the exposed interfaces has taken place which is a breaking change - please see the [libp2p@0.37.x migration guide](https://github.com/libp2p/js-libp2p/blob/master/doc/migrations/v0.36-v.037.md#typescript) for any changes you will need to make to your application.
## lightweight `PeerId`s
The [PeerId](https://docs.libp2p.io/concepts/peer-id/) is a core concept of `libp2p`.
They let us identify remote peers and verify data those peers send to us, since a `PeerId` is either a hash of a public key in the case of an [RSA](https://en.wikipedia.org/wiki/RSA_(cryptosystem)) derived `PeerId`, or the public key itself in the case of [Ed25519](https://en.wikipedia.org/wiki/EdDSA) `PeerId`s.
Prior to `libp2p@0.37.x` the `PeerId` concept was implemented by the [peer-id](https://www.npmjs.com/package/peer-id) module. The class exported by this module was capable of all sorts of encryption-related operations, some of which required heavyweight JavaScript modules such as [node-forge](https://www.npmjs.com/package/node-forge) as the [web-crypto API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API) lacks certain algorithms and operations that are used by the libp2p/IPFS ecosystems.
Depending on these modules carries a significant cost for browser bundles, and the operations they are supposed to support are not used in places like `ipfs-http-client` rendering the `peer-id` module unsuitable for use in lightweight front-end applications that may only orchestrate a remote IPFS node.
This has meant that `PeerId`s are represented as strings throughout the IPFS [core-api][] which makes them very hard to reason about in parts of the API where a string could be a `PeerId`, a [multiaddr][], an [IPNS Name](https://docs.ipfs.io/concepts/ipns/) or something else.
With the new [@libp2p/peer-id](https://www.npmjs.com/package/@libp2p/peer-id) module, this is no longer the case and implementations of the [`PeerId` interface](https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-interfaces/src/peer-id) are essentially thin wrappers around `Uint8Array`s that contain the serialized forms of the public and/or private keys, so we can now pass them back to front-end code and have all the benefits of type safety.
The cryptographic operations and the heavy deps they require are now encapsulated within the [@libp2p/crypto](https://www.npmjs.com/package/@libp2p/crypto) module which in general is not used by front end code.
This is also a breaking change, please see the [`ipfs@0.63.x` upgrade guide](https://github.com/ipfs/js-ipfs/blob/master/docs/upgrading/v0.62-v0.63.md#peerids) for any changes you will need to make to your application.
### ⚠ BREAKING CHANGES
* This module is now ESM only and there return types of some methods have changed
Please see the [`ipfs@0.63.x` upgrade guide](https://github.com/ipfs/js-ipfs/blob/master/docs/upgrading/v0.62-v0.63.md) for any changes you will need to make to your application.
### Features
* update to libp2p 0.37.x ([#4092](https://www.github.com/ipfs/js-ipfs/issues/4092)) ([74aee8b](https://www.github.com/ipfs/js-ipfs/commit/74aee8b3d78f233c3199a3e9a6c0ac628a31a433))
### Dependencies
* The following workspace dependencies were updated
* dependencies
* ipfs-cli bumped from ^0.12.3 to ^0.13.0
* ipfs-core bumped from ^0.14.3 to ^0.15.0
* devDependencies
* interface-ipfs-core bumped from ^0.154.2 to ^0.155.0
* ipfs-client bumped from ^0.7.8 to ^0.8.0
* ipfs-core-types bumped from ^0.10.3 to ^0.11.0
* ipfs-http-client bumped from ^56.0.3 to ^57.0.0
# 🗺️ Whats next?
Check out the js-IPFS [Project Roadmap](https://github.com/orgs/ipfs/projects/6) which contains headline features organised in the order we hope them to land.
Only large features are called out in the roadmap, expect lots of small bugfix releases between the roadmapped items!
# 😍 Huge thank you to everyone that made this release possible
* [@0xjjpa](https://github.com/0xjjpa) (1 comment)
* [@12345-ilyas](https://github.com/12345-ilyas) (1 issue)
* [@2color](https://github.com/2color) (1 PR, 2 comments)
* [@413umc](https://github.com/413umc) (1 commit, 1 PR)
* [@4everlandorg](https://github.com/4everlandorg) (1 PR)
* [@68Darius68](https://github.com/68Darius68) (1 issue)
* [@6d7a](https://github.com/6d7a) (3 commits, 1 PR)
* [@8ceff4d9b6839867689b7265ca375c2390e5821](https://github.com/8ceff4d9b6839867689b7265ca375c2390e5821) (1 issue)
* [@abetaev](https://github.com/abetaev) (1 commit, 3 PRs, 4 comments)
* [@abir-sharma](https://github.com/abir-sharma) (1 comment)
* [@achingbrain](https://github.com/achingbrain) (599 commits, 427 PRs, 18 issues, 171 comments)
* [@ackintosh](https://github.com/ackintosh) (1 commit, 1 PR)
* [@act28](https://github.com/act28) (1 comment)
* [@ademcaglin](https://github.com/ademcaglin) (1 issue)
* [@AgeManning](https://github.com/AgeManning) (4 commits, 3 PRs, 1 issue, 17 comments)
* [@Agin-DropDisco](https://github.com/Agin-DropDisco) (1 issue, 1 comment)
* [@agrohs](https://github.com/agrohs) (1 issue)
* [@ahollmann](https://github.com/ahollmann) (2 comments)
* [@akhileshthite](https://github.com/akhileshthite) (1 issue)
* [@akimoto72738](https://github.com/akimoto72738) (1 issue, 1 comment)
* [@Aksh-Bansal-dev](https://github.com/Aksh-Bansal-dev) (1 issue)
* [@aksoni21](https://github.com/aksoni21) (1 comment)
* [@alanshaw](https://github.com/alanshaw) (2 commits, 3 PRs, 2 issues)
* [@alexander-camuto](https://github.com/alexander-camuto) (1 issue, 3 comments)
* [@Alexis-ROYER](https://github.com/Alexis-ROYER) (1 issue, 4 comments)
* [@AlexMesser](https://github.com/AlexMesser) (1 issue, 3 comments)
* [@AlexxNica](https://github.com/AlexxNica) (4 comments)
* [@AllanOricil](https://github.com/AllanOricil) (4 comments)
* [@allegorywrite](https://github.com/allegorywrite) (1 issue, 1 comment)
* [@altoidkind](https://github.com/altoidkind) (1 issue)
* [@altonen](https://github.com/altonen) (1 issue, 1 comment)
* [@alvin-reyes](https://github.com/alvin-reyes) (5 commits, 5 PRs, 1 issue, 3 comments)
* [@amandesai01](https://github.com/amandesai01) (5 comments)
* [@Amdela79](https://github.com/Amdela79) (1 comment)
* [@andrasfuchs](https://github.com/andrasfuchs) (1 comment)
* [@andrewtookay](https://github.com/andrewtookay) (1 PR, 3 comments)
* [@andrey-savov](https://github.com/andrey-savov) (1 issue)
* [@andyschwab](https://github.com/andyschwab) (1 commit, 1 PR)
* [@Annamarie2019](https://github.com/Annamarie2019) (1 issue, 1 comment)
* [@AnthonyAkentiev](https://github.com/AnthonyAkentiev) (1 comment)
* [@aomini](https://github.com/aomini) (2 commits, 2 PRs, 1 issue, 2 comments)
* [@aouahib](https://github.com/aouahib) (1 comment)
* [@appaquet](https://github.com/appaquet) (1 issue, 6 comments)
* [@Apple1204](https://github.com/Apple1204) (1 issue, 2 comments)
* [@AppleMayExist](https://github.com/AppleMayExist) (1 issue)
* [@appleseed-iii](https://github.com/appleseed-iii) (1 comment)
* [@Arlodotexe](https://github.com/Arlodotexe) (1 issue)
* [@armujahid](https://github.com/armujahid) (1 commit, 2 PRs)
* [@arseniy-gl](https://github.com/arseniy-gl) (1 issue)
* [@artegoser](https://github.com/artegoser) (1 issue)
* [@aschmahmann](https://github.com/aschmahmann) (11 commits, 6 PRs, 3 issues, 7 comments)
* [@askender](https://github.com/askender) (1 issue, 1 comment)
* [@ASPPIBRA](https://github.com/ASPPIBRA) (2 issues, 4 comments)
* [@AtHeartEngineer](https://github.com/AtHeartEngineer) (1 commit, 2 PRs, 1 comment)
* [@atordvairn](https://github.com/atordvairn) (1 issue)
* [@AuHau](https://github.com/AuHau) (1 comment)
* [@aurium](https://github.com/aurium) (1 comment)
* [@autonome](https://github.com/autonome) (2 issues, 3 comments)
* [@avelguenin](https://github.com/avelguenin) (1 issue, 2 comments)
* [@b1018043](https://github.com/b1018043) (1 PR, 1 issue)
* [@b5](https://github.com/b5) (1 issue)
* [@badkk](https://github.com/badkk) (1 commit)
* [@Barabazs](https://github.com/Barabazs) (1 commit, 1 PR)
* [@ben221199](https://github.com/ben221199) (1 issue)
* [@bgins](https://github.com/bgins) (1 issue, 1 comment)
* [@bhaskarvilles](https://github.com/bhaskarvilles) (1 PR, 2 comments)
* [@BigLep](https://github.com/BigLep) (1 commit, 1 PR, 3 issues, 87 comments)
* [@binarybaron](https://github.com/binarybaron) (1 PR)
* [@bitruss](https://github.com/bitruss) (2 PRs)
* [@BlocksOnAChain](https://github.com/BlocksOnAChain) (1 comment)
* [@bluebob1](https://github.com/bluebob1) (1 issue)
* [@bogosj](https://github.com/bogosj) (3 comments)
* [@book-s](https://github.com/book-s) (2 issues, 2 comments)
* [@bradley-ray](https://github.com/bradley-ray) (1 commit, 1 PR)
* [@BrandonFassberg](https://github.com/BrandonFassberg) (1 issue)
* [@brandonros](https://github.com/brandonros) (1 issue, 2 comments)
* [@brickpop](https://github.com/brickpop) (1 comment)
* [@Brycewetzel](https://github.com/Brycewetzel) (1 issue)
* [@BullishBabyApes](https://github.com/BullishBabyApes) (1 issue)
* [@burdiyan](https://github.com/burdiyan) (2 issues)
* [@caleb-mabry](https://github.com/caleb-mabry) (1 commit, 1 PR)
* [@callezenwaka](https://github.com/callezenwaka) (1 comment)
* [@CallumGrindle](https://github.com/CallumGrindle) (1 comment)
* [@canewsin](https://github.com/canewsin) (1 PR, 2 issues, 12 comments)
* [@captvicky](https://github.com/captvicky) (1 issue)
* [@Carlos7687](https://github.com/Carlos7687) (1 comment)
* [@Carson12345](https://github.com/Carson12345) (2 PRs, 4 comments)
* [@carsonfarmer](https://github.com/carsonfarmer) (1 commit, 1 PR, 2 comments)
* [@casey](https://github.com/casey) (1 comment)
* [@Cceciliaa](https://github.com/Cceciliaa) (1 issue)
* [@chadlupkes](https://github.com/chadlupkes) (1 issue, 1 comment)
* [@chamber32](https://github.com/chamber32) (1 issue)
* [@chenyulun](https://github.com/chenyulun) (1 comment)
* [@ChisVR](https://github.com/ChisVR) (1 commit, 2 PRs)
* [@chitoadinugraha](https://github.com/chitoadinugraha) (1 issue)
* [@chrisjowen](https://github.com/chrisjowen) (1 issue, 1 comment)
* [@chrispanag](https://github.com/chrispanag) (1 issue, 1 comment)
* [@christroutner](https://github.com/christroutner) (4 issues, 5 comments)
* [@ChungMasterFlex](https://github.com/ChungMasterFlex) (1 comment)
* [@ciprianiacobescu](https://github.com/ciprianiacobescu) (1 comment)
* [@ckevinroque](https://github.com/ckevinroque) (1 issue)
* [@CLAassistant](https://github.com/CLAassistant) (5 comments)
* [@clarkjoao](https://github.com/clarkjoao) (1 comment)
* [@Clothing999](https://github.com/Clothing999) (1 issue)
* [@cobward](https://github.com/cobward) (1 commit, 1 PR)
* [@codeyager](https://github.com/codeyager) (1 commit)
* [@ContactJake](https://github.com/ContactJake) (1 issue)
* [@cooz2](https://github.com/cooz2) (2 issues, 3 comments)
* [@copyNdpaste](https://github.com/copyNdpaste) (1 issue)
* [@CountZer0](https://github.com/CountZer0) (1 issue)
* [@CreativerseMC](https://github.com/CreativerseMC) (1 commit, 1 PR)
* [@CryptoGodfatherVA38](https://github.com/CryptoGodfatherVA38) (1 PR)
* [@CSFM93](https://github.com/CSFM93) (1 PR, 1 comment)
* [@cwaring](https://github.com/cwaring) (1 PR)
* [@cyphercider](https://github.com/cyphercider) (1 issue)
* [@D4di69](https://github.com/D4di69) (1 issue, 1 comment)
* [@D4nte](https://github.com/D4nte) (4 commits, 3 PRs, 3 issues, 10 comments)
* [@dadepo](https://github.com/dadepo) (4 commits, 4 PRs)
* [@daedaem](https://github.com/daedaem) (1 issue)
* [@danicuki](https://github.com/danicuki) (1 commit, 2 PRs, 2 comments)
* [@danielb2](https://github.com/danielb2) (1 issue)
* [@danimesq](https://github.com/danimesq) (1 comment)
* [@DannyS03](https://github.com/DannyS03) (1 comment)
* [@Danolantern1](https://github.com/Danolantern1) (1 issue)
* [@dapplion](https://github.com/dapplion) (13 commits, 10 PRs, 4 issues, 56 comments)
* [@DaveSchmid](https://github.com/DaveSchmid) (1 issue, 2 comments)
* [@davidd8](https://github.com/davidd8) (1 commit)
* [@davux](https://github.com/davux) (1 issue)
* [@DDecoene](https://github.com/DDecoene) (1 issue)
* [@ddevkim](https://github.com/ddevkim) (1 issue)
* [@deanpress](https://github.com/deanpress) (3 comments)
* [@demfabris](https://github.com/demfabris) (1 commit, 2 PRs, 1 issue, 13 comments)
* [@DemiMarie](https://github.com/DemiMarie) (7 comments)
* [@denali49](https://github.com/denali49) (2 issues, 2 comments)
* [@dendmi](https://github.com/dendmi) (1 issue)
* [@Dentrax](https://github.com/Dentrax) (1 issue, 1 comment)
* [@denyncrawford](https://github.com/denyncrawford) (1 comment)
* [@dharmapunk82](https://github.com/dharmapunk82) (3 issues, 1 comment)
* [@DiegoRBaquero](https://github.com/DiegoRBaquero) (1 PR, 1 comment)
* [@dignifiedquire](https://github.com/dignifiedquire) (2 commits, 3 PRs, 15 comments)
* [@diliplilaramani](https://github.com/diliplilaramani) (1 issue)
* [@divagant-martian](https://github.com/divagant-martian) (6 commits, 6 PRs, 2 issues, 22 comments)
* [@DJTHIEVES](https://github.com/DJTHIEVES) (1 issue)
* [@Dnouv](https://github.com/Dnouv) (1 comment)
* [@do-nothing](https://github.com/do-nothing) (1 issue)
* [@douglaz](https://github.com/douglaz) (1 comment)
* [@dragoonzx](https://github.com/dragoonzx) (1 commit, 1 PR)
* [@dschoon](https://github.com/dschoon) (1 commit, 1 PR)
* [@dvc94ch](https://github.com/dvc94ch) (1 commit, 3 issues, 24 comments)
* [@eerkaijun](https://github.com/eerkaijun) (1 commit, 1 PR)
* [@eh-93](https://github.com/eh-93) (1 comment)
* [@eightoneoh](https://github.com/eightoneoh) (1 issue)
* [@eko](https://github.com/eko) (1 PR)
* [@elenaf9](https://github.com/elenaf9) (10 commits, 10 PRs, 1 issue, 37 comments)
* [@elmazzun](https://github.com/elmazzun) (1 comment)
* [@elmo504](https://github.com/elmo504) (1 PR)
* [@elvinest](https://github.com/elvinest) (1 comment)
* [@emilymvaughan](https://github.com/emilymvaughan) (24 PRs, 2 comments)
* [@emmyoh](https://github.com/emmyoh) (1 issue, 3 comments)
* [@energizerbumy](https://github.com/energizerbumy) (1 issue, 2 comments)
* [@enOehTsIsihT](https://github.com/enOehTsIsihT) (1 comment)
* [@enricobottazzi](https://github.com/enricobottazzi) (1 PR)
* [@EnzoVezzaro](https://github.com/EnzoVezzaro) (1 commit)
* [@ericevenchick](https://github.com/ericevenchick) (2 commits, 1 PR)
* [@Eris7090](https://github.com/Eris7090) (1 issue)
* [@esotericbyte](https://github.com/esotericbyte) (1 commit, 1 PR, 8 comments)
* [@estebanabaroa](https://github.com/estebanabaroa) (1 commit, 1 PR)
* [@ethdev279](https://github.com/ethdev279) (1 issue, 1 comment)
* [@expede](https://github.com/expede) (2 comments)
* [@expenses](https://github.com/expenses) (1 issue)
* [@fanux](https://github.com/fanux) (1 issue, 1 comment)
* [@FazioNico](https://github.com/FazioNico) (1 issue)
* [@filipesoccol](https://github.com/filipesoccol) (1 commit)
* [@finlaydotb](https://github.com/finlaydotb) (1 issue)
* [@fishseabowl](https://github.com/fishseabowl) (4 issues)
* [@flaki](https://github.com/flaki) (2 commits, 2 PRs)
* [@flencrypto](https://github.com/flencrypto) (1 issue)
* [@FlorianRuen](https://github.com/FlorianRuen) (1 commit, 1 PR, 2 comments)
* [@flyingnobita](https://github.com/flyingnobita) (1 commit)
* [@flynnhou](https://github.com/flynnhou) (2 comments)
* [@Foemass](https://github.com/Foemass) (1 issue, 8 comments)
* [@folex](https://github.com/folex) (2 commits, 3 PRs, 1 issue, 12 comments)
* [@Fomalhauthmj](https://github.com/Fomalhauthmj) (1 comment)
* [@Foreplay241](https://github.com/Foreplay241) (1 issue)
* [@Freakytedy18](https://github.com/Freakytedy18) (1 commit)
* [@Frederik-Baetens](https://github.com/Frederik-Baetens) (4 commits, 7 PRs, 5 issues, 30 comments)
* [@freemasonrysquared](https://github.com/freemasonrysquared) (1 issue)
* [@fsvieira](https://github.com/fsvieira) (2 issues, 2 comments)
* [@funmaker](https://github.com/funmaker) (1 issue)
* [@fusetim](https://github.com/fusetim) (3 comments)
* [@galargh](https://github.com/galargh) (9 commits, 14 PRs, 15 comments)
* [@GaponkaGapon](https://github.com/GaponkaGapon) (1 comment)
* [@Garrick-hr](https://github.com/Garrick-hr) (1 issue)
* [@gary02](https://github.com/gary02) (1 comment)
* [@gaspan](https://github.com/gaspan) (1 comment)
* [@geotro](https://github.com/geotro) (1 comment)
* [@ghostdevv](https://github.com/ghostdevv) (1 comment)
* [@gitaaron](https://github.com/gitaaron) (1 PR, 1 issue, 6 comments)
* [@githubdoramon](https://github.com/githubdoramon) (1 commit, 1 PR)
* [@gluax](https://github.com/gluax) (1 issue, 1 comment)
* [@gmelodie](https://github.com/gmelodie) (1 PR, 1 comment)
* [@gnomadic](https://github.com/gnomadic) (1 comment)
* [@go69](https://github.com/go69) (1 commit, 1 PR)
* [@gobengo](https://github.com/gobengo) (3 commits, 3 PRs, 1 issue, 3 comments)
* [@goralbaris](https://github.com/goralbaris) (1 issue)
* [@gouravkhator](https://github.com/gouravkhator) (1 issue, 3 comments)
* [@Gozala](https://github.com/Gozala) (9 commits, 39 PRs, 18 issues, 42 comments)
* [@GreenLunar](https://github.com/GreenLunar) (2 issues)
* [@greenSnot](https://github.com/greenSnot) (2 comments)
* [@gregarican](https://github.com/gregarican) (3 comments)
* [@gRoussac](https://github.com/gRoussac) (2 comments)
* [@grzegorzjudas](https://github.com/grzegorzjudas) (1 issue)
* [@guanzo](https://github.com/guanzo) (1 commit, 1 PR)
* [@guest271314](https://github.com/guest271314) (1 comment)
* [@guseggert](https://github.com/guseggert) (1 commit, 1 PR, 1 comment)
* [@h1z1](https://github.com/h1z1) (1 issue, 1 comment)
* [@H3xept](https://github.com/H3xept) (1 comment)
* [@hacdias](https://github.com/hacdias) (1 commit, 28 PRs, 3 issues, 109 comments)
* [@hamamo](https://github.com/hamamo) (1 PR, 2 issues, 6 comments)
* [@Hamza5](https://github.com/Hamza5) (2 comments)
* [@Hamzakkan](https://github.com/Hamzakkan) (1 issue, 1 comment)
* [@hanabi1224](https://github.com/hanabi1224) (1 commit, 1 PR, 1 comment)
* [@hayzamjs](https://github.com/hayzamjs) (1 commit)
* [@hcliff](https://github.com/hcliff) (1 issue)
* [@Helletons](https://github.com/Helletons) (1 issue, 1 comment)
* [@hellno](https://github.com/hellno) (1 comment)
* [@hjkl451203](https://github.com/hjkl451203) (1 comment)
* [@HODLHearts](https://github.com/HODLHearts) (1 issue, 1 comment)
* [@holdengreen](https://github.com/holdengreen) (1 comment)
* [@Hrushi20](https://github.com/Hrushi20) (1 comment)
* [@hrxi](https://github.com/hrxi) (2 commits, 3 PRs, 1 issue, 3 comments)
* [@hsanjuan](https://github.com/hsanjuan) (46 commits, 13 PRs, 1 issue, 3 comments)
* [@hsn10](https://github.com/hsn10) (1 issue, 2 comments)
* [@hu-xili](https://github.com/hu-xili) (1 issue)
* [@hugomrdias](https://github.com/hugomrdias) (1 PR, 2 comments)
* [@i-norden](https://github.com/i-norden) (13 commits, 2 comments)
* [@i001962](https://github.com/i001962) (1 commit)
* [@i1i1](https://github.com/i1i1) (1 PR)
* [@ibnesayeed](https://github.com/ibnesayeed) (1 PR, 2 comments)
* [@icidasset](https://github.com/icidasset) (1 comment)
* [@icodestuljh](https://github.com/icodestuljh) (1 issue)
* [@ilienongithub](https://github.com/ilienongithub) (1 issue)
* [@ilijapet](https://github.com/ilijapet) (1 commit, 1 PR)
* [@inverted-capital](https://github.com/inverted-capital) (1 issue, 1 comment)
* [@iohzrd](https://github.com/iohzrd) (1 PR)
* [@itm-platform](https://github.com/itm-platform) (1 comment)
* [@itsKV](https://github.com/itsKV) (1 commit, 1 PR, 1 comment)
* [@jacklund](https://github.com/jacklund) (1 PR, 1 issue, 5 comments)
* [@jacobheun](https://github.com/jacobheun) (2 comments)
* [@Jacquelinevv0693](https://github.com/Jacquelinevv0693) (1 PR)
* [@JAGDISH0008](https://github.com/JAGDISH0008) (1 comment)
* [@jakehemmerle](https://github.com/jakehemmerle) (1 issue)
* [@jamescallumyoung](https://github.com/jamescallumyoung) (1 PR)
* [@jamesrwaugh](https://github.com/jamesrwaugh) (1 comment)
* [@JamesTheAwesomeDude](https://github.com/JamesTheAwesomeDude) (1 issue, 7 comments)
* [@jamongeon1](https://github.com/jamongeon1) (6 PRs)
* [@Jan877](https://github.com/Jan877) (1 issue)
* [@janaSunrise](https://github.com/janaSunrise) (1 comment)
* [@Janmajayamall](https://github.com/Janmajayamall) (1 commit, 1 PR, 1 issue, 2 comments)
* [@jarrillaga](https://github.com/jarrillaga) (1 comment)
* [@jay0x5](https://github.com/jay0x5) (1 issue)
* [@jayschwa](https://github.com/jayschwa) (1 PR)
* [@jbenet](https://github.com/jbenet) (1 comment)
* [@jchris](https://github.com/jchris) (1 commit, 1 PR, 4 comments)
* [@jdheeter](https://github.com/jdheeter) (1 issue)
* [@jejdouay](https://github.com/jejdouay) (1 issue, 1 comment)
* [@jenkijo](https://github.com/jenkijo) (1 commit)
* [@jenks-guo-filecoin](https://github.com/jenks-guo-filecoin) (1 comment)
* [@jensenhertz](https://github.com/jensenhertz) (1 issue)
* [@Jerrody](https://github.com/Jerrody) (1 commit, 2 PRs, 7 issues, 10 comments)
* [@JerryHue](https://github.com/JerryHue) (1 comment)
* [@jimmynsfw](https://github.com/jimmynsfw) (2 issues, 2 comments)
* [@jitendrapal080791](https://github.com/jitendrapal080791) (1 issue)
* [@jlrinho](https://github.com/jlrinho) (1 comment)
* [@jmmaloney4](https://github.com/jmmaloney4) (2 comments)
* [@jnicholls](https://github.com/jnicholls) (2 comments)
* [@jochasinga](https://github.com/jochasinga) (1 PR, 6 comments)
* [@joeangel](https://github.com/joeangel) (2 comments)
* [@johanneskares](https://github.com/johanneskares) (1 issue)
* [@johnb8005](https://github.com/johnb8005) (1 commit, 2 PRs, 4 comments)
* [@johnnymatthews](https://github.com/johnnymatthews) (3 commits, 7 PRs, 9 comments)
* [@jonapaniagua](https://github.com/jonapaniagua) (1 PR, 2 issues)
* [@jonaswre](https://github.com/jonaswre) (1 PR, 3 comments)
* [@Jorropo](https://github.com/Jorropo) (1 commit, 1 PR, 1 issue)
* [@Josiassejod1](https://github.com/Josiassejod1) (1 commit, 1 PR, 17 comments)
* [@jousi592](https://github.com/jousi592) (1 issue)
* [@jrem13](https://github.com/jrem13) (1 PR)
* [@jsdanielh](https://github.com/jsdanielh) (1 issue)
* [@Jsn2win](https://github.com/Jsn2win) (1 issue)
* [@jthomerson](https://github.com/jthomerson) (2 comments)
* [@jtmckay](https://github.com/jtmckay) (1 comment)
* [@jwahdatehagh](https://github.com/jwahdatehagh) (1 comment)
* [@jwarshack](https://github.com/jwarshack) (1 issue)
* [@jyooru](https://github.com/jyooru) (1 commit, 1 PR)
* [@JzJordan01](https://github.com/JzJordan01) (1 issue)
* [@kalikho](https://github.com/kalikho) (1 PR)
* [@Karakatiza666](https://github.com/Karakatiza666) (1 comment)
* [@Karan-U-Kanthawar](https://github.com/Karan-U-Kanthawar) (1 issue)
* [@Kcchouette](https://github.com/Kcchouette) (2 commits, 1 comment)
* [@kebian](https://github.com/kebian) (1 issue)
* [@KEINOS](https://github.com/KEINOS) (3 comments)
* [@kelson42](https://github.com/kelson42) (3 comments)
* [@KenniVelez](https://github.com/KenniVelez) (1 issue)
* [@KennyDxsale](https://github.com/KennyDxsale) (2 comments)
* [@kevinji](https://github.com/kevinji) (1 commit, 1 PR, 1 comment)
* [@kevinXmichael](https://github.com/kevinXmichael) (1 comment)
* [@KevTale](https://github.com/KevTale) (1 commit)
* [@ki4jgt](https://github.com/ki4jgt) (1 issue, 4 comments)
* [@kidcdf](https://github.com/kidcdf) (1 issue, 2 comments)
* [@kimgysen](https://github.com/kimgysen) (1 comment)
* [@kirill-dev-pro](https://github.com/kirill-dev-pro) (1 issue)
* [@kmkhami](https://github.com/kmkhami) (1 issue)
* [@kn0wmad](https://github.com/kn0wmad) (1 comment)
* [@koushiro](https://github.com/koushiro) (1 issue, 3 comments)
* [@kpp](https://github.com/kpp) (1 commit, 1 PR, 8 comments)
* [@kshinn](https://github.com/kshinn) (1 issue, 1 comment)
* [@kstuart](https://github.com/kstuart) (1 issue)
* [@kunalgoyal9](https://github.com/kunalgoyal9) (1 comment)
* [@laptou](https://github.com/laptou) (4 commits, 7 PRs, 1 issue, 4 comments)
* [@laurentsenta](https://github.com/laurentsenta) (3 commits, 3 PRs, 8 comments)
* [@lcy101u](https://github.com/lcy101u) (1 issue, 1 comment)
* [@ldongting](https://github.com/ldongting) (3 issues)
* [@leeswlwpl](https://github.com/leeswlwpl) (2 issues, 3 comments)
* [@LesnyRumcajs](https://github.com/LesnyRumcajs) (2 commits, 2 PRs, 2 comments)
* [@lessneek](https://github.com/lessneek) (1 comment)
* [@leviathanbeak](https://github.com/leviathanbeak) (1 commit, 1 PR, 4 comments)
* [@lfnpcsoft](https://github.com/lfnpcsoft) (1 issue)
* [@lidel](https://github.com/lidel) (23 commits, 45 PRs, 24 issues, 318 comments)
* [@LIPUU](https://github.com/LIPUU) (2 comments)
* [@listenaddress](https://github.com/listenaddress) (1 commit, 1 PR)
* [@Liujinliang1987413](https://github.com/Liujinliang1987413) (1 issue)
* [@ljmf00](https://github.com/ljmf00) (1 issue, 4 comments)
* [@ljoez](https://github.com/ljoez) (1 issue)
* [@lmedury](https://github.com/lmedury) (1 commit)
* [@locriacyber](https://github.com/locriacyber) (1 issue)
* [@LordWilliamsr](https://github.com/LordWilliamsr) (1 issue, 3 comments)
* [@luck453](https://github.com/luck453) (1 issue)
* [@maitret](https://github.com/maitret) (1 issue)
* [@manalejandro](https://github.com/manalejandro) (1 issue, 1 comment)
* [@Manwe-777](https://github.com/Manwe-777) (1 comment)
* [@MarcelRaschke](https://github.com/MarcelRaschke) (1 PR)
* [@marciob](https://github.com/marciob) (1 issue)
* [@MarcoCiaramella](https://github.com/MarcoCiaramella) (1 issue, 1 comment)
* [@MarcoPolo](https://github.com/MarcoPolo) (1 commit, 2 PRs, 5 comments)
* [@MarcusAvouris](https://github.com/MarcusAvouris) (1 PR)
* [@Mark-Wu](https://github.com/Mark-Wu) (1 issue)
* [@markg85](https://github.com/markg85) (2 comments)
* [@marten-seemann](https://github.com/marten-seemann) (12 commits, 12 PRs, 12 comments)
* [@Martinligabue](https://github.com/Martinligabue) (1 issue, 2 comments)
* [@maschad](https://github.com/maschad) (1 commit, 3 PRs, 14 comments)
* [@masih](https://github.com/masih) (1 commit, 1 PR)
* [@master-hax](https://github.com/master-hax) (1 issue, 1 comment)
* [@mateuszjarzewski](https://github.com/mateuszjarzewski) (3 issues, 3 comments)
* [@matheus23](https://github.com/matheus23) (1 comment)
* [@mathiversen](https://github.com/mathiversen) (1 issue, 6 comments)
* [@MattJohnsonMusic](https://github.com/MattJohnsonMusic) (2 issues, 21 comments)
* [@MattVurtly](https://github.com/MattVurtly) (1 issue)
* [@mcclure](https://github.com/mcclure) (4 comments)
* [@mdonoughe](https://github.com/mdonoughe) (1 comment)
* [@meandavejustice](https://github.com/meandavejustice) (3 PRs, 1 issue, 9 comments)
* [@meehow](https://github.com/meehow) (1 commit, 1 PR)
* [@melekes](https://github.com/melekes) (1 PR, 2 comments)
* [@melMass](https://github.com/melMass) (1 comment)
* [@melwong](https://github.com/melwong) (1 commit, 1 PR)
* [@Mendel-Chodaton](https://github.com/Mendel-Chodaton) (2 issues)
* [@Menduist](https://github.com/Menduist) (1 issue)
* [@Meyanis95](https://github.com/Meyanis95) (1 commit, 1 PR)
* [@mgwidmann](https://github.com/mgwidmann) (1 issue)
* [@MicrowaveDev](https://github.com/MicrowaveDev) (1 issue)
* [@miguelgargallo](https://github.com/miguelgargallo) (1 issue, 1 comment)
* [@Mikaela](https://github.com/Mikaela) (1 comment)
* [@mikeal](https://github.com/mikeal) (2 comments)
* [@mikeeus](https://github.com/mikeeus) (1 PR)
* [@milahu](https://github.com/milahu) (2 issues, 1 comment)
* [@Mircas001](https://github.com/Mircas001) (1 issue)
* [@mishmosh](https://github.com/mishmosh) (1 commit, 2 comments)
* [@mistermoe](https://github.com/mistermoe) (1 issue, 1 comment)
* [@MitaliBo](https://github.com/MitaliBo) (1 commit, 1 PR, 1 comment)
* [@miyamotomusashi79](https://github.com/miyamotomusashi79) (1 issue)
* [@mlgx](https://github.com/mlgx) (2 comments)
* [@mmaker7](https://github.com/mmaker7) (1 PR)
* [@MMercer8](https://github.com/MMercer8) (1 issue)
* [@mobrine1](https://github.com/mobrine1) (1 issue)
* [@momack2](https://github.com/momack2) (2 commits, 1 PR, 3 issues, 10 comments)
* [@montanaflynn](https://github.com/montanaflynn) (1 issue)
* [@MOUNIKASIMHADRI17](https://github.com/MOUNIKASIMHADRI17) (1 commit, 1 PR)
* [@mpetrunic](https://github.com/mpetrunic) (36 commits, 13 PRs, 2 issues, 50 comments)
* [@mrheyday](https://github.com/mrheyday) (1 issue)
* [@mriise](https://github.com/mriise) (1 issue, 2 comments)
* [@mrlp4](https://github.com/mrlp4) (1 comment)
* [@mrtngrsbch](https://github.com/mrtngrsbch) (1 issue)
* [@msufyanalibutt](https://github.com/msufyanalibutt) (1 issue)
* [@mubeenghauri](https://github.com/mubeenghauri) (1 issue)
* [@mvdan](https://github.com/mvdan) (2 commits, 2 PRs, 1 issue, 4 comments)
* [@mxinden](https://github.com/mxinden) (53 commits, 54 PRs, 13 issues, 297 comments)
* [@NAWAISJAN](https://github.com/NAWAISJAN) (1 issue)
* [@nazar-pc](https://github.com/nazar-pc) (2 commits, 2 PRs, 2 issues, 7 comments)
* [@nazarhussain](https://github.com/nazarhussain) (1 PR, 2 comments)
* [@Nazeh](https://github.com/Nazeh) (1 comment)
* [@nblogist](https://github.com/nblogist) (1 comment)
* [@netlify](undefined) (1 comment)
* [@newthinnakorn](https://github.com/newthinnakorn) (1 PR, 1 comment)
* [@nft-legends](https://github.com/nft-legends) (1 comment)
* [@nikoPLP](https://github.com/nikoPLP) (1 comment)
* [@nokemono](https://github.com/nokemono) (2 issues)
* [@noraft75](https://github.com/noraft75) (1 issue)
* [@noryev](https://github.com/noryev) (1 commit, 2 PRs, 1 comment)
* [@Nousnouss](https://github.com/Nousnouss) (1 issue)
* [@nrz123](https://github.com/nrz123) (1 issue)
* [@NukeManDan](https://github.com/NukeManDan) (1 issue, 1 comment)
* [@odesenfans](https://github.com/odesenfans) (1 commit, 1 PR, 4 issues, 6 comments)
* [@oed](https://github.com/oed) (2 issues, 6 comments)
* [@olizilla](https://github.com/olizilla) (2 comments)
* [@Openwrtfunboy](https://github.com/Openwrtfunboy) (1 issue)
* [@OrderAndCh4oS](https://github.com/OrderAndCh4oS) (1 comment)
* [@originalninja01](https://github.com/originalninja01) (1 issue, 2 comments)
* [@orvn](https://github.com/orvn) (2 comments)
* [@ov-wagle](https://github.com/ov-wagle) (1 comment)
* [@OwenLittleWhite](https://github.com/OwenLittleWhite) (1 issue)
* [@panick-carousel](https://github.com/panick-carousel) (2 issues, 2 comments)
* [@paullouisageneau](https://github.com/paullouisageneau) (2 comments)
* [@paulmillr](https://github.com/paulmillr) (1 commit, 2 PRs, 8 comments)
* [@pawanjay176](https://github.com/pawanjay176) (1 commit, 1 PR, 1 comment)
* [@PencilsDown](https://github.com/PencilsDown) (1 issue, 2 comments)
* [@PeterHindes](https://github.com/PeterHindes) (1 comment)
* [@Pfed-prog](https://github.com/Pfed-prog) (1 commit, 1 PR)
* [@PhilippGackstatter](https://github.com/PhilippGackstatter) (2 comments)
* [@philknows](https://github.com/philknows) (2 commits, 2 PRs, 1 comment)
* [@piboistudios](https://github.com/piboistudios) (4 issues, 2 comments)
* [@pimterry](https://github.com/pimterry) (1 issue, 2 comments)
* [@PixsaOJ](https://github.com/PixsaOJ) (1 issue)
* [@pj50](https://github.com/pj50) (1 PR, 2 issues, 2 comments)
* [@placer14](https://github.com/placer14) (1 issue, 1 comment)
* [@planetoryd](https://github.com/planetoryd) (1 issue)
* [@pmuens](https://github.com/pmuens) (1 comment)
* [@poolsar42](https://github.com/poolsar42) (1 commit, 1 PR, 1 issue, 5 comments)
* [@PowVT](https://github.com/PowVT) (1 commit)
* [@Radderz81](https://github.com/Radderz81) (1 comment)
* [@raduciobanu22](https://github.com/raduciobanu22) (1 comment)
* [@raisayon](https://github.com/raisayon) (1 issue)
* [@rajan-31](https://github.com/rajan-31) (1 comment)
* [@rakeshbhatt10](https://github.com/rakeshbhatt10) (1 comment)
* [@rand0m-cloud](https://github.com/rand0m-cloud) (1 commit, 1 PR, 2 comments)
* [@RangerMauve](https://github.com/RangerMauve) (10 commits, 4 PRs, 4 issues, 33 comments)
* [@raress96](https://github.com/raress96) (2 comments)
* [@rasos](https://github.com/rasos) (1 comment)
* [@ratik21](https://github.com/ratik21) (2 issues, 1 comment)
* [@rayswchiu](https://github.com/rayswchiu) (1 issue)
* [@razakyermal](https://github.com/razakyermal) (1 issue)
* [@rbensonevans](https://github.com/rbensonevans) (1 commit)
* [@realitymeetsdreams](https://github.com/realitymeetsdreams) (1 issue, 2 comments)
* [@redactedscribe](https://github.com/redactedscribe) (1 comment)
* [@redaphid](https://github.com/redaphid) (1 comment)
* [@remixonwin](https://github.com/remixonwin) (1 issue)
* [@resession](https://github.com/resession) (3 comments)
* [@revichnr](https://github.com/revichnr) (1 issue)
* [@rezad1393](https://github.com/rezad1393) (1 issue)
* [@rhysburnie](https://github.com/rhysburnie) (1 issue, 1 comment)
* [@richburdon](https://github.com/richburdon) (2 comments)
* [@rigan0707](https://github.com/rigan0707) (1 comment)
* [@Rinse12](https://github.com/Rinse12) (1 issue, 2 comments)
* [@Rio-Lv](https://github.com/Rio-Lv) (1 comment)
* [@rkuhn](https://github.com/rkuhn) (2 commits, 2 PRs, 6 issues, 50 comments)
* [@robbiemu](https://github.com/robbiemu) (1 issue, 1 comment)
* [@robertkiel](https://github.com/robertkiel) (2 commits, 5 PRs, 6 comments)
* [@robin-thomas](https://github.com/robin-thomas) (1 commit, 1 PR)
* [@roderik](https://github.com/roderik) (1 comment)
* [@RookiePJ](https://github.com/RookiePJ) (1 issue)
* [@rubdos](https://github.com/rubdos) (4 comments)
* [@RubenKelevra](https://github.com/RubenKelevra) (1 PR, 11 issues, 36 comments)
* [@ruifortes](https://github.com/ruifortes) (1 issue, 1 comment)
* [@runvnc](https://github.com/runvnc) (1 comment)
* [@rvagg](https://github.com/rvagg) (34 commits, 19 PRs, 2 issues, 110 comments)
* [@rysiekpl](https://github.com/rysiekpl) (2 comments)
* [@sa8](https://github.com/sa8) (1 PR, 1 issue, 1 comment)
* [@Sameer-472](https://github.com/Sameer-472) (1 comment)
* [@SamNormcoreWayne](https://github.com/SamNormcoreWayne) (2 comments)
* [@sankesireddy](https://github.com/sankesireddy) (1 issue)
* [@SanYaYuLang](https://github.com/SanYaYuLang) (1 issue)
* [@saricden](https://github.com/saricden) (3 comments)
* [@SatoshiDoll](https://github.com/SatoshiDoll) (1 issue)
* [@sauerburger](https://github.com/sauerburger) (1 commit, 1 PR)
* [@SaulMoonves](https://github.com/SaulMoonves) (1 issue)
* [@sawsrinath](https://github.com/sawsrinath) (1 issue, 1 comment)
* [@schuelermine](https://github.com/schuelermine) (1 PR)
* [@Scott16546](https://github.com/Scott16546) (1 issue)
* [@sd70mac](https://github.com/sd70mac) (1 issue, 2 comments)
* [@sebastiendan](https://github.com/sebastiendan) (1 comment)
* [@senitskiy](https://github.com/senitskiy) (2 PRs, 3 comments)
* [@SgtPooki](https://github.com/SgtPooki) (3 commits, 12 PRs, 26 issues, 87 comments)
* [@ShehanAT](https://github.com/ShehanAT) (1 PR)
* [@shivani7q](https://github.com/shivani7q) (1 commit, 1 PR)
* [@ShogunPanda](https://github.com/ShogunPanda) (1 commit, 1 PR, 2 comments)
* [@ShravanSunder](https://github.com/ShravanSunder) (2 comments)
* [@ShubhGohil](https://github.com/ShubhGohil) (1 issue)
* [@siepra](https://github.com/siepra) (2 comments)
* [@sigwo](https://github.com/sigwo) (1 commit, 1 PR)
* [@simondebbarma](https://github.com/simondebbarma) (1 comment)
* [@simonloewe](https://github.com/simonloewe) (3 comments)
* [@SionoiS](https://github.com/SionoiS) (1 issue, 1 comment)
* [@sireliah](https://github.com/sireliah) (1 commit, 1 PR, 1 issue)
* [@skins2000](https://github.com/skins2000) (1 issue)
* [@sleeping-barber](https://github.com/sleeping-barber) (1 commit, 1 PR)
* [@slonigiraf](https://github.com/slonigiraf) (1 PR)
* [@slrslr](https://github.com/slrslr) (1 issue)
* [@sly13](https://github.com/sly13) (1 PR)
* [@smoelius](https://github.com/smoelius) (1 PR, 1 issue, 2 comments)
* [@smrz2001](https://github.com/smrz2001) (2 comments)
* [@sneaker1](https://github.com/sneaker1) (1 commit, 1 PR, 1 issue, 1 comment)
* [@socketdown](https://github.com/socketdown) (1 issue)
* [@SoftCreatR](https://github.com/SoftCreatR) (1 commit, 1 comment)
* [@SomajitDey](https://github.com/SomajitDey) (2 commits)
* [@stale](undefined) (14 comments)
* [@starkers](https://github.com/starkers) (1 commit, 1 PR)
* [@StaticDave](https://github.com/StaticDave) (1 issue, 2 comments)
* [@stbrody](https://github.com/stbrody) (2 commits, 1 PR, 1 issue, 7 comments)
* [@stcee](https://github.com/stcee) (1 comment)
* [@Stebalien](https://github.com/Stebalien) (1 commit, 2 issues, 12 comments)
* [@StefanoSetti](https://github.com/StefanoSetti) (3 issues, 5 comments)
* [@stephhuynh18](https://github.com/stephhuynh18) (1 PR, 1 issue)
* [@StorryTV](https://github.com/StorryTV) (1 commit, 1 PR, 4 comments)
* [@stupid-boar](https://github.com/stupid-boar) (1 issue, 1 comment)
* [@sundyloveme](https://github.com/sundyloveme) (1 issue)
* [@sunmur](https://github.com/sunmur) (2 issues)
* [@surajsingla333](https://github.com/surajsingla333) (1 commit, 1 PR, 2 comments)
* [@SusaPereg](https://github.com/SusaPereg) (1 PR)
* [@suud](https://github.com/suud) (1 commit, 1 PR)
* [@svvimming](https://github.com/svvimming) (1 PR)
* [@Szymongib](https://github.com/Szymongib) (1 commit, 1 PR)
* [@T2JOESl4m2ZpNC](https://github.com/T2JOESl4m2ZpNC) (2 comments)
* [@tabcat](https://github.com/tabcat) (1 issue, 1 comment)
* [@Tatsu0809](https://github.com/Tatsu0809) (1 PR)
* [@tdelabro](https://github.com/tdelabro) (1 comment)
* [@tennox](https://github.com/tennox) (1 issue, 1 comment)
* [@Thaina](https://github.com/Thaina) (1 issue, 1 comment)
* [@thattommyhall](https://github.com/thattommyhall) (1 commit, 1 PR, 1 comment)
* [@TheDiscordian](https://github.com/TheDiscordian) (35 comments)
* [@TheDutchCoder](https://github.com/TheDutchCoder) (1 issue, 2 comments)
* [@TheFoolishPupil](https://github.com/TheFoolishPupil) (3 issues, 7 comments)
* [@thelamer](https://github.com/thelamer) (1 issue)
* [@Theo-Farnole](https://github.com/Theo-Farnole) (1 comment)
* [@TheWeb3DAO](https://github.com/TheWeb3DAO) (1 PR)
* [@Thidieulinh](https://github.com/Thidieulinh) (1 comment)
* [@thisisommore](https://github.com/thisisommore) (1 commit, 1 PR)
* [@thomaseizinger](https://github.com/thomaseizinger) (3 commits, 9 PRs, 1 issue, 52 comments)
* [@tiannalu1229](https://github.com/tiannalu1229) (1 issue)
* [@TimDaub](https://github.com/TimDaub) (8 commits, 9 PRs, 5 issues, 5 comments)
* [@timfpark](https://github.com/timfpark) (1 issue, 1 comment)
* [@TkKonstantin](https://github.com/TkKonstantin) (3 comments)
* [@tniessen](https://github.com/tniessen) (1 commit, 1 PR)
* [@token0](https://github.com/token0) (1 issue)
* [@tomaka](https://github.com/tomaka) (1 issue, 9 comments)
* [@TomzBench](https://github.com/TomzBench) (1 issue, 1 comment)
* [@Toni-d-e-v](https://github.com/Toni-d-e-v) (1 issue, 1 comment)
* [@Tonyce](https://github.com/Tonyce) (1 issue)
* [@toorop](https://github.com/toorop) (1 comment)
* [@TotalKrill](https://github.com/TotalKrill) (1 commit, 1 PR)
* [@TriLogic](https://github.com/TriLogic) (1 issue, 3 comments)
* [@tristanisham](https://github.com/tristanisham) (1 PR, 1 comment)
* [@trymeouteh](https://github.com/trymeouteh) (1 issue)
* [@tuckernickman](https://github.com/tuckernickman) (1 issue)
* [@turbo-a](https://github.com/turbo-a) (1 PR)
* [@tuyennhv](https://github.com/tuyennhv) (31 commits, 31 PRs, 14 issues, 28 comments)
* [@TwoPair](https://github.com/TwoPair) (1 commit, 1 PR)
* [@twopercent](https://github.com/twopercent) (2 comments)
* [@tylerferrara](https://github.com/tylerferrara) (1 comment)
* [@tysonzero](https://github.com/tysonzero) (1 issue, 1 comment)
* [@ukstv](https://github.com/ukstv) (1 PR, 1 issue, 6 comments)
* [@ungarson](https://github.com/ungarson) (1 issue)
* [@unrival-protocol](https://github.com/unrival-protocol) (1 issue, 1 comment)
* [@v-stickykeys](https://github.com/v-stickykeys) (1 comment)
* [@VandeurenGlenn](https://github.com/VandeurenGlenn) (1 commit, 1 PR)
* [@vans163](https://github.com/vans163) (2 commits, 2 PRs)
* [@vasanthsteve23](https://github.com/vasanthsteve23) (1 commit)
* [@vasco-santos](https://github.com/vasco-santos) (9 commits, 3 PRs, 22 comments)
* [@vbalien](https://github.com/vbalien) (1 PR, 1 issue)
* [@vegetable-edu](https://github.com/vegetable-edu) (1 issue)
* [@verifyfirst](https://github.com/verifyfirst) (1 issue, 1 comment)
* [@victor-wei126](https://github.com/victor-wei126) (1 issue, 1 comment)
* [@vigasdeep](https://github.com/vigasdeep) (1 comment)
* [@vitush93](https://github.com/vitush93) (2 commits, 2 PRs)
* [@vladfaust](https://github.com/vladfaust) (2 comments)
* [@VladimirMikulic](https://github.com/VladimirMikulic) (1 issue, 1 comment)
* [@vmx](https://github.com/vmx) (7 commits, 6 PRs, 2 issues, 9 comments)
* [@vogdb](https://github.com/vogdb) (9 commits, 12 PRs, 1 issue, 29 comments)
* [@volkriss](https://github.com/volkriss) (1 comment)
* [@vsthakur1quytech](https://github.com/vsthakur1quytech) (1 comment)
* [@vyanedgar](https://github.com/vyanedgar) (1 PR)
* [@vyzo](https://github.com/vyzo) (3 commits, 4 PRs, 13 comments)
* [@walkerlj0](https://github.com/walkerlj0) (3 commits, 5 PRs, 1 issue, 2 comments)
* [@wandyyd](https://github.com/wandyyd) (1 issue, 5 comments)
* [@warpfork](https://github.com/warpfork) (27 commits, 6 PRs, 3 issues, 21 comments)
* [@waybackarchiver](https://github.com/waybackarchiver) (1 PR)
* [@wdv4758h](https://github.com/wdv4758h) (1 commit, 1 PR)
* [@websoftwares](https://github.com/websoftwares) (1 commit, 1 PR, 2 comments)
* [@webtech2412](https://github.com/webtech2412) (1 issue, 1 comment)
* [@wellcaffeinated](https://github.com/wellcaffeinated) (2 issues, 1 comment)
* [@wemeetagain](https://github.com/wemeetagain) (28 commits, 4 PRs, 5 issues, 43 comments)
* [@wernermoecke-mcd](https://github.com/wernermoecke-mcd) (1 comment)
* [@wetezos](https://github.com/wetezos) (1 PR)
* [@whiteowl3](https://github.com/whiteowl3) (1 comment)
* [@willscott](https://github.com/willscott) (2 commits, 1 PR, 1 issue, 5 comments)
* [@winksaville](https://github.com/winksaville) (2 commits, 2 PRs, 3 comments)
* [@Winterhuman](https://github.com/Winterhuman) (4 issues, 2 comments)
* [@wngr](https://github.com/wngr) (3 comments)
* [@Xendergo](https://github.com/Xendergo) (1 issue)
* [@xoayxoay](https://github.com/xoayxoay) (1 issue, 2 comments)
* [@xxxxj-up](https://github.com/xxxxj-up) (1 issue)
* [@yingshaoxo](https://github.com/yingshaoxo) (2 comments)
* [@YoshieraHuang](https://github.com/YoshieraHuang) (1 commit, 1 PR, 3 issues, 7 comments)
* [@younasm](https://github.com/younasm) (2 comments)
* [@yusefnapora](https://github.com/yusefnapora) (5 commits, 3 PRs, 1 issue, 5 comments)
* [@Zaba505](https://github.com/Zaba505) (1 commit, 1 PR, 1 issue, 2 comments)
* [@zeim839](https://github.com/zeim839) (1 commit, 2 PRs, 1 issue, 2 comments)
* [@ZeroCool22](https://github.com/ZeroCool22) (2 issues, 2 comments)
* [@zeroxbt](https://github.com/zeroxbt) (2 issues)
* [@zhaoyiming0803](https://github.com/zhaoyiming0803) (1 issue)
* [@zouantchaw](https://github.com/zouantchaw) (1 issue)
* [@zyb1101](https://github.com/zyb1101) (1 issue)
# 🙌🏽 Want to contribute?
Would you like to contribute to the IPFS project and dont know how? Well, there are a few places you can get started:
- Check the issues with the `help wanted` label in the [js-IPFS repo](https://github.com/ipfs/js-ipfs/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)
- Join an IPFS All Hands, introduce yourself and let us know where you would like to contribute: https://github.com/ipfs/team-mgmt/#weekly-ipfs-all-hands
- Hack with IPFS and show us what you made! The All Hands call is also the perfect venue for demos, join in and show us what you built
- Join the discussion at https://discuss.ipfs.io/ and help users finding their answers.
- Join the [🚀 IPFS Core Implementations Weekly Sync 🛰](https://github.com/ipfs/team-mgmt/issues/992) and be part of the action!
# ⁉️ Do you have questions?
The best place to ask your questions about IPFS, how it works, and what you can do with it is at [discuss.ipfs.io](https://discuss.ipfs.io). We are also available at the `#ipfs` channel on Freenode.
[unixfs]: https://docs.ipfs.io/guides/concepts/unixfs/
[cid]: https://docs.ipfs.io/guides/concepts/cid/
[mfs]: https://docs.ipfs.io/guides/concepts/mfs/
[libp2p]: https://github.com/libp2p/js-libp2p
[ipld]: https://github.com/ipld/js-ipld
[abortsignal]: https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal
[multihash]: https://multiformats.io/multihash
[dht]: https://docs.ipfs.io/concepts/dht/
[multiaddr]: https://multiformats.io/multiaddr/
[dag]: https://docs.ipfs.io/concepts/merkle-dag/
[core-api]: https://github.com/ipfs/js-ipfs/tree/master/docs/core-api