An Ethereum wallet, also known as a node, is a computer program that stores your private key, or "secret password," and allows you access over your coins. It also gives you a public Ethereum address, which others will use to send you Ether, Ethereum's currency. In terms of similarity, Bitcoin and Ethereum are nearly identical. Many non-technical people consider Ether to be a currency in the same way as Bitcoin is. They buy Ether with the expectation of seeing its price increase. They use Ether to pay for things and more.
Ether, on the other hand, was not created for the same reason as Bitcoin. Ethereum is a network of independent computers that function as a single supercomputer. Contracts, or smart contracts, are pieces of code that are executed by this supercomputer. Interacting with contracts requires more sophisticated communication than sending X sum of money from Y to Z, as Bitcoin does. The platform we use for this communication is Ethereum wallets. To properly understand Ethereum wallets, we must first understand how Ethereum is built.
There are two kinds of accounts in Ethereum, the most basic of which is known as an EOA (Externally Owned Account). EOAs have an Ethereum address that is managed by a private key, similar to how a Bitcoin wallet works. A person can open as many EOAs as he or she desires. EOAs have the power to build and activate contracts in addition to sending and receiving Ether.
The contract account is the second type of account. This is a list of accounts that have a code attached to them. Any contract on the Ethereum network has its own account, complete with its own Ethereum address. A contract account, unlike an External Account, does not have a private key that governs it. A series of predefined triggers that govern the account is included in the contract's code. In other terms, the contract's operating conditions are hard-coded from the beginning. Contract accounts, including EOAs, can accept Ether and, if activated, return Ether or even generate new contract accounts. It's crucial to remember that once a contract has been lost, it can't be changed, therefore the author must be thorough while writing the requirements for each trigger.
Messages enable EOAs to communicate with each other and with contracts. These communications are encoded inside transactions that are funded with Ether. So, while Bitcoin transfers are solely to transfer money, Ethereum transactions are used for several purposes. To begin, transactions are used to transfer value. This is the most basic type of transaction, which allows you to send Ether between accounts. Transactions can also be used to build a new smart contract. Sending a transaction with the contract's code creates a new contract, and eventually, transactions may be used to trigger a contract. When you transfer money to an ICO's contract account address, for example, you're basically triggering the contract, which then sends you tokens.
Some Ethereum wallets allow you to only send or receive Ether between accounts. You may also deploy or activate a contract using other wallets. Smart contract wallets are the name for these types of wallets. Clients and nodes are terms used in the same way that Bitcoin wallets are. Full nodes and light nodes are the two types of clients.
A full node is a computer that has stored the entire history of the Ethereum network since its creation. Running a full node has often had drawbacks, such as higher memory and device use. It does, however, help you to check Ethereum blockchain transactions without having to take anyone's word for it. Full nodes are essential to the Ethereum network because they are the network's muscles, assisting in the autonomous execution of contracts. Each node that receives a new block of transactions executes the code contained within them.
Some applications can assist you in running an Ethereum full node. The first is Geth, which stands for "Go Ethereum." The Ethereum Foundation is a non-profit organization dedicated to the development of Ethereum's code and community. Geth is the most commonly used and popular application. Mist is the second. Mist was developed to enable non-technical users to communicate with Geth, which is a platform designed for developers. So, when you're theoretically using Geth, Mist gives you a simple way to communicate with it. Finally, Parity is a London-based private corporation whose aim is to help organizations and companies take advantage of blockchain technologies. They created tools to run Ethereum full nodes, and they are the second most common full node.
A light node, like Bitcoin's SPV wallets, is software that instead of keeping a complete copy of the blockchain, relies on third-party full nodes to get information when it's required. This ensures they take up less room and can be used on computers with limited storage space, such as mobile phones. Ether has attracted the attention of everyday users due to its role as the second-largest cryptocurrency by market cap in the crypto market. Since light nodes are easy to mount and run, these users will most likely use them as their wallets.
Ether can be divided into one quintillion units, while Bitcoin may be divided into a hundred million units for the smallest unit called a Satoshi. That's a 1 followed by 18 zeros, with the smallest one being Wei. Wei is named after cryptography activist Wei Dai, who is known for advocating for the wider use of powerful cryptography and privacy-oriented technology. Currently, transaction fees are measured in GWei. One Ether equals one quintillion Wei, and one billion Wei equals one GWei.
To send a transaction in Bitcoin, we must include a miner's fee, which incentivizes miners to include it in a block. We must keep miners rewarded for their contributions of computing power to the Ethereum supercomputer in Ethereum. The Ethereum network is driven by Gas. Each line of code that the network would run will consume a certain amount of Gas. When you run out of Gas, the code will stop working. You must decide how much Gas you will use ahead of time, and you will not be able to refill along the way. If the contract runs out of Gas due to inefficiency or a miscalculation, it will simply come to a halt in the middle of the lane.
Smart contract programmers are encouraged to keep their code lean and optimized by this system. Since Gas is expensive, the Gas you pay goes to the miners, who spend computer resources to keep the Ethereum ledger up to date. This is similar to what happens with Bitcoin. You can't own a Gas, it’s just a unit for calculating how much effort is required to execute a line of code. Consider it the Ether equivalent to hours of work charged by Gas.
The tricky part is about to begin. How much do you pay for Gas? The price of a single Gas unit fluctuates constantly, depending on how crowded the network is. The standard Gas price is about 20 Gwei while the network is crowded. If the Ethereum network is overcrowded and you want your contract to be executed ahead of others, you can increase the Gas price to allow miners to include your contract in the next block. This is similar to how transaction costs on the Bitcoin network escalate as the network becomes more crowded. When sending an Ether transaction, you must also indicate a Gas limit, which is the maximum amount of Gas you can use for running your lines of code.
This was done to prevent your funds from being depleted if your code contains a defect that runs inefficiently or indefinitely. There is no way to refill so you pay the entire price for the Gas limit upfront. Certain things can go wrong as a result of this. If you overpaid and your deal ends up consuming less Gas, for example, you'll get refunded for the Gas you didn't need. If an operation runs out of Gas in the middle of it, it will come to a stop and no Ether will be returned to you. This will happen if your contract, for example, requires you to perform a recurring function that consumes Gas before it runs out. If you don't have enough Gas units for your code to work, no miner can accept your transaction because it won't start with enough Gas. Finally, if you want a large number of units of Gas but pay a low price per unit, the transaction will take a long time to complete because miners would prioritize higher-paid transactions.
To summarize, Ethereum payments are the amount of Gas used multiplied by the amount of Gas you were able to pay. To put it another way, the more you're able to pay per Gas unit, the more miners will compete to execute your code, and your transaction will be added to the blockchain faster.