Skip to content

casperholders/casperholderscore

CasperHolders Core

Documentation codecov Lines of Code Maintainability Rating Quality Gate Status Reliability Rating Security Rating

The CasperHolders website / mobile app use this library to handle any interaction with the CasperNetwork.

It contains a huge portion of the website & mobile app logic.

API Documentation

Version 1 & 2 are deprecated. Version 3 is actively maintained.

Installation

NPM

npm install @casperholders/core

Yarn

yarn add @casperholders/core

Example usage

import { ClientCasper } from '@casperholders/core';

export default new ClientCasper('rpcurl');

When you use this lib in module mode you must transpile it. Example with a vue project:

module.exports = {
  // ...
  transpileDependencies: [
    '@casperholders/core',
  ],
  // ...
}

You can find some example of the lib in the tests folders.
However, keep in mind this is a utility lib.
You will have to implement some abstracts class in your project if needed like the KeyManager.

Development

Install dependencies

yarn install

Build

yarn build

Generate documentation

yarn docs

Run tests

yarn test

Run lint

yarn lint

Tests

We don't test abstracts / results / errors classes because they don't own any logic.
We don't test the implementation of the CasperSigner because it requires full access to a browser test suite and the extension.
We assume the Casper Signer JS SDK is battle tested to interact with the Casper Signer extension