banner
[面包]MrTwoC

[面包]MrTwoC

你好,欢迎来到这个基于区块链的个人博客 名字:面包 / MrTwoc 爱好:跑步(5/10KM)、咖啡、游戏(MMORPG、FPS、Minecraft、Warframe) 兴趣方向:Rust、区块链、网络安全、量子信息(量子计算)、游戏设计与开发
bilibili
steam
email
github

Solidity.1.以太坊核心概念

https://decert.me/tutorial/solidity/intro

Solidity 是專為以太坊平台設計的編程語言

1 帳戶#

  1. 外部用戶帳戶 (EOA)
  2. 合約帳戶

特點:
地址格式相同,20 位元組的 16 進位數字
交易只能由外部帳戶發起,所有 Gas (手續費) 由外部帳戶支付

2 帳戶狀態#

四個基本組成部分:
nonce:
分兩種 1 - 一個帳戶的交易數量,2 - 工作量證明 nonce (用於計算滿足工作量證明的隨機數)
EOA:從此帳戶發送的交易序號
合約帳戶:此帳戶創建的合約序號
balance:
擁有的以太幣餘額數量,單位:Wei, 1ether = 10^18 wei,以太幣交易時,balance 會改變。EOA 和合約帳戶都有 balance;合約帳戶使用代碼管理所擁有的資金,外部用戶帳戶則是使用私鑰簽名來花費資金;合約帳戶存儲了代碼,外部用戶帳戶則沒有。
storageRoot:
Merkle Patricia 樹的根節點雜湊值。Merkle 樹會將此帳戶存儲內容的雜湊值進行編碼,默認是空值。
codehash:
帳戶代碼的 hash 值。
合約帳戶:合約代碼被 hash 計算後的結果作為 hashcode 保存
EOA:空字串 hash 值
可視化示例來總結上述內容:
image

3 以太幣#

以太坊的貨幣,類似於法幣中不同的面額,用戶最常用的是 ether,開發者常用的是 wei,wei 是以太幣中的最小單位,還有兩個單位是 finney 和 szabo,wei 的衍生單位:Kwei、Mwei、Gwei

1 ether = 10^3 finney(即1000 finney)
1 ether = 10^6 szabo
1 ether = 10^18 wei
1 Gwei = 10^9 wei
1 Mwei = 10^6 wei

4 以太坊虛擬機 (EVM)#

一種虛擬計算機,用於執行智能合約與 Dapp,EVM 是以太坊核心組件之一,負責處理和執行智能合約代碼。
工作原理與傳統虛擬機類似,它專門用於區塊鏈和智能合約。他是以太坊上的自動化合同。
執行智能合約:將智能合約位元組碼加載到內存,按照預定規則執行。
gas:防止惡意代碼無限循環消耗資源。

5 以太坊客戶端#

是連接到以太坊網絡的節點程式,EVM 是客戶端的重要組成,運行節點程式,即可成為以太坊網絡節點之一。
兩個層次
執行層:
負責處理交易執行,包括智能合約的部署執行
共識層:
負責處理共識演算法,即出塊和交易
執行層客戶端:
Geth(官方 - Go 語言實現)、Nethermind(C# 實現)和 Erigon(Go 語言實現)。這些客戶端用於處理以太坊網絡上的智能合約操作和交易執行。
共識層客戶端:
Prysm(Go 語言實現)和 Lighthouse(Rust 實現)。這些客戶端用於參與共識過程,確保區塊鏈網絡的一致性和安全性。

6 錢包#

管理帳戶的重要工具,可以使用錢包創建帳戶、交易簽名,連接到區塊鏈節點來執行交易。錢包本身並不存儲用戶的資產,而是管理訪問這些資產的密鑰和簽名功能。
常見的移動端錢包 ImToken、Trust Wallet
網頁錢包:metamask、Phantom (Solana)

7 Gas 機制#

防止惡意行為而引入,衡量執行操作需要的工作量的單位。相當於手續費

8 以太坊交易#

三種類型

  1. 普通交易
  2. 創建合約
  3. 調用合約函數
{
  "to": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85",
  "value": 0.0005,
  "data": "0x" // 可以包含消息或留言
}
這是一個非常簡單的普通交易,它將一定數量的以太幣轉移到指定地址,
如果願意,還可以在交易中包含一條消息。
{
  "to": "0x687422eEA2cB73B5d3e242bA5456b782919AFc85", // 合約地址
  "value": 0.0,
  "data": "0x06661abd"
}
調用智能合約函數的信息封裝在DATA字段中,將此交易信息發送到要調
用的智能合約的地址。假設我們要調用前面的count()函數,傳遞的
count()函數的選擇器。
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。