Ethereum client (wallet)

in eth •  4 years ago 

Ethereum client (wallet)
The Ethereum client can actually be understood as a developer tool, which provides functions such as account management, mining, transfer, deployment and execution of smart contracts, and so on.

EVM is provided by the Ethereum client

Geth is a typical client used when developing Ethereum, based on the Go language. Geth provides an interactive command console through which various functions (APIs) of Ethereum are included. We will introduce the use of Geth later in an article, here we will first have a concept.

The Geth console is similar to the console in the Chrome browser developer tools, but it runs in the terminal.
Compared to Geth, Mist is an Ethereum client with a graphical user interface.

How to deploy
The deployment of a smart contract refers to publishing the contract bytecode on the blockchain and using a specific address to mark the contract. This address is called the contract account.

There are two types of accounts in Ethereum:

External account
This type of account is controlled by a private key (controlled by a person), and there is no associated code.
Contract account
Such accounts are controlled by their contract codes and have codes associated with them.
Unlike Bitcoin's design using UTXO, Ethereum uses a simpler account concept.
The two types of accounts are the same for EVM.

The difference and relationship between an external account and a contract account is as follows: an external account can send a message to another external account or contract account by creating and signing the transaction with its own private key.
The transfer of messages between two external accounts is a process of value transfer. But the message from the external account to the contract account will activate the code of the contract account, allowing it to perform various actions (such as transferring tokens, writing to internal storage, mining a new token, performing some calculations, creating a new contract, etc. Wait).
Only when the external account issues an instruction, the contract account will perform the corresponding operation.

Contract deployment is to deploy the compiled contract bytecode to the Ethereum blockchain in the form of sending transactions through an external account (the actual deployment is successful only after the actual miners produce the block).

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!