A reimplementation in pure Nim of eth-keys, the common API for Ethereum key operations.
Go to file
Eugene Kabanov 36df1300ce Eth keys API refactor (#14)
* Fix eth_keys to follow nimble rules.
Fix eth_keys to follow NEP-1 rules.
Fix eth_keys to work properly with libsecp256k1 (do not raise uncatchable exceptions).
Added more tests from py_evm, go-ethereum, cpp-ethereum.
Added address utility functions.
Changed public api, to be compatible with more modules.

* Fix newline.

* Added proper appveyor.yml.

* Fix appveyor.yml.

* Removed safeXXX functions.

* Removed Nonce object declaration.
Removed EthKeysContext possibility of inheritation.
Added shutdownLibsecp256k1() and shutdown() procedures.
Some documentation comments got modified.

* Removed RawPublicKey and RawSignature bytes.
getRaw(PublicKey) and getRaw(Signature) are now returning arrays.
Added toRaw(PublicKey, data) and toRaw(Signature, data).

* Added `$` hexadecimal string representation functions.
Added initSignature functions.
Added some previous tests.

* Removed 0x prefixes from `$` functions.
2018-04-10 19:07:40 +02:00
eth_keys Eth keys API refactor (#14) 2018-04-10 19:07:40 +02:00
src Compute pubkey from privkey, instead of keeping together, initPrivateKey (#13) 2018-03-31 09:47:16 +02:00
tests Eth keys API refactor (#14) 2018-04-10 19:07:40 +02:00
.gitignore Libsecp256k1 backend (#2) 2018-02-14 16:24:29 +01:00
.travis.yml Travis config 2018-03-03 12:03:07 +02:00
LICENSE-APACHEv2 Relicense under dual Apachev2/MIT 2018-03-02 11:57:43 +01:00
LICENSE-MIT Relicense under dual Apachev2/MIT 2018-03-02 11:57:43 +01:00
README.md Travis config 2018-03-03 12:03:07 +02:00
appveyor.yml Eth keys API refactor (#14) 2018-04-10 19:07:40 +02:00
eth_keys.nim Eth keys API refactor (#14) 2018-04-10 19:07:40 +02:00
eth_keys.nimble Eth keys API refactor (#14) 2018-04-10 19:07:40 +02:00

README.md

Nim ETH-keys

License: Apache License: MIT Stability: experimental Build Status

A reimplementation in pure Nim of eth-keys, the common API for Ethereum key operations.

By default, Nim eth-keys uses Bitcoin's libsecp256k1 as a backend. Make sure libsecp256k1 is available on your system.

An experimental pure Nim backend (Warning ⚠: do not use in production) is available with the compilation switch -d:backend_native

License

Licensed under either of

at your option.