xlibp2p is an opinionated, easy-to-use P2P network stack for decentralized applications written in Go.

xlibp2p is made to be minimal, robust, developer-friendly, performant, secure, and cross-platform across multitudes of devices by making use of a small amount of well-tested, production-grade dependencies.


xlibp2p was intended to be used in Go projects that utilize Go modules. You may incorporate noise into your project as a library dependency by executing the following:

go get -u https://github.com/xfs-network/xlibp2p.git


If you’d like to contribute to xlibp2p please fork, fix, commit and send a pull request. Commits who do not comply with the coding standards are ignored (use gofmt!). If you send pull requests make absolute sure that you commit on the develop branch and that you do not merge to master. Commits that are directly based on master are simply ignored.


xlibp2p is released under the open source MIT license and is offered “AS IS” without warranty of any kind, express or implied. Any security provided by the XFS software depends in part on how it is used, configured, and deployed. xlibp2p is built upon many third-party libraries, xfs.tech makes no representation or guarantee that xlibp2p or any third-party libraries will perform as intended or will be free of errors, bugs or faulty code. Both may fail in large or small ways that could completely or partially limit functionality or compromise computer systems. If you use or implement xlibp2p, you do so at your own risk. In no event will xfs.tech be liable to any party for any damages whatsoever, even if it had been advised of the possibility of damage.