Parity's JavaScript Stack
A collection of JavaScript libraries for dapp development.
Packages
This repository is a monorepo that we manage using Lerna. That means that we publish several packages to npm from the same codebase. If you are a dapp developer, we recommend you start with the following three high-level packages:
Package | Version | Docs | Description |
---|---|---|---|
@parity/light.js |
A high-level reactive library optimized for light clients. | ||
@parity/light.js-react |
Easily integrate @parity/light.js with React. |
||
@parity/api |
Coming soon... | Promise-based JSONRPC method wrapper, similar to web3.js . |
And below are the lower-level packages, used internally, or by advanced users.
Package | Version | Docs | Description |
---|---|---|---|
@parity/abi |
Ethereum ABI encoder and decoder. | ||
@parity/contracts |
Parity's contracts as ES6 classes. | ||
@parity/electron |
Control the Parity Ethereum node from Electron. |
Contributing
Dependencies
Install at least yarn
version 1.4.2 and Node.js >=10.10.0
yarn --version // Should be at least 1.4.2
Tests
yarn test
Build
yarn build
Maintenance
-
Fork the repo
-
Clone your fork
git clone https://github.com/<INSERT_YOUR_GITHUB_USERNAME>/js-libs
- Check outdated dependencies
yarn outdated
- Create a branch
git checkout -b <INSERT_YOUR_BRANCH_NAME>
- Run tests, type checking, linting, and build
yarn test; yarn typecheck; yarn lint; yarn build
-
Push the branch to your fork of the repo
-
Integrate the updated library as a dependency. Example: If you want to test a branch of one of the js-lib packages in another project like Fether temporarily, then build js-libs and replace the /lib directory where it's a dependency on the Fether project. Then run Fether to use it:
~/paritytech/js-libs [my-branch-name] $ yarn build
~/paritytech/js-libs [my-branch-name] $ cp -r packages/my-package/lib ../fether/node_modules/@parity/my-package/lib
~/paritytech/js-libs [my-branch-name] $ cd ../fether
~/paritytech/fether [master] $ yarn start
- Create a pull request from your fork of the repo to the upstream master branch
License
All Parity's JavaScript libraries are open-source software licensed as MIT.