From aa3116288a89856336878e424c57626469d44384 Mon Sep 17 00:00:00 2001 From: Mason Fischer Date: Tue, 18 Mar 2014 23:10:39 -0400 Subject: [PATCH] Add examples to the README --- README.md | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 56 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index d474de0..756824a 100644 --- a/README.md +++ b/README.md @@ -23,11 +23,7 @@ This is not the original bitcoinjs-lib that was not updated for a while. The cur Note: The npm version is currently out of date, are working to resolve this. The best way to use the latest code is to clone the repository. -## Usage - -### Run the test suite - - $ npm test +## Setup ### Node.js @@ -45,6 +41,49 @@ Compile `bitcoinjs-min.js` with the following command: After loading this file in your browser, you will be able to use the global `Bitcoin` object. +## Usage + +These examples assume you are running bitcoinjs-lib in the browser. + +### Generating a Bitcoin address + +```javascript + +key = Bitcoin.ECKey() + +// Print your private key (used for signing transactions) +console.log(key.toString()) +// => 5Jxfda2afuyMw3iaxzAwv6FvAs3XxmjV5y3GPAjZDEhRNJaFG5a + +// Print your public key (Bitcoin address) +console.log(key.getPub().toString()) +// => 18oxCAnbuKHDjP7KzLBDj8mLjggDBjE1Q9 +``` + +### Creating a Transaction + +```javascript + +tx = new Bitcoin.Transaction() + +// Add the input (the output of the previous transaction) of the form [previous transaction hash]:[index of the output to use] +tx.addInput("aa94ab02c182214f090e99a0d57021caffd0f195a81c24602b1028b130b63e31:0") + +// Add the output (who to pay to) of the form [payee's bitcoin address]:[amount in satoshis] +tx.addOutput("1Gokm82v6DmtwKEB8AiVhm82hyFSsEvBDK:15000") + +// Initialize the private key you created earlier so you can sign the transaction +key = Bitcoin.ECKey("5Jxfda2afuyMw3iaxzAwv6FvAs3XxmjV5y3GPAjZDEhRNJaFG5a") + +// Sign the first input with your key +tx.sign(0, key) + +// Print transaction serialized as hex. You can push the transaction onto the Bitcoin network manually +// here: https://blockchain.info/pushtx +console.log(tx.serializeHex()) +``` + + ## Projects utilizing bitcoinjs-lib - [Blockchain.info Wallet](http://blockchain.info/wallet) @@ -54,6 +93,18 @@ After loading this file in your browser, you will be able to use the global `Bit Feel free to send pull requests to have your project/startup listed here. +## Contributing + +### Instructions + +1. Fork the repo +2. Push changes to your fork +3. Create a pull request + +### Running the test suite + + $ npm test + ## Alternatives - [Bitcore](https://github.com/bitpay/bitcore)