eth-url-parser
Version:
Ethereum url parsing library
63 lines (42 loc) • 1.98 kB
Markdown
# eth-url-parser
[](https://npmjs.com/package/eth-url-parser) [](https://npmjs.com/package/eth-url-parser)

Module that supports parsing / parsing of all the different ethereum standard urls: [ERC-681](https://eips.ethereum.org/EIPS/eip-681) and [ERC-831](https://eips.ethereum.org/EIPS/eip-831)
This module contains two functions:
## `parse(string)`
Takes in a string of an Ethereum URL and returns an object matching that URL according to the previously mentioned standards
The returned object looks like this:
```javascript
{
scheme: 'ethereum',
target_address: '0x1234DEADBEEF5678ABCD1234DEADBEEF5678ABCD', // ENS names are also supported!
chain_id: '1',
parameters: {
'value': '2014000000000000000', // (in WEI)
'gas': '45000', // can be also gasLimit
'gasPrice': '50',
}
}
```
## `build(object)`
Takes in an object representing the different parts of the ethereum url and returns a string representing a valid ethereum url
## Getting started
`$ npm install eth-url-parser --save`
## Usage
```javascript
import { parse, build } from 'eth-url-parser';
const parsedUrl = parse('ethereum:0x1234DEADBEEF5678ABCD1234DEADBEEF5678ABCD')
console.log(parseUrl.target_address)
// '0x1234DEADBEEF5678ABCD1234DEADBEEF5678ABCD'
const url = build({
scheme: 'ethereum',
prefix: 'pay',
target_address: '0x1234DEADBEEF5678ABCD1234DEADBEEF5678ABCD'
});
console.log(url);
// 'ethereum:pay-0x1234DEADBEEF5678ABCD1234DEADBEEF5678ABCD'
```
## License
MIT
## Credits
This repo is a combination of [erc681](https://github.com/parity-js/erc681) (by [@parity-js](https://github.com/parity-js)) and [eip681](https://github.com/tokenkit/eip681/) (by [tokenkit](https://github.com/tokenkit))