js-peer-id/index.html

163 lines
41 KiB
HTML
Raw Normal View History

2016-12-02 14:57:37 +01:00
<!doctype html>
2016-12-02 16:02:12 +01:00
<html><head><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>peer-id - Documentation</title><link href="https://fonts.googleapis.com/css?family=Roboto+Mono:400,500|Roboto:300,500,700" rel="stylesheet"/><style>body{margin: 0;
2016-12-02 14:57:37 +01:00
padding: 0;
2016-12-02 16:02:12 +01:00
color: #000;
font-family: Roboto, sans-serif;
font-weight: 300;
line-height: 26px;
2016-12-02 16:43:04 +01:00
font-size: 17px;}</style></head><body><main id="app"><div data-radium="true"><div style="box-shadow:0px 2px 3px 0px rgba(0, 0, 0, 0.25);height:49px;width:100%;min-width:100%;margin-left:0;margin-right:0;position:fixed;z-index:99;background:#FFFFFF;padding-top:10px;padding-bottom:10px;padding-left:20px;" data-radium="true"><div style="margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px;" class="rmq-16930d56 rmq-c587a2b1 rmq-27601239" data-radium="true"><div style="margin-left:-15px;margin-right:-15px;" data-radium="true"><div style="position:relative;min-height:1px;padding-left:15px;padding-right:15px;float:left;text-align:right;" class="rmq-16dbe3a4 rmq-6cf318e1 rmq-f7fef94a rmq-6156e77b" data-radium="true"><div style="text-transform:uppercase;font-family:Roboto, sans-serif;" data-radium="true">peer-id</div><div style="font-family:Roboto Mono, Menlo, Monaco, Courier, monospace;font-weight:300;" data-radium="true">0.8.0</div></div><div style="clear:both;" data-radium="true"></div></div><div style="clear:both;" data-radium="true"></div></div></div><div style="margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px;padding-top:104px;" class="rmq-16930d56 rmq-c587a2b1 rmq-27601239" data-radium="true"><div style="margin-left:-15px;margin-right:-15px;" data-radium="true"><div style="position:fixed;min-height:1px;padding-left:15px;padding-right:15px;float:left;height:80%;max-width:300px;" class="rmq-16dbe3a4 rmq-6cf318e1 rmq-f7fef94a rmq-6156e77b rmq-35757987 rmq-904c8dae rmq-f731e6bb rmq-e2f71b90 rmq-34ee8e6a" data-radium="true"><div style="border-radius:4px;border:1px solid #e6e9ed;padding-top:0;padding-bottom:0;margin-top:52px;font-family:Roboto, sans-serif;font-weight:500;font-size:15px;line-height:18px;height:70vh;overflow-x:auto;" data-radium="true"><ul style="list-style:none;margin-top:0;margin-bottom:0;padding-left:0;" data-radium="true"><div data-radium="true"><li style="padding-left:20px;padding-right:20px;padding-top:13px;padding-bottom:13px;border-bottom:1px solid #e6e9ed;" data-radium="true"><a style="color:#000;" href="#Introduction" data-radium="true">Introduction</a></li></div><div data-radium="true"><li style="padding-left:20px;padding-right:20px;padding-top:13px;padding-bottom:13px;border-bottom:1px solid #e6e9ed;" data-radium="true"><a style="color:#000;" href="#PeerId" data-radium="true">PeerId</a></li><li style="padding-left:20px;padding-right:20px;padding-top:13px;padding-bottom:13px;border-bottom:1px solid #e6e9ed;" data-radium="true"><div style="padding-top:0;" data-radium="true"><span style="text-transform:uppercase;font-size:13px;line-height:18px;color:#666;" data-radium="true">Static</span><ul style="list-style:none;padding-left:0;" data-radium="true"><li data-radium="true"><a href="#PeerId.create" style="font-family:Roboto, sans-serif;font-weight:300;font-size:13px;line-height:16px;text-decoration:none;color:#555;" data-radium="true">create</a></li><li data-radium="true"><a href="#PeerId.createFromHexString" style="font-family:Roboto, sans-serif;font-weight:300;font-size:13px;line-height:16px;text-decoration:none;color:#555;" data-radium="true">createFromHexString</a></li><li data-radium="true"><a href="#PeerId.createFromBytes" style="font-family:Roboto, sans-serif;font-weight:300;font-size:13px;line-height:16px;text-decoration:none;color:#555;" data-radium="true">createFromBytes</a></li><li data-radium="true"><a href="#PeerId.createFromB58String" style="font-family:Roboto, sans-serif;font-weight:300;font-size:13px;line-height:16px;text-decoration:none;color:#555;" data-radium="true">createFromB58String</a></li><li data-radium="true"><a href="#PeerId.createFromPubKey" style="font-family:Roboto, sans-serif;font-weight:300;font-size:13px;line-height:16px;text-decoration:none;color:#555;" data-radium="true">createFromPubKey</a></li><li data-radium="true"><a href="#PeerId.createFromPrivKey" style="font-family:Roboto, sans-serif;font-weight:300;font-size:13px;line-height:16px;text-decoration:none;color:#555;" data-radium="true">createFromPrivKey</a></li><li data-radium
2016-12-02 16:02:12 +01:00
font-weight: 300;}h1{font-size: 48px;
line-height: 72px;}h2{font-size: 24px;
line-height: 36px;}h3{font-size: 19px;
line-height: 29px;
font-weight: 400;}h4{font-size: 17px;
line-height: 22px;
font-weight: 400;}a{text-decoration: none;
2016-12-02 14:57:37 +01:00
color: #00AAFF;
:hover: [object Object];}a.anchor:before{content: "";
display: block;
height: 100px;
2016-12-02 16:02:12 +01:00
margin: -80px 0 0;}.content blockquote{padding-left: 20px;
margin: 0;
border-left: 4px solid #eee;}.content ul, content li{list-style: none;}.content ul li:before{color: #CCC;
float: left;
margin-left: -20px;
margin-top: 1px;
content: "•";}pre.hljs, pre > code{font-family: Roboto Mono, Menlo, Monaco, Courier, monospace;
2016-12-02 14:57:37 +01:00
display: block;
padding: 12px 15px 12px 15px;
border-radius: 4px;
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
margin-bottom: 30px;
position: relative;
overflow-x: auto;
font-size: 13px;
2016-12-02 16:02:12 +01:00
color: #666;
2016-12-02 14:57:37 +01:00
white-space: pre;}code{font-family: Roboto Mono, Menlo, Monaco, Courier, monospace;
display: inline;
font-size: 13px;
font-weight: 400;
margin: 0 2px;
padding: 1px 6px;
box-shadow: 0 0 0 1px #DDD;
2016-12-02 16:02:12 +01:00
white-space: nowrap;
2016-12-02 16:43:04 +01:00
border-radius: 4px;}.hljs{display: block;
overflow-x: auto;}.hljs-comment, .hljs-quote{color: #998;
font-style: italic;}.hljs-keyword, .hljs-selector-tag, .hljs-subst{color: #333;
font-weight: bold;}.hljs-number, .hljs-literal, .hljs-variable, .hljs-template-variable, .hljs-tag .hljs-attr{color: #008080;}.hljs-string, .hljs-doctag{color: #d14;}.hljs-title, .hljs-section, .hljs-selector-id{color: #900;
font-weight: bold;}.hljs-subst{font-weight: normal;}.hljs-type, .hljs-class .hljs-title{color: #458;
font-weight: bold;}.hljs-tag, .hljs-name, .hljs-attribute{color: #000080;
font-weight: normal;}.hljs-regexp, .hljs-link{color: #009926;}.hljs-symbol, .hljs-bullet{color: #990073;}.hljs-built_in, .hljs-builtin-name{color: #0086b3;}.hljs-meta{color: #999;
font-weight: bold;}.hljs-deletion{background: #fdd;}.hljs-addition{background: #dfd;}.hljs-emphasis{font-style: italic;}.hljs-strong{font-weight: bold;}</style><div style="margin-bottom:104px;" data-radium="true"><h1 data-radium="true"><a class="anchor" name="Introduction"></a>Introduction</h1><div><p>Generate, import, and export PeerIDs, for use with <a href="https://github.com/ipfs/ipfs">IPFS</a>.</p>
2016-12-02 16:02:12 +01:00
<blockquote>
<p>A Peer ID is the SHA-256 <a href="https://github.com/multiformats/multihash">multihash</a> of a public key.</p>
<p>The public key is a base64 encoded string of a protobuf containing an RSA DER buffer. This uses a node buffer to pass the base64 encoded public key protobuf to the multihash for ID generation.</p>
</blockquote>
2016-12-02 14:57:37 +01:00
<h2>Example</h2>
<pre class='hljs'><span class="hljs-keyword">var</span> PeerId = <span class="hljs-built_in">require</span>(<span class="hljs-string">'peer-id'</span>)
PeerId.create({ <span class="hljs-attr">bits</span>: <span class="hljs-number">1024</span> }, (err, id) =&gt; {
<span class="hljs-built_in">console</span>.log(<span class="hljs-built_in">JSON</span>.stringify(id.toJSON(), <span class="hljs-literal">null</span>, <span class="hljs-number">2</span>)
})</pre>
2016-12-02 16:02:12 +01:00
<pre class='hljs'>{
<span class="hljs-attr">"id"</span>: <span class="hljs-string">"Qma9T5YraSnpRDZqRR4krcSJabThc8nwZuJV3LercPHufi"</span>,
<span class="hljs-attr">"privKey"</span>: <span class="hljs-string">"CAAS4AQwggJcAgEAAoGBAMBgbIqyOL26oV3nGPBYrdpbv.."</span>,
<span class="hljs-attr">"pubKey"</span>: <span class="hljs-string">"CAASogEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMBgbIqyOL26oV3nGPBYrdpbvzCY..."</span>
}</pre>
2016-12-02 14:57:37 +01:00
<h2>Installation</h2>
<h3>npm</h3>
<pre class='hljs'>&gt; npm i peer-id</pre>
<h2>Setup</h2>
<h3>Node.js</h3>
<pre class='hljs'><span class="hljs-keyword">var</span> PeerId = <span class="hljs-built_in">require</span>(<span class="hljs-string">'peer-id'</span>)</pre>
<h3>Browser: Browserify, Webpack, other bundlers</h3>
<p>The code published to npm that gets loaded on require is in fact a ES5
transpiled version with the right shims added. This means that you can require
it and use with your favourite bundler without having to adjust asset management
process.</p>
<pre class='hljs'><span class="hljs-keyword">var</span> PeerId = <span class="hljs-built_in">require</span>(<span class="hljs-string">'peer-id'</span>)</pre>
<h3>Browser: <code>&#x3C;script></code> Tag</h3>
<p>Loading this module through a script tag will make the <code>PeerId</code> obj available in
the global namespace.</p>
<pre class='hljs'><span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"https://unpkg.com/peer-id/dist/index.min.js"</span>&gt;</span><span class="undefined"></span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span>
<span class="hljs-comment">&lt;!-- OR --&gt;</span>
<span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"https://unpkg.com/peer-id/dist/index.js"</span>&gt;</span><span class="undefined"></span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span></pre>
2016-12-02 16:43:04 +01:00
</div></div><div style="margin-bottom:104px;" data-radium="true"><h1 data-radium="true"><a class="anchor" name="PeerId"></a>PeerId<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L24-L141" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h1><div><p>A Peer ID is the SHA-256
2016-12-02 14:57:37 +01:00
<a href="https://github.com/multiformats/multihash">multihash</a> of a
public key.</p>
</div><div style="display:inline;" data-radium="true"><h4>See</h4><ul data-radium="true"><li><div><p><a href="htttps://github.com/libp2p/js-libp2p-crypto">libp2p-crypto</a></p>
2016-12-02 16:43:04 +01:00
</div></li></ul></div><div data-radium="true"><h2 style="text-transform:uppercase;" data-radium="true">static</h2><div data-radium="true"><h3 data-radium="true"><a class="anchor" name="PeerId.create"></a>PeerId.create<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L161-L181" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h3><pre><code>create(opts: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>?, callback: function (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a>, <a href="#peerid">PeerId</a>))</code></pre><div style="margin-top:13px;margin-bottom:13px;" data-radium="true"><p>Create a new <code>PeerId</code> by generating a new public/private keypair.</p>
2016-12-02 14:57:37 +01:00
</div><div data-radium="true"><h4>Parameters</h4><table data-radium="true"><thead data-radium="true"><tr data-radium="true"><th style="text-align:left;font-family:Roboto, sans-serif;" data-radium="true">Name</th><th style="text-align:left;font-family:Roboto, sans-serif;" data-radium="true">Description</th></tr></thead><tbody data-radium="true"><div data-radium="true"><tr data-radium="true"><td><code>opts: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>?</code></td><td>Configuration object.
</td></tr><tr data-radium="true"><td><code>opts.bits: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>? (=2048)</code></td><td>How many bits to use for the RSA key generation.
</td></tr></div><div data-radium="true"><tr data-radium="true"><td><code>callback: function (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a>, <a href="#peerid">PeerId</a>)</code></td><td>Node.js style callback.
</td></tr></div></tbody></table></div><div data-radium="true"><div data-radium="true"><h4>Example</h4><pre><code><span class="hljs-keyword">const</span> PeerId = <span class="hljs-built_in">require</span>(<span class="hljs-string">'peer-id'</span>)
PeerId.create(<span class="hljs-function">(<span class="hljs-params">err, id</span>) =&gt;</span> {
<span class="hljs-keyword">if</span> (err) {
<span class="hljs-keyword">throw</span> err
}
<span class="hljs-built_in">console</span>.log(<span class="hljs-string">'id'</span>, <span class="hljs-built_in">JSON</span>.stringify(id))
2016-12-02 16:43:04 +01:00
})</code></pre></div></div></div><div data-radium="true"><h3 data-radium="true"><a class="anchor" name="PeerId.createFromHexString"></a>PeerId.createFromHexString<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L189-L191" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h3><pre><code>createFromHexString(str: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>): <a href="#peerid">PeerId</a></code></pre><div style="margin-top:13px;margin-bottom:13px;" data-radium="true"><p>Creates a Peer ID from hex string representing the key's multihash.</p>
2016-12-02 14:57:37 +01:00
</div><div data-radium="true"><h4>Parameters</h4><table data-radium="true"><thead data-radium="true"><tr data-radium="true"><th style="text-align:left;font-family:Roboto, sans-serif;" data-radium="true">Name</th><th style="text-align:left;font-family:Roboto, sans-serif;" data-radium="true">Description</th></tr></thead><tbody data-radium="true"><div data-radium="true"><tr data-radium="true"><td><code>str: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></td><td>Hex encoded id
</td></tr></div></tbody></table></div><div data-radium="true"><h4>Returns</h4><div data-radium="true"><code><a href="#peerid">PeerId</a></code><span>
2016-12-02 16:43:04 +01:00
</span></div></div></div><div data-radium="true"><h3 data-radium="true"><a class="anchor" name="PeerId.createFromBytes"></a>PeerId.createFromBytes<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L199-L201" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h3><pre><code>createFromBytes(buf: <a href="https://nodejs.org/api/buffer.html">Buffer</a>): <a href="#peerid">PeerId</a></code></pre><div style="margin-top:13px;margin-bottom:13px;" data-radium="true"><p>Creates a Peer ID from a buffer representing the key's multihash.</p>
2016-12-02 14:57:37 +01:00
</div><div data-radium="true"><h4>Parameters</h4><table data-radium="true"><thead data-radium="true"><tr data-radium="true"><th style="text-align:left;font-family:Roboto, sans-serif;" data-radium="true">Name</th><th style="text-align:left;font-family:Roboto, sans-serif;" data-radium="true">Description</th></tr></thead><tbody data-radium="true"><div data-radium="true"><tr data-radium="true"><td><code>buf: <a href="https://nodejs.org/api/buffer.html">Buffer</a></code></td><td></td></tr></div></tbody></table></div><div data-radium="true"><h4>Returns</h4><div data-radium="true"><code><a href="#peerid">PeerId</a></code><span>
2016-12-02 16:43:04 +01:00
</span></div></div></div><div data-radium="true"><h3 data-radium="true"><a class="anchor" name="PeerId.createFromB58String"></a>PeerId.createFromB58String<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L210-L212" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h3><pre><code>createFromB58String(str: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>): <a href="#peerid">PeerId</a></code></pre><div style="margin-top:13px;margin-bottom:13px;" data-radium="true"><p>Creates a Peer ID from a <code>base58</code> string representing the
2016-12-02 14:57:37 +01:00
key's multihash.</p>
</div><div data-radium="true"><h4>Parameters</h4><table data-radium="true"><thead data-radium="true"><tr data-radium="true"><th style="text-align:left;font-family:Roboto, sans-serif;" data-radium="true">Name</th><th style="text-align:left;font-family:Roboto, sans-serif;" data-radium="true">Description</th></tr></thead><tbody data-radium="true"><div data-radium="true"><tr data-radium="true"><td><code>str: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></td><td><code>base58</code>
encoded id
</td></tr></div></tbody></table></div><div data-radium="true"><h4>Returns</h4><div data-radium="true"><code><a href="#peerid">PeerId</a></code><span>
2016-12-02 16:43:04 +01:00
</span></div></div></div><div data-radium="true"><h3 data-radium="true"><a class="anchor" name="PeerId.createFromPubKey"></a>PeerId.createFromPubKey<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L220-L238" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h3><pre><code>createFromPubKey(key: (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://nodejs.org/api/buffer.html">Buffer</a>), callback: function (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a>, <a href="#peerid">PeerId</a>))</code></pre><div style="margin-top:13px;margin-bottom:13px;" data-radium="true"><p>Creates a Peer ID from a buffer containing a public key.</p>
</div><div data-radium="true"><h4>Parameters</h4><table data-radium="true"><thead data-radium="true"><tr data-radium="true"><th style="text-align:left;font-family:Roboto, sans-serif;" data-radium="true">Name</th><th style="text-align:left;font-family:Roboto, sans-serif;" data-radium="true">Description</th></tr></thead><tbody data-radium="true"><div data-radium="true"><tr data-radium="true"><td><code>key: (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://nodejs.org/api/buffer.html">Buffer</a>)</code></td><td></td></tr></div><div data-radium="true"><tr data-radium="true"><td><code>callback: function (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a>, <a href="#peerid">PeerId</a>)</code></td><td></td></tr></div></tbody></table></div></div><div data-radium="true"><h3 data-radium="true"><a class="anchor" name="PeerId.createFromPrivKey"></a>PeerId.createFromPrivKey<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L247-L269" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h3><pre><code>createFromPrivKey(key: (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://nodejs.org/api/buffer.html">Buffer</a>), callback: function (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a>, <a href="#peerid">PeerId</a>))</code></pre><div style="margin-top:13px;margin-bottom:13px;" data-radium="true"><p>Creates a Peer ID from a buffer containing a private key.</p>
2016-12-02 14:57:37 +01:00
</div><div data-radium="true"><h4>Parameters</h4><table data-radium="true"><thead data-radium="true"><tr data-radium="true"><th style="text-align:left;font-family:Roboto, sans-serif;" data-radium="true">Name</th><th style="text-align:left;font-family:Roboto, sans-serif;" data-radium="true">Description</th></tr></thead><tbody data-radium="true"><div data-radium="true"><tr data-radium="true"><td><code>key: (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a> | <a href="https://nodejs.org/api/buffer.html">Buffer</a>)</code></td><td>The private key, if passed as
string
<code>base64</code>
encoding is assumed.
2016-12-02 16:43:04 +01:00
</td></tr></div><div data-radium="true"><tr data-radium="true"><td><code>callback: function (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a>, <a href="#peerid">PeerId</a>)</code></td><td></td></tr></div></tbody></table></div></div><div data-radium="true"><h3 data-radium="true"><a class="anchor" name="PeerId.createFromJSON"></a>PeerId.createFromJSON<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L277-L320" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h3><pre><code>createFromJSON(obj: <a href="#peeridjson">PeerIdJson</a>, callback: function (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a>, <a href="#peerid">PeerId</a>))</code></pre><div style="margin-top:13px;margin-bottom:13px;" data-radium="true"><p>Import a <code>PeerId</code> from a serialized JSON object.</p>
</div><div data-radium="true"><h4>Parameters</h4><table data-radium="true"><thead data-radium="true"><tr data-radium="true"><th style="text-align:left;font-family:Roboto, sans-serif;" data-radium="true">Name</th><th style="text-align:left;font-family:Roboto, sans-serif;" data-radium="true">Description</th></tr></thead><tbody data-radium="true"><div data-radium="true"><tr data-radium="true"><td><code>obj: <a href="#peeridjson">PeerIdJson</a></code></td><td></td></tr></div><div data-radium="true"><tr data-radium="true"><td><code>callback: function (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a>, <a href="#peerid">PeerId</a>)</code></td><td></td></tr></div></tbody></table></div></div></div><div data-radium="true"><h2 style="text-transform:uppercase;" data-radium="true">instance</h2><div data-radium="true"><h3 data-radium="true"><a class="anchor" name="PeerId#constructor"></a>constructor<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L30-L43" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h3><pre><code>constructor(id: <a href="https://nodejs.org/api/buffer.html">Buffer</a>, privKey: RSAPrivateKey?, pubKey: RSAPublickKey?)</code></pre><div style="margin-top:13px;margin-bottom:13px;" data-radium="true"></div><div data-radium="true"><h4>Parameters</h4><table data-radium="true"><thead data-radium="true"><tr data-radium="true"><th style="text-align:left;font-family:Roboto, sans-serif;" data-radium="true">Name</th><th style="text-align:left;font-family:Roboto, sans-serif;" data-radium="true">Description</th></tr></thead><tbody data-radium="true"><div data-radium="true"><tr data-radium="true"><td><code>id: <a href="https://nodejs.org/api/buffer.html">Buffer</a></code></td><td></td></tr></div><div data-radium="true"><tr data-radium="true"><td><code>privKey: RSAPrivateKey?</code></td><td></td></tr></div><div data-radium="true"><tr data-radium="true"><td><code>pubKey: RSAPublickKey?</code></td><td></td></tr></div></tbody></table></div></div><div data-radium="true"><h3 data-radium="true"><a class="anchor" name="PeerId#id"></a>PeerId.prototype.id<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L40-L40" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h3><pre><code>id: <a href="https://nodejs.org/api/buffer.html">Buffer</a></code></pre><div style="margin-top:13px;margin-bottom:13px;" data-radium="true"></div></div><div data-radium="true"><h3 data-radium="true"><a class="anchor" name="PeerId#privKey"></a>PeerId.prototype.privKey<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L50-L52" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h3><pre><code>privKey: (RSAPrivateKey | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code></pre><div style="margin-top:13px;margin-bottom:13px;" data-radium="true"><p>The private key of this id, if it exists.</p>
</div></div><div data-radium="true"><h3 data-radium="true"><a class="anchor" name="PeerId#pubKey"></a>PeerId.prototype.pubKey<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L59-L67" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h3><pre><code>pubKey: (RSAPublicKey | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined">undefined</a>)</code></pre><div style="margin-top:13px;margin-bottom:13px;" data-radium="true"><p>The private key of this id, if it exists.</p>
</div></div><div data-radium="true"><h3 data-radium="true"><a class="anchor" name="PeerId#marshalPubKey"></a>PeerId.prototype.marshalPubKey<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L75-L79" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h3><pre><code>marshalPubKey(): <a href="https://nodejs.org/api/buffer.html">Buffer</a></code></pre><div style="margin-top:13px;margin-bottom:13px;" data-radium="true"><p>Create the protobuf version of the public key,
2016-12-02 14:57:37 +01:00
matching go-ipfs formatting.</p>
</div><div data-radium="true"><h4>Returns</h4><div data-radium="true"><code><a href="https://nodejs.org/api/buffer.html">Buffer</a></code><span> The marshalled public key
</span></div></div><div data-radium="true"><h4>Throws</h4><div data-radium="true"><code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a></code><span> Failure
2016-12-02 16:43:04 +01:00
</span></div></div></div><div data-radium="true"><h3 data-radium="true"><a class="anchor" name="PeerId#marshalPrivKey"></a>PeerId.prototype.marshalPrivKey<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L86-L90" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h3><pre><code>marshalPrivKey(): <a href="https://nodejs.org/api/buffer.html">Buffer</a></code></pre><div style="margin-top:13px;margin-bottom:13px;" data-radium="true"><p>Create the protobuf version of the private key,
2016-12-02 14:57:37 +01:00
matching go-ipfs formatting.</p>
</div><div data-radium="true"><h4>Returns</h4><div data-radium="true"><code><a href="https://nodejs.org/api/buffer.html">Buffer</a></code><span>
2016-12-02 16:43:04 +01:00
</span></div></div></div><div data-radium="true"><h3 data-radium="true"><a class="anchor" name="PeerId#toPrint"></a>PeerId.prototype.toPrint<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L97-L99" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h3><pre><code>toPrint(): <a href="#peeridjson">PeerIdJson</a></code></pre><div style="margin-top:13px;margin-bottom:13px;" data-radium="true"><p>Alias for <code>toJSON</code>.</p>
2016-12-02 14:57:37 +01:00
</div><div data-radium="true"><h4>Returns</h4><div data-radium="true"><code><a href="#peeridjson">PeerIdJson</a></code><span>
2016-12-02 16:43:04 +01:00
</span></div></div></div><div data-radium="true"><h3 data-radium="true"><a class="anchor" name="PeerId#toJSON"></a>PeerId.prototype.toJSON<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L107-L113" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h3><pre><code>toJSON(): <a href="#peeridjson">PeerIdJson</a></code></pre><div style="margin-top:13px;margin-bottom:13px;" data-radium="true"><p>Return the jsonified version of the key, matching the formatting
2016-12-02 14:57:37 +01:00
of go-ipfs for its config file.</p>
</div><div data-radium="true"><h4>Returns</h4><div data-radium="true"><code><a href="#peeridjson">PeerIdJson</a></code><span>
2016-12-02 16:43:04 +01:00
</span></div></div></div><div data-radium="true"><h3 data-radium="true"><a class="anchor" name="PeerId#toHexString"></a>PeerId.prototype.toHexString<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L120-L122" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h3><pre><code>toHexString(): <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></code></pre><div style="margin-top:13px;margin-bottom:13px;" data-radium="true"><p>Returns the Peer ID's <code>id</code> as a hex string.</p>
2016-12-02 14:57:37 +01:00
</div><div data-radium="true"><h4>Returns</h4><div data-radium="true"><code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></code><span>
2016-12-02 16:43:04 +01:00
</span></div></div></div><div data-radium="true"><h3 data-radium="true"><a class="anchor" name="PeerId#toBytes"></a>PeerId.prototype.toBytes<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L129-L131" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h3><pre><code>toBytes(): <a href="https://nodejs.org/api/buffer.html">Buffer</a></code></pre><div style="margin-top:13px;margin-bottom:13px;" data-radium="true"><p>Returns the Peer ID's <code>id</code> as a buffer.</p>
2016-12-02 14:57:37 +01:00
</div><div data-radium="true"><h4>Returns</h4><div data-radium="true"><code><a href="https://nodejs.org/api/buffer.html">Buffer</a></code><span>
2016-12-02 16:43:04 +01:00
</span></div></div></div><div data-radium="true"><h3 data-radium="true"><a class="anchor" name="PeerId#toB58String"></a>PeerId.prototype.toB58String<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L138-L140" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h3><pre><code>toB58String(): <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></code></pre><div style="margin-top:13px;margin-bottom:13px;" data-radium="true"><p>Returns the Peer ID's <code>id</code> as a base58 string.</p>
2016-12-02 14:57:37 +01:00
</div><div data-radium="true"><h4>Returns</h4><div data-radium="true"><code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></code><span>
2016-12-02 16:43:04 +01:00
</span></div></div></div></div></div><div style="margin-bottom:104px;" data-radium="true"><h1 data-radium="true"><a class="anchor" name="PeerIdJson"></a>PeerIdJson<a href="https://github.com/libp2p/js-peer-id/blob/c1ed9751e34fabd3c7687cb6f8850aa68f63581f/src/index.js#L24-L141" title="src/index.js" style="float:right;" data-radium="true"><svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align:middle;"><g><path d="m26.3 7.5l-3.8 3.8 8.8 8.7-8.8 8.8 3.8 3.7 11.2-12.5-11.2-12.5z m-12.5 0l-11.3 12.5 11.3 12.5 3.7-3.7-8.7-8.8 8.7-8.7-3.7-3.8z"></path></g></svg></a></h1><div></div><div data-radium="true"><h4>Parameters</h4><table data-radium="true"><thead data-radium="true"><tr data-radium="true"><th style="text-align:left;font-family:Roboto, sans-serif;" data-radium="true">Name</th><th style="text-align:left;font-family:Roboto, sans-serif;" data-radium="true">Description</th></tr></thead><tbody data-radium="true"><div data-radium="true"><tr data-radium="true"><td><code>id: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></td><td><code>Base58</code>
2016-12-02 16:02:12 +01:00
encoded peer id
</td></tr></div><div data-radium="true"><tr data-radium="true"><td><code>privKey: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>?</code></td><td>The RSA private key in protobuf format, encoded in
<code>base64</code>
.
</td></tr></div><div data-radium="true"><tr data-radium="true"><td><code>pubKey: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>?</code></td><td>The RSA public key in protobuf format, encoded in
<code>base64</code>
.
</td></tr></div></tbody></table></div></div></div></div><div style="clear:both;" data-radium="true"></div></div><div style="clear:both;" data-radium="true"></div></div><style>@media (min-width: 768px){ .rmq-16930d56{width: 750px !important;}}
2016-12-02 14:57:37 +01:00
@media (min-width: 992px){ .rmq-c587a2b1{width: 970px !important;}}
@media (min-width: 1200px){ .rmq-27601239{width: 1170px !important;}}
@media (min-width: 480px){ .rmq-16dbe3a4{float: left !important;}}
@media (min-width: 768px){ .rmq-6cf318e1{float: left !important;}}
@media (min-width: 992px){ .rmq-f7fef94a{float: left !important;}}
@media (min-width: 1200px){ .rmq-6156e77b{float: left !important;}}
@media (max-width: 479px){ .rmq-35757987{display: none !important;}}
@media (min-width: 480px) and (max-width: 767px){ .rmq-904c8dae{display: none !important;}}
@media (min-width: 992px) { .rmq-f731e6bb{width: 25.00000% !important;}}
@media (min-width: 768px) { .rmq-e2f71b90{width: 25.00000% !important;}}
2016-12-02 16:43:04 +01:00
@media (min-width: 1200px) { .rmq-34ee8e6a{width: 25.00000% !important;}}
2016-12-02 14:57:37 +01:00
@media (min-width: 480px) { .rmq-53cec4a3{width: 100.00000% !important;}}
@media (min-width: 992px) { .rmq-6e94b3b{width: 66.66667% !important;}}
@media (min-width: 992px) { .rmq-31473902{left: 33.33333% !important;}}
@media (min-width: 768px) { .rmq-f2ae8010{width: 66.66667% !important;}}
2016-12-02 16:43:04 +01:00
@media (min-width: 768px) { .rmq-932fbda9{left: 33.33333% !important;}}
@media (min-width: 1200px) { .rmq-3b9282ea{width: 66.66667% !important;}}
@media (min-width: 1200px) { .rmq-ad95cc33{left: 33.33333% !important;}}</style></div></main></body></html>