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
Welcome! If you're looking to contribute to plasma-core
, you're in the right place.
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.
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!
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
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
plasma-core
makes use of several npm
packages.
Install all required packages with:
npm install
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.
A more detailed explanation of the plasma-core
architecture is available here.