49fdd23d58
* Move secureApi to shell * Extract isTestnet test * Use mobx + subscriptions for status * Re-add status indicator * Add lerna * Move intial packages to js/packages * Move 3rdparty/{email,sms}-verification to correct location * Move package.json & README to library src * Move tests for library packages * Move views & dapps to packages * Move i18n to root * Move shell to actual src (main app) * Remove ~ references * Change ~ to root (explicit imports) * Finalise convert of ~ * Move views into dapps as well * Move dapps to packages/ * Fix references * Update css * Update test spec locations * Update tests * Case fix * Skip flakey tests * Update enzyme * Skip previously ignored tests * Allow empty api for hw * Re-add theme for embed
33 lines
1.7 KiB
Markdown
33 lines
1.7 KiB
Markdown
# ethabi-js
|
|
|
|
A very early, very POC-type port of [https://github.com/paritytech/ethabi](https://github.com/paritytech/ethabi) to JavaScript
|
|
|
|
[![Build Status](https://travis-ci.org/jacogr/ethabi-js.svg?branch=master)](https://travis-ci.org/jacogr/ethabi-js)
|
|
[![Coverage Status](https://coveralls.io/repos/github/jacogr/ethabi-js/badge.svg?branch=master)](https://coveralls.io/github/jacogr/ethabi-js?branch=master)
|
|
[![Dependency Status](https://david-dm.org/jacogr/ethabi-js.svg)](https://david-dm.org/jacogr/ethabi-js)
|
|
[![devDependency Status](https://david-dm.org/jacogr/ethabi-js/dev-status.svg)](https://david-dm.org/jacogr/ethabi-js#info=devDependencies)
|
|
|
|
## contributing
|
|
|
|
Clone the repo and install dependencies via `npm install`. Tests can be executed via
|
|
|
|
- `npm run testOnce` (100% covered unit tests)
|
|
|
|
## installation
|
|
|
|
Install the package with `npm install --save ethabi-js` from the [npm registry ethabi-js](https://www.npmjs.com/package/ethabi-js)
|
|
|
|
|
|
## implementation
|
|
### approach
|
|
|
|
- this version tries to stay as close to the original Rust version in intent, function names & purpose
|
|
- it is a basic port of the Rust version, relying on effectively the same test-suite (expanded where deemed appropriate)
|
|
- it is meant as a library to be used in other projects, i.e. [ethapi-js](https://www.npmjs.com/package/ethapi-js)
|
|
|
|
### differences to original Rust version
|
|
|
|
- internally the library operates on string binary representations as opposed to Vector bytes, lengths are therefore 64 bytes as opposed to 32 bytes
|
|
- function names are adapted from the Rust standard snake_case to the JavaScript standard camelCase
|
|
- due to the initial library focus, the cli component (as implemented by the original) is not supported nor mplemented
|