Getting Started with Solidity Smart Contract Programming
This section covers everything from setting up your development environment to writing and interacting with.
What you will learn
- Where getting started with solidity smart contract programming fits into an Ethereum application.
- Which assumptions should be tested before a mainnet deployment.
- What to read next when this concept is working.
This section covers everything from setting up your development environment to writing and interacting with smart contracts on the Ethereum blockchain.
Solidity
The same engineering term can describe different protocol rules. Use the Bitcoin and Ethereum consensus and execution comparison.
Deploying and interacting with your first smart contract
Logging data from your smart contracts using events
Ethereum calls and Bitcoin spends use different state models. Compare them with the Bitcoin transaction inputs and outputs guide.
Inheritance and object oriented programming in Solidity
Restricting access and organizing your code with Modifiers
To compare network design without reducing it to tickers, use the side-by-side crypto network and control comparison.
Handling errors and edge cases with require
Interacting with other smart contracts in Solidity (depoying and calling functions)
JavaScript
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
Security
How to use the Safe Math library to avoid overflows
Testing
Debugging transactions step by step with Tenderly
Data Analytics
How to use Dune Analytics to analysis Ethereum onchain data using SQL queries
Turn the example into production evidence
A working demo is the beginning of verification, not the end. Add tests for failure paths, inspect every permission, and record the chain, contract address, compiler, and dependency versions used for the deployment.
Check behavior
Test expected inputs, boundary values, reverts, events, and calls made to other contracts.
Check operations
Plan key storage, monitoring, pause or upgrade authority, and a response if an assumption stops being true.