The Blockchain concept was initially introduced in 2008 to serve as the public transaction ledger of the Bitcoin cryptocurrency.
Cryptocurrencies have exploded in popularity in the last few years, but their underlying Blockchain technology has also been applied to various other use cases, such as smart contracts, supply chain management, energy trading, etc.
As its popularity has increased, so too has the demand for developers with Blockchain experience & knowledge. As a result, we have seen increased interest in assessments that test this knowledge.
We are excited to announce today that we have added support for our first Blockchain language - Solidity.
Solidity is an object-oriented, high-level language for implementing smart contracts and is designed to target the Ethereum Virtual Machine (EVM).
Our first assessments involve implementing smart contracts in Solidity that run on the EVM and are tested on a local EVM, using the Truffle framework.
Truffle is the de facto standard for automated smart contract testing and is used by Ethereum developers globally.
To show how our Solidity assessments work, we have created the following (highly contrived!) example which involves the candidate writing a smart contract that calculates the nth element in the Fibonacci sequence.
We provide a
Fibonacci.sol file containing a
fib() method that the candidate is required to implement:
We also give a suite of unit tests that are automatically run against the candidate's solution:
These unit tests can be run locally using Truffle and Node.js. The assessment contains a
package.json file, which declares the required dependencies and the scripts to run the tests:
Once the tests are run, Truffle provides a detailed breakdown of the results:
A link to the GitHub repo for this example assessment can be found here.
We also allow you to create your own custom Solidity assessments. You can follow our user guide which describes how to set these up.
Thanks for reading!