Skip to content
This repository has been archived by the owner on Jul 21, 2023. It is now read-only.


Repository files navigation

📁 Archived - this module has been merged into js-libp2p

@libp2p/mplex Discuss codecov CI

JavaScript implementation of

Table of contents


$ npm i @libp2p/mplex

Browser <script> tag

Loading this module through a script tag will make it's exports available as Libp2pMplex in the global namespace.

<script src=""></script>


import { mplex } from '@libp2p/mplex'
import { pipe } from 'it-pipe'

const factory = mplex()

const muxer = factory.createStreamMuxer(components, {
  onStream: stream => { // Receive a duplex stream from the remote
    // ...receive data from the remote and optionally send data back
  onStreamEnd: stream => {
    // ...handle any tracking you may need of stream closures

pipe(conn, muxer, conn) // conn is duplex connection to another peer

const stream = muxer.newStream() // Create a new duplex stream to the remote

// Use the duplex stream to send some data to the remote...
pipe([1, 2, 3], stream)

API Docs


Licensed under either of


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.