c01ad05525
Usually, message IDs are generated by their payload and signature and in receiving nodes calculated in based on the same data as well. There's no ID attached to messages in-flight. This turns out to be a bit of a problem for messages that are being imported from third party systems like discord, as the conversion and saving of such messages and handling of their possible assets and attachments are done in separate steps, which changes the message payloads after their IDs have been generated. Hence, we're introducing a `ThirdPartyID` property to `common.Message` and `protobuf.WakuMessage` so receiving nodes of such messages (via the archive protocol primarily) can easily detect third party/imported messages and give them special treatment. |
||
---|---|---|
.. | ||
bridge/geth | ||
core/types | ||
crypto | ||
keystore | ||
types | ||
Makefile | ||
README.md |
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
andcore/types
-- provide interfaces of node services, common data types, and functions,bridge
-- provide implementation of interfaces declared intypes
using go-ethereum or Nimbus ingeth
andnimbus
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.