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 '18 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... – congnghebitcoin.com Jun 8 '18 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 '18 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. – congnghebitcoin.com Jun 9 '18 at 3:12

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, privacy policy and cookie policy

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