Truffle U Resources
AboutIntroductoryResourcesServicesGlossaryDevelopmentEthereumNotable EIPsNotable Token StandardsSecurityCryptography
Articles
Contributing

Glossary

Development

  • ABI (Application Binary Interface) A JSON description of the external interface for a Contract Instance, or for the description of common interface of all instances of a Contract Type.
  • EIP (Ethereum Improvement Proposal) A document proposed to the Ethereum community, describing a proposed new standard for the Ethereum platform.
  • ERC (Ethereum Request for Comments) Generally refers to an original proposal (which may be incomplete) that is eventually turned into an EIP. In common usage, it also refers to application level standards and conventions like token standards (e.g. ERC20) and URI schemes (e.g. ERC67).
  • EOA (Externally Owned Account) An account that is controlled by a private key (as opposed to smart contract code).
  • Gas An independent unit of account for pricing smart contract computations and transactions on the Ethereum network.
  • Remix A browser-based IDE for Solidity and Vyper with integrated debugging, testing, and a virtual blockchain for convenient smart contract development.
  • Web3js A Javascript library that acts as a developer's portal to the Ethereum network; used for creating/deploying contracts, accessing/interacting with existing contracts, and more.

Ethereum

  • Address 0x-prefixed hexadecimal string representing an account’s public identifier
  • ENS (Ethereum Name Service) A smart contract based registration and resolution system for mapping Ethereum addresses to human-readable names.
  • EVM (Ethereum Virtual Machine) The runtime environment for Ethereum smart contracts.
  • Layer 2 (L2) Scaling mechanisms that are not part of the core protocol, but utilize the root chain for security.
  • Solidity The most fully supported programming language (of a handful of options) that can be readily compiled into bytecode for the EVM.
  • UTXO (Unspent Transaction Output) The outputs of a blockchain transaction that are available as inputs for another transaction.
  • Vyper A Python-based smart contract language for the EVM.

Notable EIPs

  • EIP-712 Implements a better way for a user to sign data to pass to a contract. Instead of just signing a message hash, a user can see a human-readable message so they know exactly what they're attaching their signature to.
  • EIP-1559 Implements a new protocol for the fee market. A BASEFEE value is introduced and increases if network usage is high and decreases when usage is low.

Notable Token Standards

  • ERC-20 An early token standard for interchangeable tokens that allows for tokens that are minted, burned, and transferable.
  • ERC-721 This is the standard interface for non-fungible tokens (assets that are not directly interchangeable the way ERC-20 tokens are).
  • ERC-777 This standard defines a new way to interact with a fungible token contract while remaining backward compatible with ERC20.

Security

  • Mythril Security analysis tool for EVM bytecode. Supports smart contracts built for Ethereum, Quorum, Vechain, Roostock, Tron and other EVM-compatible blockchains.
  • SmartCheck Automatically checks Smart Contracts for vulnerabilities and bad practices – it highlights them in the code and gives a detailed explanation of the problem.

Cryptography

  • Keccak256 Cryptographic hash function used widely at a contract-level as well as internally (e.g. hashes for block headers). Slightly different algorithm from SHA-3 standard.