diff --git a/.forestry/front_matter/templates/blog-post.yml b/.forestry/front_matter/templates/blog-post.yml index 01380445..62d413fd 100644 --- a/.forestry/front_matter/templates/blog-post.yml +++ b/.forestry/front_matter/templates/blog-post.yml @@ -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 diff --git a/src/_blog/js-ipfs-0.63.0-esm-libp2p-0.37.x-and-lightweight-peerids.md b/src/_blog/js-ipfs-0.63.0-esm-libp2p-0.37.x-and-lightweight-peerids.md new file mode 100644 index 00000000..8abc41f7 --- /dev/null +++ b/src/_blog/js-ipfs-0.63.0-esm-libp2p-0.37.x-and-lightweight-peerids.md @@ -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 + +# πŸ—ΊοΈ What’s 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 don’t 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 \ No newline at end of file