I’m not sure it does, until we have to justify a size as @dirvine notes. So at some point what we have is insuffcient for someone. I can buy the argument to keep it simple here and register are just pointers to other network data. With a suitable API that’s not necessarilly complex…
It also removes quesstions of register stuffing and pricing around that, which could be some complexity there.
What it does is forces use of other data types… again, not complex, but more calls, sure. All of this exists in the network now, and APIs for registers could still be store(bytes:Vec<u8>)
, with all underlying layers hidden…
So is there a potential network call there to get your data. Yes. Is that likely to be a big deal?.. I’m honestly not sure, but tending towards “not really”.
So it seems to me this is presuming bad register APIs. There’s no reason the API can’t staay as is, but content is shepherded by the API layer… So I don’t buy this argument myself here.
I don’t think it must. Only as/when you want that data. If we have linked registers… must we load all entries at once? Why?
This seems like app layer logic.
Indeed, but in a clearly scoped context of the NetworkAddress
type. It’s not arbitrary metadata, it’s something relating to a concrete network type (the register).
If we suppose that registers can hold some amount of bytes. What is the correct
amount? And how do we arrive at that?
Registers of size Y > X would be more useful that registers of X… So how to draw the line?
Honestly, I’m not sure of the right path here, but APIs that hide any complexity here seem straight forward… And it neatly solves the correct
amount of bytes question, it seems.
The main drawback seem to be spreading data over more nodes here and any lag that might entail? (but that’s only for small byte data of size < X … )