Hot answers tagged

15

Storing big files in a database on chain is far more expensive as its held in ram. B1 could implement a file storage system in EOS.IO but integrating IPFS is much easier. The only stuff you want or need on chain is metadata that will be managed by a contract. That is how it will be done with EOS.IO Storage


6

Blockchains are not meant for storing large chunks of data like files. In EOS, because you have to stake tokens to pay for the storage you are using, storing data in the blockchain itself would be economically infeasible. To address this, EOS is planning to incorporate an API that will allow Smart Contracts (and dApps?) to store data in on IPFS network run ...


6

I don't know when the storage will be available, but it will be IPFS. So to keep a similar and also decentralized structure, I'm already integrating IPFS in my dApps and storing only the file hash in the chain. That's also what Everipedia is doing. I believe doing this way when EOS BP's starting to serve IPFS it will be a hassle free transition for dApps.


4

From the documentation, only CPU limitations are specified: Transaction Limitations Every transaction must execute in 30ms or less. If a transaction contains several actions, and the sum of these actions is greater than 30ms, the entire transaction will fail. In situations without concurrency requirements for their actions this can be ...


3

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 type string which doesn't say anything about the type of storage used. Please follow the Data Persistence , Address-Book-Tutorial. It will also teach you the ...


3

I might be wrong but, as far as I know, mongo is just a plugin that you initialize with your node. It listens for all the activities of the chain like block productions, actions, transactions, accounts creation and simply stores it on a mongodb. This plugin serves as an example and encourage us to build other ones that fits our necessities. So, yes, based ...


3

Devs will be able to store their files (png, mp3, mp4 ect...) with Block Producers hardware through EOS Storage which offers a decentralized storing service by locking eos tokens. More information here : https://steemit.com/eos/@eosio/eos-io-storage-white-paper-now-available


2

There is no relationship with EOS and IPFS, they're completely separate. The EOS Storage project proposes using the IPFS protocol for storing files. The idea is that you stake tokens for the nodes to store the file, should you unstake the file they'll likely stop hosting the file in order to make room for other files they'd get paid to host. However, ...


2

You only need to cover the RAM per account the contract is deployed on via the setcode action. Several users can use that contract without additional RAM usage however, if someone deploys the same contract to multiple accounts we don't de-duplicate them in RAM. P.S.: On the Dawn 4.0 that I'm running accounts seem to have infinite RAM, so I have no idea ...


2

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 download the chain if they want, so hosting large data is not encouraged. Consequently, the costs for doing this are equally prohibitive. If you want to store ...


2

Everipedia's data is stored using IPFS which is a distributed free IP based file system. Anyone can participate in IPFS and help strengthen the network in general. Read more about the Everipedia's team explanation about it in this interview or on their official whitepaper.


2

Yes, you can upload the document on IPFS; and then store the IPFS multihash as a key of your table: Something like this should be useful: // @abi table struct ipfsid { uint64_t key; //the multihash account_name uploader; // the account of the document uploading on ipfs uint64_t primary_key() const { return key; } //multihash is the key };


1

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, centralized (AWS, Google...) or decentralized (IPFS, Sia...) and store on blockchain only information where to find data and signature to guarantee it's ...


1

You definitely should not use RAM for binary data unless it's literally very few bytes. The RAM cost will be prohibitive. And just imagine it in scale: the current available amount of RAM can store only a few HD videos. It is my understanding that, whenever you need binary data, you use some third-party way to store the data itself, and just store and URL ...


1

Heifner (Contributor) replied on Github here: abi-serializer-max-time-ms = 5000 needs to be larger or you will have problems with action data not being serialized and remaining in hex. What you store depends on what kind of queries you want to support. - # Enables storing blocks in mongodb. (eosio::mongo_db_plugin) mongodb-store-blocks = 1 # Enables ...


1

EOS uses a BFT consensus algorithm, so, by default, all nodes (producing and non-producing) validate and process all transactions and blocks to compute the state at each timestep. However, in the whitepaper, there is a mention of an optional "Partial Evaluation of Blockchain State": Partial Evaluation of Blockchain State Scaling blockchain ...


1

To clarify, any action data in a transaction will go into log storage, the smart contract determines if it will also put it in RAM or not. The decision to store information RAM is typically determined by what type of information is. Information like.. Calculated numbers, e.g. Your EOS balance. Number of votes for something Likes/Dislikes count. ...


1

Apparently this was an issue and it's resolved in master: https://github.com/EOSIO/eos/issues/2787


1

Right now, BlockOne's suggested solution for this is using Demux: Demux solves these problems by off-loading storage and queries to your preferred database (MongoDB, Postgres etc). As blockchain events happen, your chosen database is updated by Updater functions, which deterministically process an array of Action objects. The database can then be ...


1

In the current implementation of EOSIO software, the account balances can not be made confidential. Each user's balance is stored in a table alongside their username. In addition to this, any transaction performed by a user would show the from and to fields, so that you could follow who sent tokens to another account. Workaround A semi-workaround to this ...


Only top voted, non community-wiki answers of a minimum length are eligible