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
.
- Addresses
- Using Different Networks
- Private Keys and Public Keys
- Hierarchically-derived Private and Public Keys
Some functionality is implemented as a module that can be installed separately:
- Payment Protocol Support
- Peer to Peer Networking
- Bitcoin Core JSON-RPC
- Payment Channels
- Mnemonics
- Elliptical Curve Integrated Encryption Scheme
- Blockchain Explorers
- Signed Messages
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'
var address = privateKey.toAddress();
// Build a 2-of-3 address from public keys
var p2shAddress = new bitcore.Address([publicKey1, publicKey2, publicKey3], 2);
var paymentInfo = {
address: '1DNtTk4PUCGAdiNETAzQFWZiy2fCHtGnPx',
amount: 120000 //satoshis
};
var uri = new bitcore.URI(paymentInfo).toString();
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
var peer = new Peer('5.9.85.34');
peer.on('inv', function(message) {
// new inventory
});
peer.connect();