Hello Hydra: the EOSIO test environment that just works
At Klevoya our goal is to help EOSIO developers ship bug free, secure software. When we started talking to potential users, a common theme we heard was that developers spent too much time on verifying their smart contracts. This led us to explore an idea – what if testing just worked? What if instead of fiddling around with nodeos installs, running your own blockchain and multiple test scripts with cleos commands you could just open your IDE and start running tests. What if developers who want to test their smart contracts didn't have to also work as block producer administrators. What if developers could just write and run their test cases without setting up a blockchain on every computer they wanted to work on. What if test teams could easily integrate tests into a CI environment. What if test teams could rapidly spin up many hundreds of test variants.
Existing test environments solve some of these problems by wrapping your local EOSIO node's chain_api in some easier to use format. However you are still restricted to all the limitations and disadvantages of running a local blockchain; making sure it is installed locally, correctly set up, and running whenever you run your tests.
Introducing Hydra
Today, we're changing this. Hydra is a simple and fast EOSIO smart contract test and execution environment that allows you quickly create and execute test cases without needing to maintain and run a local blockchain. The approach we have taken with Hydra is fundamentally different: Whilst it has similar APIs to existing testing tools, it eliminates all of the drawbacks of running a local blockchain by running a modified EOSIO node on our back-end which is specifically designed for testing. Hydra also comes with many convenience features (e.g. CLI to bootstrap tests and loading of smart contract tables from JSON files) that allow you to very easily write tests for your smart contracts.
How to get Hydra
You can get started using Hydra here. Try it, we think you'll like it.