Class: Eureka

Eureka(props)

new Eureka(props)

Create a Eurkea instance, this intended to facilitate discovery of other instances and share information between instances in a secure way. Authenticated encryption is used to ensure integrity of the messages. Additional authentication data is used to bind the encrypted payloads to the IP sending the data. Meaning if the data is tampered with and/or relayed through another box, the authenticated encryption will fail. This is intended to be a core library that can be re-used by another piece that applies more opinions on the structure of the messages and actions on receipt of messages. This is intended to be used on devices in the same network segment and visible to each other at L2. You must provided a shared salt and password, how this is fetched/seeded is left up to the upper layer. Additionally, rotation of the shared key material is also left to the upper layer. Currently rotation must happen all at once. In the future a keyset with keys that can be aged out for seemless rotation may be supported. You must provide the message payload that will be broadcast (by default every minute). You may override the crypto object used to protect and authenticate the payloads, to do so provide props.crypto.instance. If you do not the, a default crypto instance will be created which uses Scrypt and ChaCha20
Parameters:
Name Type Description
props EurekaProps
Source: