I am a university student studying Ethereum in South Korea. It is not a regular course but a personal study due to interest!

I would like to make a conceptual diagram of 'Smart Factory' using private ethereum blockchain.

Smart Factory uses several sensors: thermometer, hygrometer, accelerometer and so on.

I am currently curious about three things.

Numerous values measured by a sensor, for example an accelerometer measure 100 data per second for 10 minutes.

It is 60,000 data, and the data volume will be about 20mb (assumption).

Is it possible to store all of this data on all nodes of the ethereum blockchain at this time? Or can I just read the sensor value and do a simple command (raise the temperature in indoor, stop the machine and so on)? This is because the data is stored like an excel file, not as simple as the transaction data.

More simply, is it possible to store 'file data' in a block such as an excel file in an ethereum blockchain?

There is no need for 'ether trading' in the private ethereum blockchain that I envision. 'gas' prevents malicious users from falling into an infinite loop, but what does 'Ether' do in the case of me?

I am a complete starter. Ultimately, I'd like to implement a smart factory using few sensors(it's for PPT presentations, not for real), but knowledge has too many limitations.

Thank you so much for your answer to my question.

(I use this site for the first time. I posted the same question on stackoverflow. Is this wrong?)

enter image description here

1 Answer 1


As long as this is your private blockchain, you may do whatever you want on it, by modifying node software. Though, even with standard Ethereum software, you may store arbitrary data on blockchain, and there are several ways to do this.

Ethereum node stores two large volumes of data: blocks data and blockchain state. Blocks data is basically a collection of blocks ever mined. Each block contains header filled with some metadata and list of transactions with their receipts. While it is possible to store some user data in block header, the size of such data would be very limited, so transactions and transaction receipts are more promising candidates. Each transaction may contain data payload of arbitrary size, and each transaction receipt may contain log records of arbitrary size.

Blockchain state is basically current state of all Ethereum accounts. For each account it includes four parts: ether balance, nonce, bytecode, and storage. Two last parts are filled only for accounts that are smart contracts. While balance and nonce are fixed size, bytecode and storage may be arbitrary large (bytecode size was limited at 24576 bytes in Spurious Dragon hard fork but for your private change you may disable this limit).

So basically, you have four options where to store your data:

  1. Transaction data
  2. Transaction receipts
  3. Contract bytecode
  4. Contract storage

The first options is the simplest to implement, because it does not require you to deploy any smart contracts. You just need to send Ethereum transaction with your data from any of your addresses to any address.


Your Answer

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

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