It's history time with Attic Lab

in #eos6 years ago

Maintaining Full History API nodes has become a burdensome and expensive task for any BP who has committed to doing so. However, their disappearance would seriously complicate things for dApp developers as this is the only way to efficiently query blockchain data. Attic Lab have been following the situation closely while also working on our own solution that would be scalable, efficient and cheap. So today, after 2 months of work we are happy to present our open-source Full EOS History API running on Elasticsearch cluster.

1.png

When designing a full history solution, our main goal was to keep the cost of building and maintaining the cluster at a reasonable level. Therefore, we preferred using several items of commodity level hardware over a single item of a top-notch gear. Applying such an approach gives us more scalability and higher speed of parallel processing.

Setup details
Out current setup is: 7 servers, ~10Tb of disk space, 448Gb of RAM, 3 shards per rollover index, and replicas=1.
We have built and synchronized the elasticsearch cluster and developed API in Go for interaction with it. The API supports native requests as well. You can find more details here:
https://github.com/atticlab/eos-es-historyapi/edit/master/README.md
Our cluster is powered by the Elasticsearch plugin by EOSLaoMao. https://github.com/EOSLaoMao/elasticsearch_plugin
Although GO API is in the beta-testing stage now, we are already working with real requests. During the benchmark testing the cluster was able to seamlessly handle 2500 req/sec at the peak of activity.

Screenshot from 2019-02-13 13-26-06.png

Further plans
As of now there are two main areas that we plan to work on:
First of all, we are focusing on increasing the processing speed by means of optimizing traffic and caching requests. Secondly, a lot of work is done on expanding the cluster itself and increasing its fault-tolerance.
Our Full History API endpoint: https://eosbp.atticlab.net/v1/chain/get_info
Besides, we have already started development of our own solution, Cassandra plugin for Full History node storage and native API. More information on the progress will be released a little later, so stay tuned!
We would like to thank the guys from EosLaoMao https://eoslaomao.com/ and Pete from BlockMatrix https://blockmatrix.network/ for their support and suggestions. This achievement wouldn't have been possible without them.
And of course, any help and contributions from the community are greatly appreciated. We encourage everyone to test our solution and leave feedback.

Follow us!
Twitter: https://twitter.com/atticlab_it
Reddit: https://www.reddit.com/user/atticlab_it
Website: http://atticlab.net/eos/
Facebook: https://www.facebook.com/atticlab/
Steemit: https://steemit.com/eos/@attic-lab
Medium: https://medium.com/eosatticlab
Golos: https://golos.io/@atticlab
Telegram Chat: https://t.me/atticlabeosb

Sort:  

Congratulations @attic-lab! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Congratulations @attic-lab! You received a personal award!

Thank you for the witness votes you made to support your Steem community and for keeping the Steem blockchain decentralized

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Do not miss the last post from @steemitboard:

Use your witness votes and get the Community Badge
Vote for @Steemitboard as a witness to get one more award and increased upvotes!