https://github.com/bitpay/node-libbitcoinconsensus
Node.js bindings for libbitcoinconsensus
https://github.com/bitpay/node-libbitcoinconsensus
Last synced: 8 months ago
JSON representation
Node.js bindings for libbitcoinconsensus
- Host: GitHub
- URL: https://github.com/bitpay/node-libbitcoinconsensus
- Owner: bitpay
- License: mit
- Created: 2015-05-26T16:33:43.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2015-06-16T15:03:28.000Z (almost 11 years ago)
- Last Synced: 2025-04-06T08:03:05.036Z (about 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 179 KB
- Stars: 11
- Watchers: 15
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
SYNOPSIS [](https://github.com/bitpay/node-libbitcoinconsensus)
===
This module provides native bindings to Bitcoin's [libbitcoinconsensus](https://github.com/bitcoin/bitcoin) functions.
This library is experimental, so use at your own risk.
INSTALL
===
##### from npm
`npm install libbitcoinconsensus`
Note: you will need to have g++/llvm installed first
##### from git
```bash
git clone git@github.com:bitpay/libbitcoinconsensus.js.git
cd libbitcoinconsensus.js
git submodule init
git submodule update
npm install
```
NOTE: if you get multiple deprecation warnings on Mac OS X, fear not, you are using Apple's built-in libraries, all should work fine ;)
USAGE
===
```javascript
'use strict';
var bitcoinconsensus = require('libbitcoinconsensus');
// the transaction spending an output
var txTo = new Buffer('01000000015884e5db9de218238671572340b207ee85b628074e7e467096c267266baf77a4000000006a4730440220340f35055aceb14250e4954b23743332f671eb803263f363d1d7272f1d487209022037a0eaf7cb73897ba9069fc538e7275c5ae188e934ae47ca4a70453b64fc836401210234257444bd3aead2b851bda4288d60abe34095a2a8d49aff1d4d19773d22b32cffffffff01a0860100000000001976a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac00000000', 'hex');
// the previous unspent output script
var scriptPubKey = new Buffer('76a9144621d47f08fcb1e6be0b91144202de7a186deade88ac', 'hex');
// the input index that is spending the scriptPubKey
var nIn = 0;
var valid = bitcoinconsensus.verifyScript(scriptPubKey, txTo, nIn);
// valid will equal 0 (false) or 1 (true)
console.log(valid);
// the version of libbitcoinconsensus
var version = bitcoinconsensus.version();
console.log(version);
```
API
===
bitconconsensus.version()
-----------------------------
Get the version of the libbitcoinconsensus library
**Parameters**
none
**Returns**: String representing the version of the library.
bitcoinconsensus.verifyScript(scriptPubKey, txTo, nIn, flags)
-----------------------------
Verify the script according to the buffers sent in (scriptPubKey)
**Parameters**
* scriptPubKey - `Buffer`
* txTo - `Buffer`
* nInt - `integer`
* flags - `integer`
**Returns**: integer representing whether the script was valid (1) or not valid (0).
**Throws**: String exception when an exception is handled by the native library.
TEST
===
run `npm test`
LICENSE
-----------------------------
MIT