10
votes
Accepted
Are Tables/DBs stored in RAM and held by multiple block producers?
EOSIO keeps the state in RAM. All the data for the contracts and transactions are held in RAM.
All block producers (BP) process the transactions and keep an updated state of the database in RAM.
...
5
votes
Can a smart contract communicate externally?
"Smart contracts can only read data that is part of the transaction or stored in blockchain state. To pass external data into a contract it will need to be sent via an oracle.
If you have an external ...
3
votes
Why use databases in smart contract?
The Database is just a data structure which resides in RAM. You don't have to use it but it has many convenient methods. It is not a standard relational database like MySQL.
No matter the data ...
3
votes
SQL-like database in contract?
EOS is first and foremost blockchain system that supports Database to share data among users. However there are some notes that may change your mind of thinking how that database looks like.
This is ...
3
votes
Accepted
How can I download all ledger blocks as a JSON dump?
The best way I found to download the ledger in a structured format is to use eosio::mongo_db_plugin on latest EOSIO release, run $ nodeos --mongo-uri mongodb://127.0.0.1:27017 --replay-blockchain, and ...
3
votes
Accepted
What is the ChainBase database used for?
1.What is chainbase used for?
we can find the answer in :
about chainbase
2.when we add a new object (i.e., row) to the table by Multi-Index such as
class addressbook: contract {
struct ...
3
votes
Accepted
Storing database information into EOS
Don't store personal information like email-addresses or phone-numbers on a public blockchain !!!
The memo-field itself has nothing to do with the type of storage as it's just an action-parameter of ...
2
votes
EOS smart contracts and big data
Same situation as in other blockchains: large data should not be stored on the blockchain. Keep in mind that besides block producers, all validation nodes / non-producing full nodes have to be able ...
2
votes
Why doesn't EOS use other database?
The reason is performance. Reading and writing from RAM is orders of magnitude faster than from disk.
If a clock producer node is down, it will be replaced by another block producer according to the ...
2
votes
Accepted
How to retrieve historical EOS supply?
I think you can listen to the block with the issue event of eosio.token, only the issue action can update the supply.
2
votes
One-to-many relationship in Multi Index Tables
The link below will be really helpful.
There are many concepts and relationships between them.
https://trybe.one/the-ultimate-end-to-end-eos-dapp-tutorial-part-2/
2
votes
One-to-many relationship in Multi Index Tables
Even if you do not directly support one-to-many, you can set up multiple indexes to:
Create a separate player, ticket struct. These become tables.
Place a player_id in the ticket and create a ...
2
votes
SQL-like database in contract?
Contracts can't call out to SQL servers or any other server. They can use table storage through multi_index, but it's direct access with no SQL interpreter.
2
votes
Are Tables/DBs stored in RAM and held by multiple block producers?
EOS.IO stores indexed state in a custom-written database engine called Chainbase.
This database is optimised for high performance when the entire database fits into memory, and it's expected that ...
2
votes
Accepted
Can I use MongoDB for storing data locally instead of storing in RAM?
The Mongo_DB_plugin can be configured to listen to actions on chain from a locally hosted node. This can be resource intensive in processing large blocks, you don't have the option to listen through ...
2
votes
Can we use mongodb store state?
Well, it depends.
But you've already got the right path to reduce RAM usage.
The first thing is whether the user state you mention is intend to be stored on the blockchain or not, fully or partly?
...
1
vote
What is mongodb_plugin used for?
chain_plugin is actually the core part that manages the blockchain data structure in nodeos. Most of time it is enabled automatically.
mongo_db_plugin is an add-on plugin that aims to replace the ...
1
vote
What is the most reliable way to sync contact account tables?
You could use the demux-js library to listen to contract actions that affect the table. Demux allows you to integrate with your DB of choice. You establish an API endpoint and demux will ping it ...
1
vote
How to read data at certain block number on EOS?
Reading a table at a certain block number isn't so easy since a block only records change in state, not the full state.
I think your best way forward is learning to use dfuse: https://www.dfuse.io
1
vote
How do I create a Multi-Index DB secondary index from a String?
As of eosio.cdt v1.5.0, you can not make a secondary index from a string.
The types of secondary indices allowed are:
uint64_t secondary_1;
uint128_t secondary_2;
checksum256 ...
1
vote
Accepted
How to get/query creation time of account in mongodb?? (inserted data with monogo_db_plugin)
Currently there is no such data in the mongodb directly.
You could use the RPC API, which is POST v1/chain/get_account with account_name field. Like this:
curl --request POST --url https://api....
1
vote
Which BP's offer snapshots for v1.4? --mongodb-wipe?
The EOS Node Tools website provides daily block archives. It works with eosio v1.4.1.
https://eosnode.tools/blocks
As far as I tested, --mongodb-wipe is not required but recommended. If you did not ...
1
vote
eosforumdapp mongodb : unsupported_abi_version_exception: ABI has an unsupported version
Perhaps when you were synching, at that moment in time, eosforumrcpp had an invalid ABI version?
Right now, it seems like their versioning is fine:
$ cleos get abi eosforumrcpp
{ ...
1
vote
Is LevelDB used in EOS?
The way to store block data in EOS is different from that of Ethereum.
Ethereum uses Merkle Patricia Trie (MPT) to store all states (balances), and keeps its root hash in block header. When a change ...
1
vote
Is LevelDB used in EOS?
As the writing of this, EOS supports MongoDB out of the box. Storage is pluggable, so one could add LevelDB if needed.
Why doesn't EOS use other database?
Will EOS Storage support only mongoDB ...
1
vote
Where is the mongodb stored?
One hack is that use --dbpath armament,its the path provided externally.
1
vote
Accepted
Where is the mongodb stored?
MongoDB is typically stored at /data/db. If it's not there, check out this question, this question, etc. for advice on finding the location.
edit: The database was found at /var/lib/mongodb as ...
1
vote
EOS smart contracts and big data
Storing data on blockchain is extremely expensive. It is also problem for network (data transfer) and other users (storage).
Instead you should consider storing data in one of dedicated solutions, ...
1
vote
How do you stream data from an input file when writing contracts on EOS?
This is decentralized application so generally you can't push/pull outside data to/from it.
That's also the reason why Oracle service is there to responsible for it.
1
vote
Are Tables/DBs stored in RAM and held by multiple block producers?
multi-index table data is constructed by actions (like insert row, update row value) and BP has all action logs. Also, all current state is stored in RAM.
probably.
Yes, by replaying action logs. ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
database × 36smart-contract × 8
nodeos × 6
data-storage × 6
chainbase × 5
eosio-code × 4
ram × 3
multi-index × 3
action × 3
table × 3
storage × 3
block-producer × 2
plugin × 2
cleos × 1
eosio.cdt × 1
testnet × 1
blockchains × 1
blocks × 1
abi × 1
private-blockchain × 1
node × 1
history × 1
ubuntu × 1
full-node × 1
string × 1