iotaledger / iri

IOTA Reference Implementation
Other
1.15k stars 370 forks source link

Allow for transaction pinning through webAPI #1599

Open ovanwijk opened 5 years ago

ovanwijk commented 5 years ago

Description

Introduce an extra persistence provider layer where transaction bytes are never deleted by snapshotting and always stay accessible through the standard API (getTrytes and findTransactions)

Metadata bytes are not required to be stored.

Motivation

To allow node owners to select what data they want to keep on their node. This is a prerequisite for selective permanodes.

Requirements

issue https://github.com/iotaledger/iri/issues/1565 to be fixed

Open Questions (optional)

Anything you want to discuss.

Am I planning to do it myself with a PR?

Yes

GalRogozinski commented 5 years ago

and always stay accessible through the standard API Are we sure we want this through the standard API? Not an Ixi?

Tagging @jakubcech

If this is done through the standard API, how will it behave with a node that doesn't have a permanode db set up?

ovanwijk commented 5 years ago

What I mean is that findTransactions and getTrytes should also use the permanent persistence layer when available. Meaning that there is no difference between normal and permanent peristence behaviour. It will work automatically when this is solved: https://github.com/iotaledger/iri/pull/1579