6

The token model section of the eos.io white paper states:

Block producers publish their available capacity for bandwidth, computation, and state.

This is a bit vague and I am trying to answer a few questions:

The total available capacity (bandwith/cpu/ram) of all the BPs is required to be able to compute the price for resources. So to be able to price things correctly each BP must be aware of the entire capacity of the entire network.

Also since the capacity adjusts continuously (as more resources are brought on or taken offline) that means that the BPs need to be continuously updated about other BPs capacity.

So the question I am trying to answer is how is this achieved? Do BPs broadcast this information to each other, is this information embedded in each block that is published, or do BPs query each other for this information?

Also how is that information determined? What is the mechanism for a BP to decide what its capacity is?

And lastly - how would a developer or dapp obtain this information themselves, in order to attempt to price their own resource needs.

1
  • 1
    Even if there was an API, they could easily lie.
    – gak
    Commented May 8, 2018 at 20:40

2 Answers 2

8

the producers all agree "offline" and then sign a multi-sig message setting the current max block size and total available RAM.

1
  • What happen if a if a block producer does not full fill this obligation?
    – rudolph9
    Commented May 8, 2019 at 18:10
1

Do BPs broadcast this information to each other, is this information embedded in each block that is published, or do BPs query each other for this information?

This information is in the global table of eosio here:

$ cleos get table eosio eosio global

you can see max_ram_size

Also how is that information determined? What is the mechanism for a BP to decide what its capacity is?

All BPs need to have the same minimum capacity, so a BP shouldn't have to decide on its own capacity, but in regards to the entire process of updating, I'm not sure either besides the clarification from Dan. I asked a similar question here.

And lastly - how would a developer or dapp obtain this information themselves, in order to attempt to price their own resource needs.

Querying the table should do.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.