A collection of JavaScript libraries for Ethereum dapp development.
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. |
Install at least yarn
version 1.4.2 and Node.js >=10.10.0
yarn --version // Should be at least 1.4.2
yarn test
yarn build
Fork the repo
Clone your fork
git clone https://github.com/<INSERT_YOUR_GITHUB_USERNAME>/js-libs
yarn outdated
git checkout -b <INSERT_YOUR_BRANCH_NAME>
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
All Parity’s JavaScript libraries are open-source software licensed as MIT.