UNPKG

bitcore-lib-value

Version:

A pure and powerful JavaScript Bitcoin Value library.

108 lines (74 loc) 3.06 kB
# Bitcore ## Principles Bitcoin is a powerful new peer-to-peer platform for the next generation of financial technology. The decentralized nature of the Bitcoin network allows for highly resilient bitcoin infrastructure, and the developer community needs reliable, open-source tools to implement bitcoin apps and services. Bitcore provides a reliable API for JavaScript apps that need to interface with Bitcoin. To get started, just `npm install bitcore` or `bower install bitcore`. ## Documentation Index ### Addresses and Key Management - [Addresses](address.md) - [Using Different Networks](networks.md) - [Private Keys](privatekey.md) and [Public Keys](publickey.md) - [Hierarchically-derived Private and Public Keys](hierarchical.md) ### Payment Handling - [Using Different Units](unit.md) - [Acknowledging and Requesting Payments: Bitcoin URIs](uri.md) - [The Transaction Class](transaction.md) ### Bitcoin Internals - [Scripts](script.md) - [Block](block.md) ### Extra - [Crypto](crypto.md) - [Encoding](encoding.md) ### Module Development - [Browser Builds](browser.md) ### Modules Some functionality is implemented as a module that can be installed separately: - [Peer to Peer Networking](https://github.com/bitpay/bitcore/tree/master/packages/bitcore-p2p) - [Bitcoin Core JSON-RPC](https://github.com/bitpay/bitcoind-rpc) - [Payment Channels](https://github.com/bitpay/bitcore-channel) - [Mnemonics](https://github.com/bitpay/bitcore/tree/master/packages/bitcore-mnemonic) - [Elliptical Curve Integrated Encryption Scheme](https://github.com/bitpay/bitcore-ecies) - [Blockchain Explorers](https://github.com/bitpay/bitcore-explorers) - [Signed Messages](https://github.com/bitpay/bitcore-message) ## Examples ### Create and Save a Private Key ```javascript var privateKey = new bitcore.PrivateKey(); var exported = privateKey.toWIF(); // e.g. L3T1s1TYP9oyhHpXgkyLoJFGniEgkv2Jhi138d7R2yJ9F4QdDU2m var imported = bitcore.PrivateKey.fromWIF(exported); var hexa = privateKey.toString(); // e.g. 'b9de6e778fe92aa7edb69395556f843f1dce0448350112e14906efc2a80fa61a' ``` ### Create an Address ```javascript var address = privateKey.toAddress(); ``` ### Create a Multisig Address ```javascript // Build a 2-of-3 address from public keys var p2shAddress = new bitcore.Address([publicKey1, publicKey2, publicKey3], 2); ``` ### Request a Payment ```javascript var paymentInfo = { address: '1DNtTk4PUCGAdiNETAzQFWZiy2fCHtGnPx', amount: 120000 //satoshis }; var uri = new bitcore.URI(paymentInfo).toString(); ``` ### Create a Transaction ```javascript var transaction = new Transaction() .from(utxos) // Feed information about what unspent outputs one can use .to(address, amount) // Add an output with the given amount of satoshis .change(address) // Sets up a change address where the rest of the funds will go .sign(privkeySet); // Signs all the inputs it can ``` ### Connect to the Network ```javascript var peer = new Peer('5.9.85.34'); peer.on('inv', function(message) { // new inventory }); peer.connect(); ```