/plasma-core

Core PG plasma node

Primary LanguageJavaScriptMIT LicenseMIT

plasma-core

Coverage Status Build Status Codacy Badge

plasma-core is the core of Plasma Group's client functionality. plasma-core is not designed to be a full plasma client. As a result, plasma-core does not provide a graphical user interface or an easy way to interact with components. If you're looking for a full client, check out plasma-client or plasma-extension

Contributing

Welcome! If you're looking to contribute to plasma-core, you're in the right place.

Contributing Guide and CoC

Plasma Group follows a Contributing Guide and Code of Conduct adapted slightly from the Contributor Covenant. All contributors are expected to read through this guide. We're here to cultivate a welcoming and inclusive contributing environment, and every new contributor needs to do their part to uphold our community standards.

Documentation

Detailed documentation for plasma-core is available here. If you'd like to contribute to the documentation, please edit the contents of the /docs folder and submit a pull request!

Requirements and Setup

Cloning the Repo

Before you start working on plasma-core, you'll need to clone our GitHub repository:

git clone git@github.com:plasma-group/plasma-core.git

Now, enter the repository.

cd plasma-core

Node.js

plasma-core is a Node.js application. You'll need to install Node.js (and its corresponding package manager, npm) for your system before continuing. We've provided a detailed explanation of now to install Node.js on Windows, Mac, and Linux.

plasma-core has been tested on the following versions of Node:

  • v8
  • v9
  • v10

If you're having trouble getting a component of plasma-core running, please try installing one of the above versions of Node.js and try again. It's pretty easy to switch Node.js versions using n. First, install n globally.

npm install -g n

Next, install your desired verson of Node.js, say v10:

n 10

Packages

plasma-core makes use of several npm packages.

Install all required packages with:

npm install

Running Tests

plasma-core makes use of a combination of Mocha (a testing framework) and Chai (an assertion library) for testing.

Run all tests with:

npm test

Contributors: remember to run tests before submitting a pull request! Code with passing tests makes life easier for everyone and means your contribution can get pulled into this project faster.

Architecture

A more detailed explanation of the plasma-core architecture is available here.

Architecture Diagram