test Solidity smart contracts