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
|
|
|
|
[](https://travis-ci.org/jacogr/ethabi-js)
|
|
[](https://coveralls.io/github/jacogr/ethabi-js?branch=master)
|
|
[](https://david-dm.org/jacogr/ethabi-js)
|
|
[](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
|