2020-12-23 10:29:34 +00:00
|
|
|
# eth - Eth Common Library
|
2019-02-05 10:10:36 +00:00
|
|
|
|
|
|
|
[![License: Apache](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
|
|
|
|
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
|
|
|
|
![Stability: experimental](https://img.shields.io/badge/stability-experimental-orange.svg)
|
2021-06-03 00:40:58 +00:00
|
|
|
![Github action](https://github.com/status-im/nim-eth/workflows/CI/badge.svg)
|
2019-02-05 10:10:36 +00:00
|
|
|
|
2019-08-14 10:36:56 +00:00
|
|
|
## Introduction
|
|
|
|
|
|
|
|
Ethereum-related utilities written in Nim. Includes things like Bloom filters, private/public key utilities, RLP, devp2p, and more.
|
|
|
|
|
|
|
|
## Docs
|
2019-02-06 10:15:03 +00:00
|
|
|
|
|
|
|
- [rlp](doc/rlp.md)
|
|
|
|
- [p2p](doc/p2p.md)
|
|
|
|
- [keys](doc/keys.md)
|
|
|
|
- [keyfile](doc/keyfile.md)
|
|
|
|
- [trie](doc/trie.md)
|
|
|
|
- [bloom](doc/bloom.md)
|
2020-07-12 21:53:27 +00:00
|
|
|
- [discv5](doc/discv5.md)
|
2019-02-06 10:15:03 +00:00
|
|
|
|
2020-03-16 09:09:59 +00:00
|
|
|
## Prerequisites
|
2019-06-04 17:21:19 +00:00
|
|
|
|
2020-03-16 09:09:59 +00:00
|
|
|
- Nim & Nimble
|
2020-03-31 09:57:35 +00:00
|
|
|
|
2020-12-23 10:29:34 +00:00
|
|
|
## Building & Testing
|
2019-06-04 17:21:19 +00:00
|
|
|
```
|
2020-03-16 09:09:59 +00:00
|
|
|
# Install required modules
|
2019-06-04 17:21:19 +00:00
|
|
|
nimble install
|
2020-03-16 09:09:59 +00:00
|
|
|
# Run full test suite
|
2019-06-04 17:21:19 +00:00
|
|
|
nimble test
|
|
|
|
```
|
2019-02-06 10:15:03 +00:00
|
|
|
|
2020-03-16 09:09:59 +00:00
|
|
|
You can also run specific parts of the test suite, e.g.:
|
|
|
|
```
|
|
|
|
# Test p2p functionality
|
|
|
|
nimble test_p2p
|
|
|
|
# Test rlp functionality
|
|
|
|
nimble test_rlp
|
|
|
|
```
|
2020-07-21 09:01:58 +00:00
|
|
|
## Fuzzing
|
|
|
|
Next to the test suite, there are also several fuzzing test cases available.
|
|
|
|
How these can be run is explained in the [fuzzing readme](https://github.com/status-im/nim-eth/blob/master/tests/fuzzing/readme.md).
|
2020-03-16 09:09:59 +00:00
|
|
|
|
2019-02-05 10:10:36 +00:00
|
|
|
## License
|
|
|
|
|
|
|
|
Licensed and distributed under either of
|
|
|
|
|
|
|
|
* MIT license: [LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT
|
|
|
|
|
|
|
|
or
|
|
|
|
|
|
|
|
* Apache License, Version 2.0, ([LICENSE-APACHEv2](LICENSE-APACHEv2) or http://www.apache.org/licenses/LICENSE-2.0)
|
|
|
|
|
|
|
|
at your option. This file may not be copied, modified, or distributed except according to those terms.
|