{"_id":"simple-hypercore-protocol","_rev":"689023","name":"simple-hypercore-protocol","description":"Hypercore protocol state machine","dist-tags":{"latest":"2.1.2"},"maintainers":[{"name":"mafintosh","email":""}],"time":{"modified":"2021-08-31T10:11:18.000Z","created":"2019-08-30T13:53:58.025Z","2.1.2":"2021-08-31T10:04:37.533Z","2.1.1":"2020-09-24T08:53:31.071Z","2.1.0":"2020-07-01T14:21:26.138Z","2.0.1":"2020-05-16T21:26:52.667Z","2.0.0":"2020-05-13T12:08:33.356Z","1.5.0":"2020-02-04T11:44:13.401Z","1.4.0":"2019-11-13T10:02:28.982Z","1.3.1":"2019-10-12T19:51:31.445Z","1.3.0":"2019-10-11T12:07:42.702Z","1.2.1":"2019-10-08T11:56:05.847Z","1.2.0":"2019-10-08T10:11:04.290Z","1.1.3":"2019-09-23T16:19:59.349Z","1.1.2":"2019-09-12T12:45:40.624Z","1.1.0":"2019-09-11T08:41:35.236Z","1.0.1":"2019-09-10T14:20:50.668Z","1.0.0":"2019-09-06T14:30:00.880Z","0.0.0":"2019-08-30T13:53:58.025Z"},"users":{},"author":{"name":"Mathias Buus","url":"@mafintosh"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/simple-hypercore-protocol.git"},"versions":{"2.1.2":{"name":"simple-hypercore-protocol","version":"2.1.2","description":"Hypercore protocol state machine","main":"index.js","dependencies":{"hypercore-crypto":"^2.1.0","noise-protocol":"^3.0.1","protocol-buffers-encodings":"^1.1.0","simple-handshake":"^3.0.0","simple-message-channels":"^1.2.1","varint":"^5.0.0","xsalsa20-universal":"^1.0.0"},"devDependencies":{"protocol-buffers":"^4.1.0","standard":"^14.1.0","tape":"^4.11.0"},"scripts":{"test":"standard && tape test.js","protobuf":"protocol-buffers schema.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/simple-hypercore-protocol.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/simple-hypercore-protocol/issues"},"homepage":"https://github.com/mafintosh/simple-hypercore-protocol","gitHead":"972740e8e97779bc9464361fbfa6211aca3b3ec2","_id":"simple-hypercore-protocol@2.1.2","_nodeVersion":"16.1.0","_npmVersion":"6.14.13","dist":{"shasum":"7ddf149ecf4013a085382f3ea70f758a8cfada07","size":9367,"noattachment":false,"key":"/simple-hypercore-protocol/-/simple-hypercore-protocol-2.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-hypercore-protocol/download/simple-hypercore-protocol-2.1.2.tgz"},"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"maintainers":[{"name":"mafintosh","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-hypercore-protocol_2.1.2_1630404277386_0.11498962130571644"},"_hasShrinkwrap":false,"publish_time":1630404277533,"_cnpm_publish_time":1630404277533},"2.1.1":{"name":"simple-hypercore-protocol","version":"2.1.1","description":"Hypercore protocol state machine","main":"index.js","dependencies":{"hypercore-crypto":"^2.1.0","noise-protocol":"^3.0.1","protocol-buffers-encodings":"^1.1.0","simple-handshake":"^3.0.0","simple-message-channels":"^1.2.1","varint":"^5.0.0","xsalsa20-universal":"^1.0.0"},"devDependencies":{"protocol-buffers":"^4.1.0","standard":"^14.1.0","tape":"^4.11.0"},"scripts":{"test":"standard && tape test.js","protobuf":"protocol-buffers schema.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/simple-hypercore-protocol.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/simple-hypercore-protocol/issues"},"homepage":"https://github.com/mafintosh/simple-hypercore-protocol","gitHead":"395711fb51803fd793d5439cc7804fe3844e68b3","_id":"simple-hypercore-protocol@2.1.1","_nodeVersion":"14.10.1","_npmVersion":"6.14.8","dist":{"shasum":"9411293f6a6e4bcbca9e75fee18f922a00c69803","size":9368,"noattachment":false,"key":"/simple-hypercore-protocol/-/simple-hypercore-protocol-2.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-hypercore-protocol/download/simple-hypercore-protocol-2.1.1.tgz"},"maintainers":[{"name":"mafintosh","email":""}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-hypercore-protocol_2.1.1_1600937610921_0.9394361785992935"},"_hasShrinkwrap":false,"publish_time":1600937611071,"_cnpm_publish_time":1600937611071},"2.1.0":{"name":"simple-hypercore-protocol","version":"2.1.0","description":"Hypercore protocol state machine","main":"index.js","dependencies":{"hypercore-crypto":"^2.1.0","noise-protocol":"^2.0.0","protocol-buffers-encodings":"^1.1.0","simple-handshake":"^2.0.0","simple-message-channels":"^1.2.1","varint":"^5.0.0","xsalsa20-universal":"^1.0.0"},"devDependencies":{"protocol-buffers":"^4.1.0","standard":"^14.1.0","tape":"^4.11.0"},"scripts":{"test":"standard && tape test.js","protobuf":"protocol-buffers schema.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/simple-hypercore-protocol.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/simple-hypercore-protocol/issues"},"homepage":"https://github.com/mafintosh/simple-hypercore-protocol","gitHead":"89cfbdde2a0ffa8ff89272efdcd34caebd373fdf","_id":"simple-hypercore-protocol@2.1.0","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"shasum":"87f889b444d9f421ce83bd8f037343f95e297f89","size":9361,"noattachment":false,"key":"/simple-hypercore-protocol/-/simple-hypercore-protocol-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-hypercore-protocol/download/simple-hypercore-protocol-2.1.0.tgz"},"maintainers":[{"name":"mafintosh","email":""}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-hypercore-protocol_2.1.0_1593613286033_0.02754751978144654"},"_hasShrinkwrap":false,"publish_time":1593613286138,"_cnpm_publish_time":1593613286138},"2.0.1":{"name":"simple-hypercore-protocol","version":"2.0.1","description":"Hypercore protocol state machine","main":"index.js","dependencies":{"hypercore-crypto":"^2.1.0","noise-protocol":"^2.0.0","protocol-buffers-encodings":"^1.1.0","simple-handshake":"^2.0.0","simple-message-channels":"^1.2.1","varint":"^5.0.0","xsalsa20-universal":"^1.0.0"},"devDependencies":{"protocol-buffers":"^4.1.0","standard":"^14.1.0","tape":"^4.11.0"},"scripts":{"test":"standard && tape test.js","protobuf":"protocol-buffers schema.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/simple-hypercore-protocol.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/simple-hypercore-protocol/issues"},"homepage":"https://github.com/mafintosh/simple-hypercore-protocol","gitHead":"019c79622002e3d6373ddf52e00a28d2f4fa2e04","_id":"simple-hypercore-protocol@2.0.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"shasum":"c908f1841b93d8ef3a7391665d0489bc8aa0af2c","size":9192,"noattachment":false,"key":"/simple-hypercore-protocol/-/simple-hypercore-protocol-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-hypercore-protocol/download/simple-hypercore-protocol-2.0.1.tgz"},"maintainers":[{"name":"mafintosh","email":""}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-hypercore-protocol_2.0.1_1589664412567_0.1250606474028071"},"_hasShrinkwrap":false,"publish_time":1589664412667,"_cnpm_publish_time":1589664412667},"2.0.0":{"name":"simple-hypercore-protocol","version":"2.0.0","description":"Hypercore protocol state machine","main":"index.js","dependencies":{"hypercore-crypto":"^2.0.0","protocol-buffers-encodings":"^1.1.0","simple-handshake":"^2.0.0","simple-message-channels":"^1.2.1","varint":"^5.0.0","xsalsa20-universal":"^1.0.0"},"devDependencies":{"protocol-buffers":"^4.1.0","standard":"^14.1.0","tape":"^4.11.0"},"scripts":{"test":"standard && tape test.js","protobuf":"protocol-buffers schema.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/simple-hypercore-protocol.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/simple-hypercore-protocol/issues"},"homepage":"https://github.com/mafintosh/simple-hypercore-protocol","gitHead":"540d90aa747bcbfbad0adfe31a155b86f125369a","_id":"simple-hypercore-protocol@2.0.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"shasum":"3753d6f80bc7bcaace16dbfc273ef8beb587f44b","size":8968,"noattachment":false,"key":"/simple-hypercore-protocol/-/simple-hypercore-protocol-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-hypercore-protocol/download/simple-hypercore-protocol-2.0.0.tgz"},"maintainers":[{"name":"mafintosh","email":""}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-hypercore-protocol_2.0.0_1589371713202_0.6912327106509353"},"_hasShrinkwrap":false,"publish_time":1589371713356,"_cnpm_publish_time":1589371713356},"1.5.0":{"name":"simple-hypercore-protocol","version":"1.5.0","description":"Hypercore protocol state machine","main":"index.js","dependencies":{"protocol-buffers-encodings":"^1.1.0","simple-handshake":"^1.3.1","simple-message-channels":"^1.2.1","sodium-universal":"^2.0.0","varint":"^5.0.0"},"devDependencies":{"protocol-buffers":"^4.1.0","standard":"^14.1.0","tape":"^4.11.0"},"scripts":{"test":"standard && tape test.js","protobuf":"protocol-buffers schema.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/simple-hypercore-protocol.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/simple-hypercore-protocol/issues"},"homepage":"https://github.com/mafintosh/simple-hypercore-protocol","gitHead":"ef0e0a989c6440f96f884c9e2f26b760fe1907e6","_id":"simple-hypercore-protocol@1.5.0","_nodeVersion":"12.14.1","_npmVersion":"6.13.4","dist":{"shasum":"8e03961f015b67e138d42e84ef12d4f20e702d37","size":9067,"noattachment":false,"key":"/simple-hypercore-protocol/-/simple-hypercore-protocol-1.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-hypercore-protocol/download/simple-hypercore-protocol-1.5.0.tgz"},"maintainers":[{"name":"mafintosh","email":""}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-hypercore-protocol_1.5.0_1580816653286_0.41799590301066836"},"_hasShrinkwrap":false,"publish_time":1580816653401,"_cnpm_publish_time":1580816653401},"1.4.0":{"name":"simple-hypercore-protocol","version":"1.4.0","description":"Hypercore protocol state machine","main":"index.js","dependencies":{"protocol-buffers-encodings":"^1.1.0","simple-handshake":"^1.3.1","simple-message-channels":"^1.2.1","sodium-universal":"^2.0.0","varint":"^5.0.0"},"devDependencies":{"protocol-buffers":"^4.1.0","standard":"^14.1.0","tape":"^4.11.0"},"scripts":{"test":"standard && tape test.js","protobuf":"protocol-buffers schema.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/simple-hypercore-protocol.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/simple-hypercore-protocol/issues"},"homepage":"https://github.com/mafintosh/simple-hypercore-protocol","gitHead":"d577298a47479630d0e340190273db4a22d3c793","_id":"simple-hypercore-protocol@1.4.0","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"shasum":"43957d7b1b0a045a346f1f566845d2a79d4e4d0c","size":8930,"noattachment":false,"key":"/simple-hypercore-protocol/-/simple-hypercore-protocol-1.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-hypercore-protocol/download/simple-hypercore-protocol-1.4.0.tgz"},"maintainers":[{"name":"mafintosh","email":""}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-hypercore-protocol_1.4.0_1573639348861_0.20727282297538263"},"_hasShrinkwrap":false,"publish_time":1573639348982,"_cnpm_publish_time":1573639348982},"1.3.1":{"name":"simple-hypercore-protocol","version":"1.3.1","description":"Hypercore protocol state machine","main":"index.js","dependencies":{"protocol-buffers-encodings":"^1.1.0","simple-handshake":"^1.3.1","simple-message-channels":"^1.2.1","sodium-universal":"^2.0.0","varint":"^5.0.0"},"devDependencies":{"protocol-buffers":"^4.1.0","standard":"^14.1.0","tape":"^4.11.0"},"scripts":{"test":"standard && tape test.js","protobuf":"protocol-buffers schema.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/simple-hypercore-protocol.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/simple-hypercore-protocol/issues"},"homepage":"https://github.com/mafintosh/simple-hypercore-protocol","gitHead":"6b588f7f6c5c851f122cd4affcd61de5a28aa8c1","_id":"simple-hypercore-protocol@1.3.1","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"shasum":"8ea3654904b05773d9458fe49092c7bb0cb26929","size":8874,"noattachment":false,"key":"/simple-hypercore-protocol/-/simple-hypercore-protocol-1.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-hypercore-protocol/download/simple-hypercore-protocol-1.3.1.tgz"},"maintainers":[{"name":"mafintosh","email":""}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-hypercore-protocol_1.3.1_1570909891262_0.44692364684160935"},"_hasShrinkwrap":false,"publish_time":1570909891445,"_cnpm_publish_time":1570909891445},"1.3.0":{"name":"simple-hypercore-protocol","version":"1.3.0","description":"Hypercore protocol state machine","main":"index.js","dependencies":{"nanoassert":"^2.0.0","protocol-buffers-encodings":"^1.1.0","simple-handshake":"^1.3.1","simple-message-channels":"^1.2.1","sodium-universal":"^2.0.0","varint":"^5.0.0"},"devDependencies":{"protocol-buffers":"^4.1.0","standard":"^14.1.0","tape":"^4.11.0"},"scripts":{"test":"standard && tape test.js","protobuf":"protocol-buffers schema.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/simple-hypercore-protocol.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/simple-hypercore-protocol/issues"},"homepage":"https://github.com/mafintosh/simple-hypercore-protocol","gitHead":"b54280b997774ec50addf1957e42abae2397533b","_id":"simple-hypercore-protocol@1.3.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"shasum":"e5c2576ceb82144db6b27bab5375eccf7d476a57","size":9348,"noattachment":false,"key":"/simple-hypercore-protocol/-/simple-hypercore-protocol-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-hypercore-protocol/download/simple-hypercore-protocol-1.3.0.tgz"},"maintainers":[{"name":"mafintosh","email":""}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-hypercore-protocol_1.3.0_1570795662552_0.7109688560492364"},"_hasShrinkwrap":false,"publish_time":1570795662702,"_cnpm_publish_time":1570795662702},"1.2.1":{"name":"simple-hypercore-protocol","version":"1.2.1","description":"Hypercore protocol state machine","main":"index.js","dependencies":{"nanoassert":"^2.0.0","protocol-buffers-encodings":"^1.1.0","simple-handshake":"^1.3.1","simple-message-channels":"^1.1.2","sodium-universal":"^2.0.0","varint":"^5.0.0"},"devDependencies":{"protocol-buffers":"^4.1.0","standard":"^14.1.0","tape":"^4.11.0"},"scripts":{"test":"standard && tape test.js","protobuf":"protocol-buffers schema.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/simple-hypercore-protocol.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/simple-hypercore-protocol/issues"},"homepage":"https://github.com/mafintosh/simple-hypercore-protocol","gitHead":"a553343d7a513390bb885dbc36bbf011ef6b3002","_id":"simple-hypercore-protocol@1.2.1","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"shasum":"163b38eea95b6a67794e7e2b0058f46da52c9799","size":9088,"noattachment":false,"key":"/simple-hypercore-protocol/-/simple-hypercore-protocol-1.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-hypercore-protocol/download/simple-hypercore-protocol-1.2.1.tgz"},"maintainers":[{"name":"mafintosh","email":""}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-hypercore-protocol_1.2.1_1570535765730_0.5690404943647807"},"_hasShrinkwrap":false,"publish_time":1570535765847,"_cnpm_publish_time":1570535765847},"1.2.0":{"name":"simple-hypercore-protocol","version":"1.2.0","description":"Hypercore protocol state machine","main":"index.js","dependencies":{"protocol-buffers-encodings":"^1.1.0","simple-handshake":"^1.3.1","simple-message-channels":"^1.1.2","sodium-universal":"^2.0.0","varint":"^5.0.0"},"devDependencies":{"protocol-buffers":"^4.1.0","standard":"^14.1.0","tape":"^4.11.0"},"scripts":{"test":"standard && tape test.js","protobuf":"protocol-buffers schema.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/simple-hypercore-protocol.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/simple-hypercore-protocol/issues"},"homepage":"https://github.com/mafintosh/simple-hypercore-protocol","gitHead":"53e628ba788f7fdfa53cfdd41a53bc420ea55a36","_id":"simple-hypercore-protocol@1.2.0","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"shasum":"dbc0d61382441acc7301282863b5086246558be7","size":8968,"noattachment":false,"key":"/simple-hypercore-protocol/-/simple-hypercore-protocol-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-hypercore-protocol/download/simple-hypercore-protocol-1.2.0.tgz"},"maintainers":[{"name":"mafintosh","email":""}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-hypercore-protocol_1.2.0_1570529464106_0.7257919514521072"},"_hasShrinkwrap":false,"publish_time":1570529464290,"_cnpm_publish_time":1570529464290},"1.1.3":{"name":"simple-hypercore-protocol","version":"1.1.3","description":"Hypercore protocol state machine","main":"index.js","dependencies":{"protocol-buffers-encodings":"^1.1.0","simple-handshake":"^1.3.1","simple-message-channels":"^1.1.2","sodium-universal":"^2.0.0","varint":"^5.0.0"},"devDependencies":{"protocol-buffers":"^4.1.0","standard":"^14.1.0","tape":"^4.11.0"},"scripts":{"test":"standard && tape test.js","protobuf":"protocol-buffers schema.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/simple-hypercore-protocol.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/simple-hypercore-protocol/issues"},"homepage":"https://github.com/mafintosh/simple-hypercore-protocol","gitHead":"689d3cc0620281dd1e8f88153be5f198b75d493a","_id":"simple-hypercore-protocol@1.1.3","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"shasum":"22c70ffe615603f8849478733fee101a90f6b19b","size":8601,"noattachment":false,"key":"/simple-hypercore-protocol/-/simple-hypercore-protocol-1.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-hypercore-protocol/download/simple-hypercore-protocol-1.1.3.tgz"},"maintainers":[{"name":"mafintosh","email":""}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-hypercore-protocol_1.1.3_1569255599219_0.6325422733365902"},"_hasShrinkwrap":false,"publish_time":1569255599349,"_cnpm_publish_time":1569255599349},"1.1.2":{"name":"simple-hypercore-protocol","version":"1.1.2","description":"Hypercore protocol state machine","main":"index.js","dependencies":{"protocol-buffers-encodings":"^1.1.0","simple-handshake":"^1.3.1","simple-message-channels":"^1.1.2","sodium-universal":"^2.0.0","varint":"^5.0.0"},"devDependencies":{"protocol-buffers":"^4.1.0","standard":"^14.1.0","tape":"^4.11.0"},"scripts":{"test":"standard && tape test.js","protobuf":"protocol-buffers schema.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/simple-hypercore-protocol.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/simple-hypercore-protocol/issues"},"homepage":"https://github.com/mafintosh/simple-hypercore-protocol","gitHead":"4a896f91148b49e84415f705d477b7df4f76ce08","_id":"simple-hypercore-protocol@1.1.2","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"shasum":"40878354e123cc860f411dff0637ea0d60e67d57","size":8559,"noattachment":false,"key":"/simple-hypercore-protocol/-/simple-hypercore-protocol-1.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-hypercore-protocol/download/simple-hypercore-protocol-1.1.2.tgz"},"maintainers":[{"name":"mafintosh","email":""}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-hypercore-protocol_1.1.2_1568292340414_0.31437397695701597"},"_hasShrinkwrap":false,"publish_time":1568292340624,"_cnpm_publish_time":1568292340624},"1.1.0":{"name":"simple-hypercore-protocol","version":"1.1.0","description":"Hypercore protocol state machine","main":"index.js","dependencies":{"protocol-buffers-encodings":"^1.1.0","simple-handshake":"^1.3.1","simple-message-channels":"^1.1.2","sodium-universal":"^2.0.0","varint":"^5.0.0"},"devDependencies":{"protocol-buffers":"^4.1.0","standard":"^14.1.0","tape":"^4.11.0"},"scripts":{"test":"standard && tape test.js","protobuf":"protocol-buffers schema.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/simple-hypercore-protocol.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/simple-hypercore-protocol/issues"},"homepage":"https://github.com/mafintosh/simple-hypercore-protocol","gitHead":"d286a469de1788442f2ba229b0ac2506f6389b9f","_id":"simple-hypercore-protocol@1.1.0","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"shasum":"b9f84b353a71fa97046a30e942b6993e1d37f5c8","size":8505,"noattachment":false,"key":"/simple-hypercore-protocol/-/simple-hypercore-protocol-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-hypercore-protocol/download/simple-hypercore-protocol-1.1.0.tgz"},"maintainers":[{"name":"mafintosh","email":""}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-hypercore-protocol_1.1.0_1568191295069_0.5901442326436375"},"_hasShrinkwrap":false,"publish_time":1568191295236,"_cnpm_publish_time":1568191295236},"1.0.1":{"name":"simple-hypercore-protocol","version":"1.0.1","description":"Hypercore protocol state machine","main":"index.js","dependencies":{"protocol-buffers-encodings":"^1.1.0","simple-handshake":"^1.3.1","simple-message-channels":"^1.1.2","sodium-universal":"^2.0.0","varint":"^5.0.0"},"devDependencies":{"protocol-buffers":"^4.1.0","standard":"^14.1.0","tape":"^4.11.0"},"scripts":{"test":"standard && tape test.js","protobuf":"protocol-buffers schema.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/simple-hypercore-protocol.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/simple-hypercore-protocol/issues"},"homepage":"https://github.com/mafintosh/simple-hypercore-protocol","gitHead":"8235af64d6083dd8b2f4b97132cb6059d6be8005","_id":"simple-hypercore-protocol@1.0.1","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"shasum":"f2cc84a6506c83f2345e19da21d453e757334880","size":8427,"noattachment":false,"key":"/simple-hypercore-protocol/-/simple-hypercore-protocol-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-hypercore-protocol/download/simple-hypercore-protocol-1.0.1.tgz"},"maintainers":[{"name":"mafintosh","email":""}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-hypercore-protocol_1.0.1_1568125250464_0.5549895609150695"},"_hasShrinkwrap":false,"publish_time":1568125250668,"_cnpm_publish_time":1568125250668},"1.0.0":{"name":"simple-hypercore-protocol","version":"1.0.0","description":"Hypercore protocol state machine","main":"index.js","dependencies":{"protocol-buffers-encodings":"^1.1.0","simple-handshake":"^1.3.1","simple-message-channels":"^1.1.2","sodium-universal":"^2.0.0","varint":"^5.0.0"},"devDependencies":{"protocol-buffers":"^4.1.0","standard":"^14.1.0","tape":"^4.11.0"},"scripts":{"test":"standard && tape test.js","protobuf":"protocol-buffers schema.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/simple-hypercore-protocol.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/simple-hypercore-protocol/issues"},"homepage":"https://github.com/mafintosh/simple-hypercore-protocol","gitHead":"8404fae39c077422987f027ee4b588d8c999c41e","_id":"simple-hypercore-protocol@1.0.0","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"shasum":"dd28cc224b3adec96bcb5df2ecc5b01cbc3e4080","size":8274,"noattachment":false,"key":"/simple-hypercore-protocol/-/simple-hypercore-protocol-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-hypercore-protocol/download/simple-hypercore-protocol-1.0.0.tgz"},"maintainers":[{"name":"mafintosh","email":""}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-hypercore-protocol_1.0.0_1567780200734_0.5853687670548295"},"_hasShrinkwrap":false,"publish_time":1567780200880,"_cnpm_publish_time":1567780200880},"0.0.0":{"name":"simple-hypercore-protocol","version":"0.0.0","description":"Hypercore protocol state machine","main":"index.js","dependencies":{"protocol-buffers-encodings":"^1.1.0","simple-handshake":"^1.3.0","simple-message-channels":"^1.1.1","sodium-universal":"^2.0.0","varint":"^5.0.0"},"devDependencies":{"protocol-buffers":"^4.1.0","standard":"^14.1.0"},"scripts":{"test":"standard","protobuf":"protocol-buffers schema.proto -o messages.js"},"repository":{"type":"git","url":"git+https://github.com/mafintosh/simple-hypercore-protocol.git"},"author":{"name":"Mathias Buus","url":"@mafintosh"},"license":"MIT","bugs":{"url":"https://github.com/mafintosh/simple-hypercore-protocol/issues"},"homepage":"https://github.com/mafintosh/simple-hypercore-protocol","gitHead":"adeca04143b92508768aee02d23c8f44694f0c3b","_id":"simple-hypercore-protocol@0.0.0","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"shasum":"56e7ab23ea67f7a4769eb28e68116fb75dca8cbb","size":7369,"noattachment":false,"key":"/simple-hypercore-protocol/-/simple-hypercore-protocol-0.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/simple-hypercore-protocol/download/simple-hypercore-protocol-0.0.0.tgz"},"maintainers":[{"name":"mafintosh","email":""}],"_npmUser":{"name":"mafintosh","email":"mathiasbuus@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/simple-hypercore-protocol_0.0.0_1567173237859_0.9396772600575527"},"_hasShrinkwrap":false,"publish_time":1567173238025,"_cnpm_publish_time":1567173238025}},"readme":"# simple-hypercore-protocol\n\nHypercore protocol state machine\n\n```\nnpm install simple-hypercore-protocol\n```\n\nIncludes a Noise handshake, and is not backwards compatible with Hypercore <= 7\n\n## Usage\n\n``` js\nconst Protocol = require('simple-hypercore-protocol')\n\nconst a = new Protocol(true, {\n  send (data) { // send hook should send data\n    b.recv(data)\n  }\n})\n\nconst b = new Protocol(false, {\n  onrequest (channel, message) {\n    console.log('got request message', message, 'on channel', channel)\n  },\n  send (data) {\n    a.recv(data)\n  }\n})\n\n// send a request message on channel 10\na.request(10, {\n  index: 42\n})\n```\n\n## API\n\nThis is still a work in progress, so that messages supported might change.\nSee the schema.proto file for the schema for each message.\n\n#### `p = new Protocol(isInitator, handlers)`\n\nCreate a new protocol state machine.\n\n* `isInitator` is a boolean indicating if you are a client or server\n* `handlers` is a series of functions handling incoming messages\n\nEverytime a binary message should be sent to another peer,\n`handlers.send(data)` is invoked.\n\nIf there is a critical error, `handlers.destroy(err)` is called.\n\nAfter the initial handshake transport encryption is enabled,\nto ensure your stream is private.\n\nTo disable transport encryption set `handlers.encrypted = false`.\n\nTo disable the NOISE handshake set `handlers.noise = false` (works only when `encrypted` is also set to false).\n\n#### `p.recv(data)`\n\nCall this with incoming data.\n\n#### `buf = p.remoteCapability(key)`\n\nCreate a remote capability for a key. Use this to verify\nif a remote indeed had a key when you get an `open` message.\n\n#### `buf = p.capability(key)`\n\nCreate a local capability.\n\n#### `p.destroy(err)`\n\nDestroy the protocol state machine.\n\n#### `p.publicKey`\n\nThe local public key used for authentication.\n\n#### `p.remotePublicKey`\n\nThe remotes public key.\n\n#### `p.handshakeHash`\n\nThe noise handshake hash which uniquely identifies the noise session.\n\nhttp://noiseprotocol.org/noise.html#channel-binding\n\n#### `handlers.onauthenticate(remotePublicKey, done)`\n\nCalled when you should authenticate a remote public key.\n\n#### `handlers.onhandshake()`\n\nCalled when the initial protocol handshake has finished.\n\n#### `p.open(channel, message)`\n\nSend an open message on a channel.\n\nNote that if you message.key the protocol, will turn that into a capability that is sent instead of the key.\n\nReceiving an open message triggers `handlers.onopen(channel, message)`\n\n#### `p.options(channel, message)`\n\nSend a options message on a channel.\n\nReceiving a handshake message triggers `handlers.onoptions(channel, message)`\n\n#### `p.status(channel, message)`\n\nSend a status message on a channel.\n\nReceiving a info message triggers `handlers.onstatus(channel, message)`\n\n#### `p.have(channel, message)`\n\nSend a have message on a channel.\n\nReceiving a have message triggers `handlers.onhave(channel, message)`\n\n#### `p.unhave(channel, message)`\n\nSend an unhave message on a channel.\n\nReceiving an unhave message triggers `handlers.onunhave(channel, message)`\n\n#### `p.want(channel, message)`\n\nSend a want message on a channel.\n\nReceiving a want message triggers `handlers.onwant(channel, message)`\n\n#### `p.unwant(channel, message)`\n\nSend an unwant message on a channel.\n\nReceiving an unwant message triggers `handlers.onunwant(channel, message)`\n\n#### `p.request(channel, message)`\n\nSend a request message on a channel.\n\nReceiving a request message triggers `handlers.onrequest(channel, message)`\n\n#### `p.cancel(channel, message)`\n\nSend a cancel message on a channel.\n\nReceiving a cancel message triggers `handlers.oncancel(channel, message)`\n\n#### `p.data(channel, message)`\n\nSend a data message on a channel.\n\nReceiving a data message triggers `handlers.ondata(channel, message)`\n\n#### `keyPair = Protocol.keyPair([seed])`\n\nStatic function to generate a Noise key pair, optionally from a seed.\n\n## License\n\nMIT\n","_attachments":{},"homepage":"https://github.com/mafintosh/simple-hypercore-protocol","bugs":{"url":"https://github.com/mafintosh/simple-hypercore-protocol/issues"},"license":"MIT"}