arrow_back
Back

Ethereum basics: accounts, gas, transactions, and networks

Andrew Dorokhov Andrew Dorokhov schedule 2 min read
menu_book Table of Contents

P2P network

Ethereum works in a P2P network. This network that can be accessed using TCP port 30303. It works with a protocol called ÐΞVp2p

State machine

Ethereum state transitions are processed by the Ethereum Virtual Machine (EVM), a stack-based virtual machine that executes bytecode (machine-language instructions). EVM programs, called “smart contracts”, are written in high-level languages (e.g., Solidity) and compiled to bytecode for execution on the EVM.

Data structures

Ethereum’s state is stored locally on each node as a database (usually Google’s LevelDB), which contains the transactions and system state in a serialized hashed data structure called a Merkle Patricia Tree.

Clients

Ethereum has several interoperable implementations of the client software, the most prominent of which are open_in_new Go-Ethereum (Geth) and Parity.

web3.js

web3.js is a JS library, which bridges JavaScript applications that run in your browser with the Ethereum blockchain. The web3.js library also includes an interface to a P2P storage network called Swarm and a P2P messaging service called Whisper. With these three components included in a JavaScript library running in your web browser, developers have a full application development suite that allows them to build web3 DApps.

Wallets

Explorers

Two types of accounts

  1. EOA: externally owned accounts are those that have a private key; having the private key means control over access to funds or contracts.
  2. Contract account: a contract account has smart contract code, which a simple EOA can’t have. A contract account does not have a private key. It is owned (and controlled) by the logic of its smart contract code.

Info

Useful resources

Resource Description
open_in_new https://ethereum.org Official website of Ethereum.
code

Need Help with Development?

Happy to help — reach out via the contacts or go straight to my Upwork profile.

work View Upwork Profile arrow_forward