Select Page

Using `console.log` In Solidity

by | Dec 23, 2022

If you’re a developer, you’re very used to printing out values to the console. Fortunately, there is a way to use console.log in Solidity.

“console.log” is a commonly used debugging tool in programming languages such as JavaScript, and it can also be used in Solidity, the programming language for writing smart contracts on the Ethereum blockchain. How? Hardhat.

Hardhat is a development environment for Ethereum that allows developers to easily compile, test, and deploy their Solidity contracts. In this blog post, we will explore how to use “console.log” with Hardhat in Solidity to help with debugging and testing your smart contracts.

Using “console.log” with Hardhat

To use “console.log” with Hardhat, you will first need to install and set up Hardhat on your computer. You can find detailed instructions on how to do this in the Hardhat documentation.

Once you have Hardhat set up, you can use “console.log” in your Solidity contracts as described above. When you deploy and test your contracts using Hardhat, any messages printed to the console using “console.log” will be displayed in the console window of your development environment.

to see what is happening within your contract as it is being executed. To use “console.log”, simply include the statement “console.log(message)” in your contract, where “message” is the string or variable you want to print to the console.

For example, consider the following simple Solidity contract:

pragma solidity ^0.6.6;

contract SimpleContract {
  uint public value;

  function setValue(uint _value) public {
    value = _value;
    console.log("Value set to " + value);

  function getValue() public view returns (uint) {
    return value;

In this contract, the “setValue” function sets the value of the “value” variable and then prints a message to the console using “console.log”. The message will include the new value of the “value” variable.

For example, to test the SimpleContract contract from the previous example using Hardhat, you could use the following code in your test file:

import { ethers } from 'hardhat';
import { SimpleContract } from '../path/to/SimpleContract.sol';

describe('SimpleContract', () => {
  let contract: SimpleContract;

  beforeEach(async () => {
    contract = await;

  it('should set the value correctly', async () => {
    await contract.setValue(42);
    const value = await contract.getValue();
    assert.equal(value, 42);

When you run this test using Hardhat, the message “Value set to 42” will be printed to the console window, indicating that the “setValue” function was successfully called and the “value” variable was set to the correct value.

“console.log” is a useful tool for debugging and testing Solidity contracts, and it can be easily used in conjunction with Hardhat to help you develop and deploy your contracts on the Ethereum blockchain. Whether you are a beginner or an experienced Solidity developer, understanding how to use “console.log” with Hardhat can greatly improve your workflow and help you build high-quality smart contracts.

Looking for more Solidity content?

Best Smart Contract Security Audit Teams

Best Smart Contract Security Audit Teams

Smart contract technology is revolutionizing the way we conduct business and transfer value online. One of the most important aspects of using smart contracts is ensuring their security and reliability. There are many smart contract security audit teams, but which one...

The Best ERC-20 Wallet For Developers

The Best ERC-20 Wallet For Developers

Ethereum is a decentralized platform that enables the creation of smart contracts and decentralized applications (dApps). The Ethereum platform uses its own cryptocurrency, Ether (ETH), to facilitate transactions and execute smart contracts. One of the most popular...

How To Perform A Web3 Security Risk Assessment

How To Perform A Web3 Security Risk Assessment

Performing a web3 security risk assessment is an essential step when running a Web3 product. Many companies fail to perform the proper security steps. Often, they get hacked and lose customer data and funds. In order to prevent your project from getting hacked, we...

Our Recommended Solidity Security Audit Process

Our Recommended Solidity Security Audit Process

A Solidity security audit is a vital step in deploying smart contracts. If you choose not to have your contracts audited, you are putting your community and reputation at risk. However, many audit firms do not perform the proper due diligence on your smart contracts....

What Is The Ethereum Virtual Machine?

What Is The Ethereum Virtual Machine?

The Ethereum Virtual Machine (EVM) is the runtime environment for smart contracts on the Ethereum blockchain. It is a software-based virtual machine that can execute code in the form of smart contracts on the Ethereum network. The EVM is designed to be...

Complete Guide To Learn Solidity

Complete Guide To Learn Solidity

Ready to learn Solidity? Whether you are a smart contract developer or simply want to add better understanding of the programming language to your toolbelt, this guide provides everything that you need to get started. Ready to learn Solidity? What is Solidity?...


Submit a Comment

Your email address will not be published. Required fields are marked *