Chris Veselinov, co-founder and CTO of blockchain development company LimeChain, describes his approach to helping businesses understand the benefits of blockchain and building solutions as multifaceted. Earlier this year, LimeChain received an EOS VC grant for the EOSLIME tool, an open-source JavaScript-based development, testing, and deployment framework for EOSIO.

LimeChain helps drive adoption by developing blockchain-based solutions for customers such as Procter & Gamble and Raiffeisen Bank. 

For the LimeChain team, building solutions might mean customizing an existing module of EOSIO or deploying an entire system. “We build private networks for customers using the EOSIO base software,” says Chris.

Private EOSIO blockchains such as those designed and deployed by LimeChain feature greater flexibility with permissions, which is often a requirement in many use cases. This makes it feasible to integrate a blockchain-based infrastructure for businesses, follow the guidelines of regulatory and compliance agencies, or adhere to certain security practices.

A JavaScript Framework for EOSIO and More

EOSLIME was developed after LimeChain saw an opportunity to create a dynamic tool that supports current versions of EOSIO for developers who want to run tests in a JavaScript environment. “We started developing and quickly noticed that such a tool didn’t exist.”

EOSLIME is built to get smart contracts to achieve 100% mandatory unit test coverage and thus reduce the toll on auditors. To create EOSLIME, LimeChain developers began by building a JavaScript library to support writing test and deployment scripts and went on to add more functionality.

“Our idea is to continuously add new features. Every day, every week, we are adding something new, and the plan is to keep on supporting the project based on what the community desires. With the support of Block.one, we can continue developing new features and supporting the product.”

Setting EOSLIME Apart

To avoid breaking tests, it is necessary for each test case and test suite to run against a clean smart contract. According to Chris, testing can get complicated due to the way EOSIO smart contracts work. “Basically you are updating the contract, not uploading a new one.” 

To work around this issue, EOSLIME lets you deploy a new smart contract with a randomly generated name for each test run. “As a developer, you don’t need to worry about this because you are using the EOSLIME library. It’s something that separates our testing scenarios from different tools.”

Today, in addition to unit testing features, EOSLIME lets developers deploy and instantiate smart contracts, giving them full power over contract actions. It also has utilities to generate a random name for an account based on a private key or a public/private key pair.

EOSLIME also supports the following Command Line Interface Application commands: 

  • InitSet up a ready-to-use file structure
  • Compile: Compile smart contracts
  • Deploy: Write deployment scripts and use EOSLIME to execute them on a blockchain
  • Test: Write JavaScript unit tests and run them with EOSLIME.

Another EOSLIME feature developers can expect in the future is the shape command, which creates a template project for developers. Behind the scenes, shape generates a website and an EOSIO smart contract alongside the EOSLIME test suite. Chris says the shape feature gives new developers a chance to learn how EOSIO smart contracts function by querying tables. “By just modifying a few lines of code, developers have a view of the full flow – from the user interaction with the website to the actual smart contract transaction.”

Working Together and Overcoming Challenges

LimeChain’s team of experts currently works on multiple projects on EOSIO where EOSLIME is used. The team embraces a collaborative approach towards problem solving. “Regardless of where we’re all located, it’s really easy to brainstorm with a colleague on the team and together find the solution. As a result, projects are well-supported. At the same time, we constantly update and improve EOSLIME to support our customers’ projects.”

It’s Chris’s belief that EOSLIME is the right JavaScript-based development, testing, and deployment framework for developers to use on EOSIO.

Contributors to the EOSLIME Tool

LimeChain Co-Founder and CTO, Christian Veselinov

Christian Veselinov

LimeChain Co-Founder and CTO Chris spent more than eight years working in software development. He also has experience with enterprise systems, scaling startups and leading development teams. He is actively working on the architecture side of many of LimeChain’s projects. For the last year and a half, he has been engaged with the EOSIO space and supporting the development of EOSLIME.

EOSLIME Blockchain Developer, Lyubomir Kiprov

Lyubomir Kiprov

EOSLIME’s main Blockchain Developer and Contributor Lyubomir has been building in the blockchain space since 2018. He is experienced with EOSIO, Substrate, and Ethereum development. He has supported EOSLIME since its launch and is releasing new features often.

Building on EOSIO?

Our #BuiltOnEOSIO series showcases some of the amazing projects leveraging EOSIO technology to build a more secure and connected world. If you would like to suggest a project for us to feature please send an email to spotlight@block.one for our Developer Relations team to review.

For more information on how EOS VC supports the EOSIO ecosystem through strategic investments and venture capital partnership funds, visit vc.eos.io.

– Block.one Developer Relations team

Important Note: All material is provided subject to this important notice, and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources and forward-looking statements. By accessing any of our material, you accept and agree to the terms of the notice.

#BuiltOnEOSIO EOS VC EOSIO Community Java Private Blockchain Reference Smart Contracts