General Knowledge - PolymathNetwork/polymath-apps GitHub Wiki

A list of general information about Ethereum and development for the Ethereum Network

Ethereum Concepts

Contracts

Autonomous agents that run pieces of code when they receive a message/transaction

Accounts

Have the following attributes:

  • Nonce: Counter used to make sure each transaction is only processed once
  • Balance: Account's current ether balance
  • Contract code: (If present)
  • Storage: (Starts empty)

Externally-owned accounts: (User accounts)

  • Has no code
  • One can only send messages from this type of accounts by creating and signing a transactions

Contract-owned accounts: (Controlled by code)

  • Its code activates any time it receives a message / transaction
  • They incur a cost whenever you use them
  • Can read/write to internal storage
  • Can send messages

Transaction

Signed data package that stores a message to be sent from externally-owned Account

Main attributes:

  • Recipient
  • Signature identifying the sender
  • Amount of Ether to transfer from sender to recipient (if require)

Gas

Cost of executing a transaction, proportional to resources consumed by the transaction

Gas Price

How much 1 Gas is worth in ETH

Transaction Fee

This means that a transaction that costs 21000 Gas where the Gas Price is 5 Gwei will cost 0.000105 ETH

Message

Virtual objects that exist only in Ethereum's execution environment. They are sent from one contract to another

Main attributes:

  • Sender
  • Recipient
  • Amount of ether to transfer alongside the message
  • Data (optional)

Faucet

A Smart Contract that transfers tokens to an address for free. Faucets exist in test networks and are usually required for testing purposes