A full stack for bitcoin and blockchain-based applications
Clone or download
Pull request Compare This branch is 12 commits ahead of bitpay:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.vscode
bin
scripts
test
.coveralls.yml
.gitignore
.jshintrc
.npmignore
.travis.yml
CONTRIBUTING.md
Dockerfile
LICENSE
README.md
bower.json
gulpfile.js
index.js
karma.conf.js
package-lock.json
package.json

README.md

Flocore

NPM Package Build Status

Infrastructure to build Florincoin and blockchain-based applications for the next generation of financial technology.

Note: If you're looking for the Flocore Library please see: https://github.com/bitpay/flocore-lib

Getting Started

Before you begin you'll need to have Node.js v8 installed. There are several options for installation. One method is to use nvm to easily switch between different versions, or download directly from Node.js.

npm install -g flocore

Running a Flocore server

Spin up a full node and join the network:

npm install -g flocore
flocored

You can then view the Insight block explorer at the default location: http://localhost:3001/insight, and your configuration file will be found in your home directory at ~/.flocore.

Using Flocore programmatically

Create a transaction:

var flocore = require('flocore');
var transaction = new flocore.Transaction();
var transaction.from(unspent).to(address, amount);
transaction.sign(privateKey);

Applications

  • Node - A full node with extended capabilities using Florincoin Core
  • Insight API - A blockchain explorer HTTP API
  • Insight UI - A blockchain explorer web user interface
  • Wallet Service - A multisig HD service for wallets
  • Wallet Client - A client for the wallet service
  • CLI Wallet - A command-line based wallet client
  • Angular Wallet Client - An Angular based wallet client
  • Copay - An easy-to-use, multiplatform, multisignature, secure florincoin wallet

Libraries

  • Lib - All of the core Florincoin primatives including transactions, private key management and others
  • Payment Protocol - A protocol for communication between a merchant and customer
  • P2P - The peer-to-peer networking protocol
  • Mnemonic - Implements mnemonic code for generating deterministic keys
  • Channel - Micropayment channels for rapidly adjusting florincoin transactions
  • Message - Florincoin message verification and signing
  • ECIES - Uses ECIES symmetric key negotiation from public keys to encrypt arbitrarily long data streams.

Documentation

The complete docs are hosted here: flocore documentation. There's also a flocore API reference available generated from the JSDocs of the project, where you'll find low-level details on each flocore utility.

To get community assistance and ask for help with implementation questions, please use our community forums.

Security

We're using Flocore in production, as are many others, but please use common sense when doing anything related to finances! We take no responsibility for your implementation decisions.

If you find a security issue, please email security@bitpay.com.

Contributing

Please send pull requests for bug fixes, code optimization, and ideas for improvement. For more information on how to contribute, please refer to our CONTRIBUTING file.

This will generate files named flocore.js and flocore.min.js.

You can also use our pre-generated files, provided for each release along with a PGP signature by one of the project's maintainers. To get them, checkout a release commit (for example, https://github.com/bitpay/flocore/commit/e33b6e3ba6a1e5830a079e02d949fce69ea33546 for v0.12.6).

To verify signatures, use the following PGP keys:

License

Code released under the MIT license.

Copyright 2013-2017 BitPay, Inc. Flocore is a trademark maintained by BitPay, Inc.