Compare commits

..

4 Commits

Author SHA1 Message Date
David Dias
7068aae527 chore: release version v0.4.0 2017-01-28 21:13:34 +00:00
David Dias
d632451f92 chore: update contributors 2017-01-28 21:13:34 +00:00
David Dias
8047e3fe64 feat: new discovery interface 2017-01-28 21:13:18 +00:00
David Dias
35af31023c chore: update deps 2017-01-28 20:59:29 +00:00
5 changed files with 20 additions and 29 deletions

View File

@@ -1,5 +0,0 @@
<a name="0.5.5"></a>
## [0.5.5](https://github.com/libp2p/js-libp2p/compare/v0.5.4...v0.5.5) (2017-03-21)

View File

@@ -39,7 +39,7 @@ To sum up, libp2p is a "network stack" -- a protocol suite -- that cleanly separ
## Bundles
With its modular nature, libp2p can be found being used in different projects with different sets of features, while preserving the same top level API. `js-libp2p` is only a skeleton and should not be installed directly, if you are looking for a prebundled libp2p stack, please check:
With its modular nature, libp2p can be found being used in different projects with different sets of features, while perserving the same top level API. `js-libp2p` is only a skelleton and should not be installed directly, if you are looking for a prebundled libp2p stack, please check:
- [libp2p-ipfs-nodejs](https://github.com/ipfs/js-libp2p-ipfs-nodejs) - The libp2p build used by js-ipfs when run in Node.js
- [libp2p-ipfs-browser](https://github.com/ipfs/js-libp2p-ipfs-browser) - The libp2p build used by js-ipfs when run in a Browser (that supports WebRTC)
@@ -48,7 +48,7 @@ If you have developed a libp2p bundle, please consider submitting it to this lis
## Install
Again, as noted above, this module is only a skeleton and should not be used directly other than libp2p bundle implementors that want to extend its code.
> Again, as noted above, this module is only a skeleton and should not be used directly other than libp2p bundle implementors that want to extend its code.
```sh
npm install --save libp2p
@@ -56,11 +56,11 @@ npm install --save libp2p
## Usage
> **Disclaimer - We haven't solidified [libp2p interface](https://github.com/libp2p/interface-libp2p) yet, it might change at anytime.**
> **Disclamer - We haven't solidified [libp2p interface](https://github.com/libp2p/interface-libp2p) yet, it might change at anytime.**
### Extending libp2p skeleton
libp2p becomes very simple and basically acts as a glue for every module that compose this library. Since it can be highly customized, it requires some setup. What we recommend is to have a libp2p build for the system you are developing taking into account in your needs (e.g. for a browser working version of libp2p that acts as the network layer of IPFS, we have a built and minified version that browsers can require).
libp2p becomes very simple and basically acts as a glue for every module that compose this library. Since it can be highly customized, it requires some setup. What we recommend is to have a libp2p build for the system you are developing taking into account in your needs (e.g. for a browser working version of libp2p that acts as the network layer of IPFS, we have a built and minified version that browsers can require)
### libp2p API
@@ -76,7 +76,7 @@ Defined by [interface-libp2p](https://github.com/libp2p/interface-libp2p)
### Packages
List of packages currently in existence for libp2p
> List of packages currently in existance for libp2p
| Package | Version | Dependencies | DevDependencies |
|---------|---------|--------------|-----------------|
@@ -115,7 +115,7 @@ List of packages currently in existence for libp2p
## Contribute
The libp2p implementation in JavaScript is a work in progress. As such, there are a few things you can do right now to help out:
THe libp2p implementation in JavaScript is a work in progress. As such, there's a few things you can do right now to help out:
- Go through the modules and **check out existing issues**. This would be especially useful for modules in active development. Some knowledge of IPFS/libp2p may be required, as well as the infrasture behind it - for instance, you may need to read up on p2p and more complex operations like muxing to be able to help technically.
- **Perform code reviews**. Most of this has been developed by @diasdavid, which means that more eyes will help a) speed the project along b) ensure quality and c) reduce possible future bugs.

View File

@@ -1,6 +1,6 @@
{
"name": "libp2p",
"version": "0.5.5",
"version": "0.4.0",
"description": "JavaScript Skeleton for libp2p bundles",
"main": "src/index.js",
"scripts": {
@@ -32,27 +32,25 @@
"bugs": {
"url": "https://github.com/libp2p/js-libp2p/issues"
},
"homepage": "https://github.com/libp2p/js-libp2p",
"homepage": "https://github.com/diasdavid/js-libp2p",
"devDependencies": {
"aegir": "^11.0.0",
"chai": "^3.5.0",
"dirty-chai": "^1.2.2",
"aegir": "^9.4.0",
"pre-commit": "^1.2.2"
},
"dependencies": {
"libp2p-ping": "~0.3.2",
"libp2p-swarm": "~0.26.19",
"libp2p-ping": "^0.3.0",
"libp2p-swarm": "^0.26.13",
"mafmt": "^2.1.6",
"multiaddr": "^2.2.2",
"peer-book": "~0.3.1",
"peer-id": "~0.8.4",
"peer-info": "~0.8.4"
"multiaddr": "^2.2.0",
"peer-book": "^0.3.0",
"peer-id": "^0.8.1",
"peer-info": "^0.8.2"
},
"contributors": [
"David Dias <daviddias.p@gmail.com>",
"Friedel Ziegelmayer <dignifiedquire@gmail.com>",
"Richard Littauer <richard.littauer@gmail.com>",
"greenkeeperio-bot <support@greenkeeper.io>",
"mayerwin <mayerwin@users.noreply.github.com>"
"greenkeeperio-bot <support@greenkeeper.io>"
]
}

View File

@@ -9,7 +9,6 @@ const mafmt = require('mafmt')
const EE = require('events').EventEmitter
const assert = require('assert')
const Ping = require('libp2p-ping')
const setImmediate = require('async/setImmediate')
exports = module.exports
@@ -17,7 +16,7 @@ const OFFLINE_ERROR_MESSAGE = 'The libp2p node is not started yet'
const IPFS_CODE = 421
class Node {
constructor (_modules, _peerInfo, _peerBook, _options) {
constructor (_modules, _peerInfo, _peerBook) {
assert(_modules, 'requires modules to equip libp2p with features')
assert(_peerInfo, 'requires a PeerInfo instance')
@@ -135,6 +134,7 @@ class Node {
if (this.modules.discovery) {
this.modules.discovery.forEach((discovery) => {
console.log(discovery)
setImmediate(() => discovery.stop(() => {}))
})
}

View File

@@ -1,14 +1,12 @@
/* eslint-env mocha */
'use strict'
const chai = require('chai')
chai.use(require('dirty-chai'))
const expect = chai.expect
const expect = require('chai').expect
const libp2p = require('../src')
describe('libp2p', () => {
it('the skeleton is fine, now go build your own libp2p bundle', () => {
expect(libp2p).to.exist()
expect(libp2p).to.exist
})
})