In EOS smart contract developers are able to utilize the database functionalities. According to official document they are RAM. So I wonder if this is distributed database which included in Blockchain or it's a temporary memory in every BP's RAM.

If it's temporary memory in every BP's RAM then how could it be shared among BP's (the 21 active BPs and subsidiary BPs)?

The second question is: when a subsidiary BP becomes active BP then how can it synchronize this RAM?

Thank you!

  • I asked a very similar question here: eosio.stackexchange.com/questions/42/…
    – Vlad
    Jun 8, 2018 at 14:11
  • Totally different, my question is how database for a particular Account is shared between BPs while your question is how to allocate RAM... Jun 8, 2018 at 14:34
  • are you sure you're referring to the link I pasted above? because it's nothing to do about allocation (and everything to do about how resources are shared between BPs).
    – Vlad
    Jun 9, 2018 at 0:54
  • Yes, I went through. Again your question mentioned mostly to capacity while my question is how data stored in database is shared across BPs. Jun 9, 2018 at 3:12

1 Answer 1


From the white paper

"Bandwidth and computation have two components, instantaneous usage and long-term usage. A blockchain maintains a log of all Actions and this log is ultimately stored and downloaded by all full nodes. With the log of Actions, it is possible to reconstruct the state of all applications."

State including RAM, this ability it gives the sharing effect amongst the Block Producers.

To answer your second question, new Block Producers would be apart of the standby pool before becoming active, while in the standby pool they'll have state synchronised knowing just as much as the Active BP's.

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.