One of the metrics that we care about most at Nodesmith is the reliability of our service. We are constantly trying to improve reliability and ensure that Nodesmith is able to handle incoming requests consistently. Networks like Aion will become the backbone of the decentralized web over the next decade — accessing these networks will be on the critical path for a large number of applications.

To help with this internally, we recently built a small tool to help us “smoke” test our service (and we open sourced it!). A smoke, or sanity test, is intended to give you peace of mind that your system is running as intended and help you catch bugs early.

Every hour, our smoke test tool runs every single supported JSON RPC request against both our mainnet and testnet nodes, and reports the results to us via a Slack bot!

The smoke test tool has the following features:

Executes JSON RPC requests in a Mocha test suite using the web3 JavaScript library. This tests functionality like deploying a smart contract, sending transactions, and reading network information.

Executes every hour automatically by using the Heroku Scheduler Addon.

Sends a message to a Slack channel when the test suite passes— or which tests failed if any.

Sends a message in Slack if the the balance of the account used to pay for transactions is low.

Check it out on GitHub! We’ve found this tool to be quite helpful to us so we wanted to share it with the community. It’s fairly simplistic in this first version, but it’s already allowed us to catch some bugs early on, and has given us peace of mind that the service is running smoothly.