bitaccess / coinlib

A unified nodejs API for sending and receiving crypto payments

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

coinlib monorepo

A nodejs library providing a unified API for sending and receiving crypto payments for multiple coin networks.

Setting Up

  1. Install required compiler tools
brew install autoconf automake libtool
  1. Install root dependencies:
npm install
  1. Execute tests (done by Jest)
npm run test
  1. Dependency management
  • To remove dependency from leaf package, remove it from its package.json and run lerna bootstrap
  • To regenerate package-lock.json for package, run npm install --package-lock-only

Contribution guide

Pull Request process

  1. Ensure following branch naming conventions <tag>/<subject_message>;
  2. Ensure following commit message conventions (templated);
  3. Ensure test and linting are executed successfully;
  4. You may merge the Pull Request in once you have the sign-off of other developers, or if you do not have permission to do that, you may request the reviewer to merge it for you;

Commit message template

Run

git config commit.template  ./.gitmessage

Adding new assets

Importing packages

Use lerna to import packages (More info in lerna docs)

Configuring assets

Add payment factory to packages/coinlib/src/constants.ts

Registering assets

Add payment config to packages/coinlib/src/types.ts

Abstractions to implement

Find types and interfaces at packages/coinlib-types/src/

Usage

npm i @bitaccess/coinlib

See @bitaccess/coinlib README for usage.

Packages

Publishing new version

Note: Never use npm version, it doesn't work with lerna monorepo

Version types

  • patch - fixes only, no feature or breaking changes
  • minor - feature changes
  • major - breaking changes

Steps to version & publish

  1. Run tests npm run test
  2. Create release candidate PR bin/version.sh
  3. Have someone review & approve new release. Merge PR, pull master
  4. Publish to npm bin/publish.sh

About

A unified nodejs API for sending and receiving crypto payments

License:MIT License


Languages

Language:TypeScript 98.0%Language:JavaScript 0.8%Language:Shell 0.6%Language:Solidity 0.5%Language:Nix 0.1%