Simple Definitions
Defines blockchain, Ethereum, and smart contract concepts for newcomers to the Ethereum ecosystem.
What this file does
Defines blockchain, Ethereum, and smart contract concepts for newcomers to the Ethereum ecosystem.
When to use it
- Onboarding developers new to Ethereum and smart contracts
- Writing documentation that assumes basic blockchain literacy
- Creating a glossary for a project's technical reference
Assumes this stack
Simple Definitions
Context
Blockchain
A blockchain is a globally shared, transactional database. Everyone can read entries in the database just by participating in the network.
If you want to change something in the database, you have to create a transaction which has to be accepted by all others.
Transactions
It implies that the change you want to make is either not done at all or completely applied. While your transaction is applied to the database, no other transaction can alter it. A transaction is always cryptographically signed by the sender (creator).
Double-spend Attack
What happens if two transactions exist in the network that both want to empty an account?
An order of the transactions will be selected for you, the transactions will be bundled into what is called a block and then they will be executed and distributed among all participating nodes.
If two transactions contradict each other, the one that ends up being second will be rejected and not become part of the block.
These blocks form a linear sequence in time and that is where the word “blockchain” derives from.
Smart Contract
Computer programs used to secure, execute and enforce interactions between parties, proposed by Nick Szabo in 1996.
ICO
Crowdsale
DAO
A decentralized autonomous organization (DAO), sometimes labeled a decentralized autonomous corporation (DAC), is an organization that is run through rules encoded as computer programs called smart contracts.[1]:229 A DAO's financial transaction record and program rules are maintained on a blockchain.[1]:229[2][3] There are several examples of this business model. The precise legal status of this type of business organization is unclear.[4]
Ethereum
Ethereum
Ethereum is an open-source, public, blockchain-based distributed computing platform for smart contracts scripting, which facilitates online contractual agreements. It provides a decentralized Turing-complete virtual machine, the Ethereum Virtual Machine.
Ethereum Virtual Machine (EVM)
EVM is the runtime environment for smart contracts in Ethereum. It is not only sandboxed but actually completely isolated, which means that code running inside the EVM has no access to network, filesystem or other processes. Smart contracts even have limited access to other smart contracts.
Ether
It is the value token of Ethereum. It is listed under the code ETH and traded on cryptocurrency exchanges.
Gas
Every single operation that is executed inside the EVM is actually simultaneously executed by every node in the network. Each of these operations have a cost measured in gas, and each gas unit consumed by a transaction must be paid for in Ether. Gas/Ether price which changes dynamically, and it's deducted from the Ethereum account sending the transaction. Transactions also have a gas limit parameter that is an upper bound on how much gas the transaction can consume.
Solidity
Solidity is a contract-oriented high-level language, with similar syntax to JavaScript. It is statically typed, supports inheritance, libraries and complex user-defined types.
Accounts
There are two kinds of accounts which share the same address space. External accounts that are controlled by public-private key pairs and contract accounts which are controlled by the code stored together with the account.
Transactions
A transaction is a message that is sent from one account to another account, which can be the same or the special zero-account. If the target account contains code, that code is executed and the payload is provided as input data. But, if the target account is the same or zero-account, the transaction creates a new contract. The payload must be EVM bytecode, which will be executed and it's output will be permanently stored as the code of the contract. This means that in order to create a contract, you do not send the actual code of the contract, but in fact code that returns that code.
Storage
Each account has a persistent memory area which is called storage, a key-value store that maps 256-bit words to 256-bit words. A contract can neither read nor write to any storage apart from its own.
Memory
The second memory area is called memory, of which a contract obtains a freshly cleared instance for each message call. Memory is linear and can be addressed at byte level, but reads are limited to a width of 256 bits, while writes can be either 8 bits or 256 bits wide.
Stack
The EVM is not a register machine but a stack machine, so all computations are performed on an area called the stack. It has a maximum size of 1024 elements and contains words of 256 bits.
Instruction Set
The instruction set of the EVM is kept minimal in order to avoid incorrect implementations which could cause consensus problems. All instructions operate on the basic data type, 256-bit words.
Technical
TestRPC
Node.js based Ethereum client for testing and development. It uses ethereumjs to simulate full client behavior and make developing Ethereum applications much faster. It creates 10 accounts by default, all of them unlocked.
ABI link
Is an interface or template of a contract which tells the contract user what methods are available in the contract. Whenever you have to interact with the contract, you will need the ABI.
Complementary
The DAO
The DAO was a digital DAO, meant to operate like a venture capital fund providing a new descentralized business model for organizing commercial and non-profit enterprises. The DAO was stateless, and not tied to any particular nation state. It was crowdfunded via a token sale in May 2016. It set the record for the largest crowdfunding campaign in history. In June 2016, users exploited a vulnerability in the DAO code to enable them to siphon off one third of The DAO's funds to a subsidiary account.
What's inside
5 sections with 15 definitions covering blockchain, Ethereum, technical tools, and complementary topics
Change this for your project
- Replace
TestRPCwithganache-clior your preferred test client - Update
The DAOexample with a more current incident if needed
Where it goes
Keep it in your repository where the agent or team that needs it will read it.
Worth borrowing
- Grouping definitions by context (Blockchain, Ethereum, Technical) for progressive learning
- Linking to external resources like the ABI wiki for deeper dives
Related Documents
Zig 0.16.0 Context Document for LLMs
Documents breaking changes from Zig 0.13/0.14 to 0.16.0, covering syntax, I/O, build system, and standard library updates.
绘制对比图片 KITTI
Documents the topic remapping and data flow needed to connect Fast-LIO2 frontend with SC-PGO backend for KITTI evaluation.
Beads Workflow Context
Guides when to use bd graph-based issue tracker versus TodoWrite for session vs multi-session work, with commands and workflows.
EPIC: usda-data-crush-stats
Maps a multi-year USDA grape crush data pipeline from raw downloads through bronze, silver, and gold layers to final CSV fact and dimension tables.