Decreasing costs of putting data on blockchain
This project is a result of research into how to put articles on the blockchain on the cheap while still allowing to later get an index of all articles and retrieve them.
Three methods are compared.
- Brute force way of putting article inside the smart-contract array
- Utilizing Ethereum events, which are cheaper to store than the smart-contract Storage
- Gzipping the content and appending it into the function call itself
Set-up the environment
yarn install
Then you need to run the simulated blockchain in another window.
yarn truffle develop
Afterwards you can put the Example smart contract on the blockchain, write articles to it and then retrieve their contents back again
yarn truffle migrate
# Write articles to blockchain
yarn truffle exec scripts/show-costs.js
# Read articles from blockchain
yarn truffle exec scripts/get-articles.js
4697672 gas for storing in array
532119 gas for storing in event
153292 gas for storing in transaction
That's a 97% reduction of costs! In other words, we save $1.18 per each article.