Getting Started started with Solidity smart contract programming

This section covers everything from setting up your development environment to writing and interacting with smart contracts on the Ethereum blockchain.



Deploying and interacting with your first smart contract

Logging data from your smart contracts using events

Inheritance and object oriented programming in Solidity

Restricting access and organizing your code with Modifiers

Handling errors and edge cases with require

Interacting with other smart contracts in Solidity (depoying and calling functions)


How to setup Web3JS in your JavaScript project to access Ethereum Blockchain

Using web3js to listen the blockchain for new blocks, transactions and events.

Dealing with uint256 numbers from Solidity in Javascript with BigNumbers.js

Making transactions and getting smart contract states in JS

Waiting for a transaction to be mined on the blockchain in JavaScript

How to decode event logs generated by Ethereum transactions

How to compile and deploy your smart contracts with JS


How to use the Safe Math library to avoid overflows


Fork the Ethereum mainnet to test your dapps with live protocols and other smart contracts for free using Ganache

Debugging transactions step by step with Tenderly

Data Analytics

How to use Dune Analytics to analysis Ethereum onchain data using SQL queries