status-go/eth-node
Igor Sirotin 49eaabaca5
feat: adapt create/restore/login endpoints for keycard usage (#5311)
* chore_: remove duplicated `StartNodeWithKey`

* feat(KeycardPairing)_: added GetPairings method

* chore_: simplify startNode... methods

* chore_: added encryption path to be derived

* fix_: error handling in StartNodeWithKey

* feat_: added keycard properties to CreateAccount

* feat_: moved KeycardWhisperPrivateKey to LoginAccount

* fix_: LoginAccount during local pairing

* feat_: added chat key handling to loginAccount

* chore_: struct response from generateOrImportAccount

* fix_: do not store keycard account to keystore

* feat_: added Mnemonic parameter to LoginAccount

* chore_: wrap loginAccount errors

* feat_: RestoreKeycardAccountAndLogin endpoint

* chore_: merge RestoreKeycardAccountRequest into RestoreAccountRequest

* fix_: TestRestoreKeycardAccountAndLogin

* fix_: MessengerRawMessageResendTest

* chore_: cleanup

* chore_: cleanup according to pr comments

* chore_: better doc for Login.Mnemonic

* chore_: add/fix comments

* fix_: lint
2024-06-26 13:14:27 +02:00
..
bridge/geth feat_: wakuext_enr (#5367) 2024-06-18 15:48:49 -04:00
core/types Fix waku tests & contact ens (#1802) 2020-01-17 13:39:09 +01:00
crypto synchronize display name (#2989) 2022-12-29 14:16:19 +08:00
keystore Added payload marshal and unmarshal to/from protobuf 2022-08-22 13:27:59 +01:00
types feat: adapt create/restore/login endpoints for keycard usage (#5311) 2024-06-26 13:14:27 +02:00
Makefile Create a home submodule for Eth node bridges- Rename StatusBackend to GethStatusBackend 2019-11-27 17:02:09 +01:00
README.md Update eth-node README (#1916) 2020-04-01 20:13:54 +02:00

README.md

Abstraction for Ethereum node implementation

This package is a collection of interfaces, data types, and functions to make status-go independent from the go-ethereum implementation.

status-go is a wrapper around an Ethereum node. This package was created to have a possibility of selecting the underlying Ethereum node implementation, namely go-ethereum or Nimbus. The underlying implementation is selected using Go build tags.

  • types and core/types -- provide interfaces of node services, common data types, and functions,
  • bridge -- provide implementation of interfaces declared in types using go-ethereum or Nimbus in geth and nimbus directories respectively,
  • crypto -- provide cryptographic utilities not depending on go-ethereum,
  • keystore -- provide a keystore implementation not depending on go-ethereum.

Note: crypto and keystore are not finished by either depending on go-ethereum or not providing Nimbus implementation.

How to use it?

If you have a piece of code that depends on go-ethereum, check out this package to see if there is a similar implementation that does not depend on go-ethereum. For example, you want to decode a hex-string into a slice of bytes. You can do that using go-ethereum's FromHex() function or use equivalent from this package and avoid importing go-ethereum. Thanks to this, your code fragment might be built with Nimbus.

License

Mozilla Public License 2.0