Skip to content

Commit

Permalink
Merge pull request #109 from plasma-group/dev-core-docs
Browse files Browse the repository at this point in the history
Update core docs for TS refactor
  • Loading branch information
smartcontracts committed Apr 1, 2019
2 parents 7e45fa6 + 255c0b9 commit 755ae73
Showing 1 changed file with 14 additions and 75 deletions.
89 changes: 14 additions & 75 deletions packages/core/README.md
Original file line number Diff line number Diff line change
@@ -1,91 +1,30 @@
# @pigi/core
[![Coverage Status](https://coveralls.io/repos/github/plasma-group/plasma-core/badge.svg?branch=master)](https://coveralls.io/github/plasma-group/plasma-core?branch=master) [![Build Status](https://travis-ci.org/plasma-group/plasma-core.svg?branch=master)](https://travis-ci.org/plasma-group/plasma-core) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/a20be2fa68eb4066a4bcd49dd1f91c74)](https://www.codacy.com/app/kfichter/plasma-core?utm_source=github.com&utm_medium=referral&utm_content=plasma-group/plasma-core&utm_campaign=Badge_Grade)

⚠️ **NOTICE** ⚠️

This is a WIP port of [`plasma-core`](https://github.com/plasma-group/plasma-core).

---

`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`](https://github.com/plasma-group/plasma-client) or [`plasma-extension`](https://github.com/plasma-group/plasma-extension)
`@pigi/core` is the core of Plasma Group's client functionality.
It handles the basic functionality that all PG clients need to implement, like managing state updates and importing new transactions.

**Note**:
`@pigi/core` is **not** designed to be a full plasma client.
As a result, `@pigi/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 [`@pigi/client`](https://github.com/plasma-group/pigi/tree/master/packages/client).

## Contributing
Welcome! If you're looking to contribute to `plasma-core`, you're in the right place.
Welcome! If you're looking to contribute to `@pigi/core`, you're in the right place.

### Contributing Guide and CoC
Plasma Group follows a [Contributing Guide and Code of Conduct](https://github.com/plasma-group/plasma-core/blob/master/.github/CONTRIBUTING.md) adapted slightly from the [Contributor Covenant](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html).
Plasma Group follows a [Contributing Guide and Code of Conduct](https://github.com/plasma-group/@pigi/core/blob/master/.github/CONTRIBUTING.md) adapted slightly from the [Contributor Covenant](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html).
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](https://docs.plasma.group/projects/core/en/latest/).
If you'd like to contribute to the documentation, please edit the contents of the [/docs](/docs) folder and submit a [pull request](https://github.com/plasma-group/plasma-core/pulls)!

### 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`](https://nodejs.org/en/) 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`](https://docs.plasma.group/en/latest/src/pigi/reference.html#installing-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`:
We also maintain a very detailed [Documentation for Contributors](https://docs.plasma.group/en/latest/src/pigi/contributing.html) that discusses these topics in much more depth.
Please check out those docs if you're interested in becoming an active contributor to the PG ecosystem.

```
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`](https://mochajs.org/) (a testing framework) and [`Chai`](https://www.chaijs.com/) (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](https://docs.plasma.group/projects/core/en/latest/src/architecture.html).

![Architecture Diagram](docs/_static/images/architecture/architecture.png)
### Documentation
Detailed documentation for `@pigi/core` is [available here](https://docs.plasma.group/projects/core/en/latest/).
If you'd like to contribute to the documentation, please edit the contents of the [docs](https://github.com/plasma-group/pigi/tree/master/packages/docs/src/core) and submit a [pull request](https://github.com/plasma-group/@pigi/core/pulls)!

0 comments on commit 755ae73

Please sign in to comment.