{"id":13773042,"url":"https://github.com/chromaway/blockchainjs","last_synced_at":"2026-01-11T13:29:21.455Z","repository":{"id":26514028,"uuid":"29966785","full_name":"chromaway/blockchainjs","owner":"chromaway","description":"Bitcoin blockchain for wallets.","archived":false,"fork":false,"pushed_at":"2016-08-02T23:11:09.000Z","size":495,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-29T01:42:30.247Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chromaway.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-28T12:35:24.000Z","updated_at":"2020-05-19T02:59:23.000Z","dependencies_parsed_at":"2022-08-17T17:11:01.550Z","dependency_job_id":null,"html_url":"https://github.com/chromaway/blockchainjs","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chromaway%2Fblockchainjs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chromaway%2Fblockchainjs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chromaway%2Fblockchainjs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chromaway%2Fblockchainjs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chromaway","download_url":"https://codeload.github.com/chromaway/blockchainjs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253342060,"owners_count":21893553,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T17:01:10.611Z","updated_at":"2026-01-11T13:29:21.418Z","avatar_url":"https://github.com/chromaway.png","language":"JavaScript","funding_links":[],"categories":["List of content"],"sub_categories":["Utilities"],"readme":"# blockchainjs\n\n[![Version](http://img.shields.io/npm/v/blockchainjs.svg?style=flat-square)](https://www.npmjs.org/package/blockchainjs)\n[![build status](https://img.shields.io/travis/chromaway/blockchainjs.svg?branch=master\u0026style=flat-square)](http://travis-ci.org/chromaway/blockchainjs)\n[![Coverage Status](https://img.shields.io/coveralls/chromaway/blockchainjs.svg?style=flat-square)](https://coveralls.io/r/chromaway/blockchainjs)\n[![Dependency status](https://img.shields.io/david/chromaway/blockchainjs.svg?style=flat-square)](https://david-dm.org/chromaway/blockchainjs#info=dependencies)\n\nA pure JavaScript library for node.js and browsers for easy data exchange between wallets and bitcoin network.\n\n## What is include blockchainjs?\n\nblockchainjs have two abstraction level: Connector and Blockchain\n\nConnector implements a common interface for remote service. For now available only one provider: [chromanode](https://github.com/chromaway/chromanode).\n\nBlockchain implements a common interface between connector and your wallet. You can use Naive (trust all data from remove service) or Verified (SPV implementation).\n\nIn addition to Verified blockchainjs has Storage interface for store headers. Memory and LocalStorage available for now.\n\n## API\n\n  * [Connector](docs/connector.md)\n    * [Chromanode](docs/connector.md#chromanode)\n  * [Blockchain](docs/blockchainapi.md)\n    * [Naive](docs/blockchainapi.md#naive)\n    * [Verified](docs/blockchainapi.md#verified)\n  * [Storage](docs/storageapi.md)\n    * [Memory](docs/storageapi.md#memory)\n    * [LocalStorage](docs/storageapi.md#localstorage)\n\n## Examples\n\n### Show UTXO on address touched\n```js\nvar blockchainjs = require('blockchainjs')\nvar connector = new blockchainjs.connector.Chromanode({networkName: 'testnet'})\nvar address = 'mp8XoMWnJzQwovninMdChQutPuhyHokJNc'\n\nfunction showUTXO(address) {\n  connector.addressesQuery([address], {status: 'unspent'})\n    .then(function (result) {\n      console.log('UTXO for ' + address + ':')\n      result.transactions.forEach(function (unspent) {\n        // var txOut = unspent.txid + ':' + unspent.outIndex\n        // console.log(txOut + ' has ' + unspent.value + ' satoshi')\n        // sorry, only txid and height available now\n        console.log('Unspent in txid: ' + unspent.txid)\n      })\n      if (result.transactions.length === 0) {\n        console.log('nothing...')\n      }\n      console.log('')\n    })\n}\n\nconnector.on(address, showUTXO)\nconnector.connect()\nconnector.subscribe({event: 'touchAddress', address: address})\nshowUTXO(address)\n```\n\n### Show last header upon completion of sync process\n```js\nvar blockchainjs = require('blockchainjs')\n\nvar connector = new blockchainjs.connector.Chromanode({networkName: 'testnet'})\nconnector.connect()\n\nvar storage = new blockchainjs.storage.Memory({\n  networkName: 'testnet',\n  compactMode: true\n})\n\nvar blockchain = new blockchainjs.blockchain.Verified(connector, {\n  storage: storage,\n  networkName: 'testnet',\n  testnet: true,\n  compactMode: true,\n  chunkHashes: blockchainjs.chunkHashes.testnet\n})\n\nblockchain.on('syncStop', blockchainjs.util.makeSerial(function () {\n  return blockchain.getHeader(blockchain.latest.hash)\n    .then(function (header) {\n      console.log('Current header: ', header)\n    })\n}))\n```\n\n## License\n\nCode released under [the MIT license](LICENSE).\n\nCopyright 2015 Chromaway AB\n\n## Todo\n\n  * migrate to bitcore (in tests)\n  * add karma\n  * add https://github.com/visionmedia/debug\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchromaway%2Fblockchainjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchromaway%2Fblockchainjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchromaway%2Fblockchainjs/lists"}