bitmessage-js/docs/index.html

159 lines
5.3 KiB
HTML
Raw Normal View History

2015-01-03 16:04:14 +00:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Home</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Home</h1>
<h3> </h3>
<section>
<article><h1>bitmessage <a href="https://travis-ci.org/bitchan/bitmessage"><img src="https://travis-ci.org/bitchan/bitmessage.svg?branch=master" alt="Build Status"></a></h1><p>JavaScript Bitmessage library for both browserify and node. The goal of this project is to implement Bitmessage protocol v3 for both platforms at the maximum possible level (we still can't create TCP connections or listen for incoming connections in the Browser but the Proof of work and crypto is fully doable).</p>
<p>Public library API is currently in alpha stage, breaking changes are very likely to happen.</p>
<p>API documentation is available <a href="https://bitchan.github.io/bitmessage/docs/">here</a>.</p>
<h2>References</h2><ul>
<li><a href="https://bitmessage.org/wiki/Main_Page">Project wiki</a></li>
<li><a href="https://bitmessage.org/wiki/Protocol_specification">Protocol specification</a></li>
<li><a href="https://bitmessage.org/bitmessage.pdf">Whitepaper</a></li>
</ul>
<h2>Feature matrix (both Browser and Node)</h2><ul>
<li>[ ] crypto<ul>
<li>[x] SHA-512</li>
<li>[x] SHA-256</li>
<li>[x] RIPEMD-160</li>
<li>[x] PRNG</li>
<li>[x] ECC keys manipulation</li>
<li>[x] ECDSA</li>
<li>[ ] ECDH</li>
<li>[ ] ECIES</li>
<li>[ ] AES-256-CBC</li>
<li>[ ] HMAC-SHA-256</li>
</ul>
</li>
<li>[ ] Common structures<ul>
<li>[ ] message</li>
<li>[x] var_int</li>
<li>[x] var_str</li>
<li>[x] var_int_list</li>
<li>[ ] net_addr</li>
<li>[ ] inv_vect</li>
<li>[ ] encrypted</li>
<li>[ ] encoding</li>
<li>[ ] bitfield</li>
</ul>
</li>
<li>[ ] Message types<ul>
<li>[ ] version</li>
<li>[ ] verack</li>
<li>[ ] addr</li>
<li>[ ] inv</li>
<li>[ ] getdata</li>
<li>[ ] error</li>
<li>[ ] object</li>
</ul>
</li>
<li>[ ] Object types<ul>
<li>[ ] getpubkey</li>
<li>[ ] pubkey</li>
<li>[ ] msg</li>
<li>[ ] broadcast</li>
</ul>
</li>
<li>[x] WIF</li>
<li>[ ] POW</li>
<li>[ ] High-level classes<ul>
<li>[ ] Address<ul>
<li>[x] encode</li>
<li>[x] decode</li>
<li>[x] getRipe</li>
<li>[x] fromRandom</li>
<li>[ ] fromPassphrase</li>
</ul>
</li>
<li>[ ] Message<ul>
<li>[ ] encrypt</li>
<li>[ ] decrypt</li>
</ul>
</li>
</ul>
</li>
<li>[ ] Parse PyBitmessage configs<ul>
<li>[ ] keys.dat</li>
<li>[ ] knownnodes.dat</li>
<li>[ ] messages.dat</li>
</ul>
</li>
</ul>
<h2>Feature matrix (Node.js only)</h2><ul>
<li>[ ] Network<ul>
<li>[ ] Bootstrap</li>
<li>[ ] Connect to the network</li>
<li>[ ] Accept connections</li>
</ul>
</li>
</ul>
<h2>Usage</h2><pre class="prettyprint source lang-js"><code>// Generate a new random Bitmessage identity.
var Address = require(&quot;bitmessage&quot;).Address;
var addr = Address.fromRandom();
console.log(&quot;New random Bitmessage address:&quot;, addr.encode());</code></pre><h2>License</h2><p>bitmessage - JavaScript Bitmessage library</p>
<p>Written in 2014 by Kagami Hiiragi <a href="&#x6d;&#x61;&#x69;&#108;&#116;&#111;&#58;&#107;&#x61;&#103;&#97;&#109;&#105;&#64;&#103;&#x65;&#x6e;&#x73;&#x68;&#x69;&#107;&#x65;&#110;&#46;&#111;&#x72;&#103;">&#107;&#x61;&#103;&#97;&#109;&#105;&#64;&#103;&#x65;&#x6e;&#x73;&#x68;&#x69;&#107;&#x65;&#110;&#46;&#111;&#x72;&#103;</a></p>
<p>To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.</p>
<p>You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.</p></article>
</section>
</div>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-bitmessage.html">bitmessage</a></li><li><a href="module-bitmessage_address.html">bitmessage/address</a></li><li><a href="module-bitmessage_crypto.html">bitmessage/crypto</a></li><li><a href="module-bitmessage_messages.html">bitmessage/messages</a></li><li><a href="module-bitmessage_objects.html">bitmessage/objects</a></li><li><a href="module-bitmessage_pow.html">bitmessage/pow</a></li><li><a href="module-bitmessage_structs.html">bitmessage/structs</a></li><li><a href="module-bitmessage_wif.html">bitmessage/wif</a></li></ul><h3>Classes</h3><ul><li><a href="module-bitmessage_address.Address.html">Address</a></li></ul><h3>Namespaces</h3><ul><li><a href="module-bitmessage_structs.var_int.html">var_int</a></li><li><a href="module-bitmessage_structs.var_int_list.html">var_int_list</a></li><li><a href="module-bitmessage_structs.var_str.html">var_str</a></li></ul>
</nav>
<br class="clear">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha13</a> on Sat Jan 03 2015 19:33:03 GMT+0300 (MSK)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>