Skip to content

Persist PXE state #3364

@alexghr

Description

@alexghr

The PXE (Private eXecution Environment) is a component that lives on the user's device and is used to store private keys, private notes, private contract bytecode and sign transactions.

Currently the PXE is backed by an in-memory store so whenever it is restarted it 'forgets' all of the keys that were registered previously and all of the users notes and deployed contracts.

Add a new PXE database implementation alongside MemoryDB that persists its data.

Requirements

  • efficient storage/retrieval of notes
  • atomic writes
  • validate state on boot
  • hold users' keys

Data validation

The PXE syncs with the blockchain so on boot it should compare its own view of the world state (it holds the roots of the merkle trees) against the same block on the chain.

Questions

  1. How should it store private encryption keys in the database?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions