Skip to content

A unified nodejs API for sending and receiving crypto payments

License

Notifications You must be signed in to change notification settings

bitaccess/coinlib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

890cf71 · Feb 7, 2025
Nov 10, 2023
Aug 5, 2022
Feb 7, 2025
Aug 1, 2019
Apr 24, 2024
Oct 25, 2021
Jul 22, 2022
Apr 24, 2024
Apr 24, 2020
Nov 5, 2019
Aug 1, 2019
Aug 27, 2020
Jul 16, 2022
Feb 5, 2025
Apr 24, 2024
Apr 24, 2024
Aug 5, 2022
Feb 7, 2025
Nov 5, 2019
Apr 7, 2023
Feb 4, 2025
Aug 5, 2022
Jun 22, 2021
Aug 5, 2022
Oct 26, 2021
Aug 5, 2022

Repository files navigation

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. Set environment variables
export BITCOIN_SERVER_URL="btc1.<my-blockbook-url>,btc2.<my-blockbook-url>"
export BITCOIN_TESTNET_SERVER_URL="tbtc1.<my-blockbook-url>"
  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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages