3.3 以太坊核心詞彙詳解
- 以太坊虛擬機器:以太坊中智慧合約的執行環境。
- 賬戶
- 外部賬戶
- 被公鑰-私鑰對控制
- 合約賬戶
- 合約賬戶被儲存在賬戶中的程式碼控制
- 外部賬戶與合約賬戶區別
- 內部結構
- 外部賬戶
- 訊息:類似於比特幣上的交易
- 與比特幣交易的不同點
- 以太坊的訊息可以由外部實體或者合約建立,比特幣的交易只能外部建立
- 以太坊的訊息可以包含資料
- 如果以太坊訊息的接收者是合約賬戶,可以選擇進行迴應,這意味著以太坊訊息包含著函式概念
- 交易
- 以太坊的”交易“指儲存從外部賬戶發出的訊息的簽名資料包。
- 交易包含訊息的接收者,用於確認傳送者的簽名、以太坊賬戶餘額、要傳送的資料和被稱為STARTGAS和GASPRICE的兩個數值。
- 交易吞吐量(TPS):
- 交易吞吐量指的是以太坊每秒能夠處理的交易數量
- 計算方式:TPS=(gasLimit/gas)/出塊速度,目前以太坊上gasLimit大小為6771518。在以太坊上消耗gas最少的是傳送支付交易,支付交易消耗21000wei,而如果以以太坊出塊的平均速度為15s(可能已經不止15s)算,可以算出TPS=6771518/21000/15=21(當前的TPS已經小於這個值)
- Gas
- Gas就是我們說的燃料、以太坊每一筆交易都會被收取一定數量的燃料gas,設定Gas的目的是限制交易執行所需的工作量,同時為交易的執行支付費用。
- 無論執行到什麼位置,一旦Gas被耗盡就會觸發一個out-of-gas的異常。同時,當前呼叫所做的所有狀態修改都將被回滾
- GasPrice其實就是一個Gas單位的價格,以gwei為單位表示
- gasPrice是由發起交易的人規定的
- gasLimit代表了這個交易在執行過程中最多被允許消耗的gas數量
- 計算方法:付款金額=Gas數量*GasPrice
- 注意 在交易完成後 如果實際支付的gas小於gasLimit,剩餘的gas會以ether的方式返回給交易發起者 實際交易費=gasUsed*gasPrice;
- 如果在執行交易的過程中,實際消耗的gas大於gasLimit,會返回餘額不足的錯誤,同時,已消耗的gas不會退還
- 儲存、主存和棧
- 儲存:每個賬戶都有一塊永久的記憶體區域,被稱為儲存。形式為key-value,key和value的長度均為256位
- 主存:合約執行每次訊息呼叫時都有一塊新的被清除過的主存。
- 棧:EVM是基於棧的虛擬機器。棧最大有1024個元素,每個元素有256位。
- 指令集
- EVM的指令集被刻意儲存在最小規模,以儘可能的避免可能導致的共識問題的錯誤。所有指令集都是針對256位這個基本的資料單位進行操作,具備常用的算術、位、邏輯和比較操作,也可以進行條件跳轉和無條件跳轉
- 訊息呼叫
- 合約可以通過訊息呼叫的方式來呼叫其它合約,或者傳送以太幣到非合約賬戶。
- 程式碼呼叫和庫
- 以太坊中存在一種特殊型別的訊息呼叫,被稱為callcode。它和訊息呼叫幾乎完全一樣,只是載入來自目標地址的程式碼,將會在發起呼叫合約上下文中執行。這意味著一個合約可以在執行時從另外一個地址動態載入程式碼
- 庫-Library:為了實現合約程式碼的複用
- 以太坊的狀態轉換
- 狀態轉換是指在一個交易發生時,以太坊從一個正確的狀態轉換到下一個正確的狀態的過程
- 以太坊客戶端
- 主要包含geth,mist,wallet
-
學院Go語言視訊主頁
https://edu.csdn.net/lecturer/1928 -
掃碼獲取海量視訊及原始碼 QQ群:721929980
相關文章
- 3.4 以太坊架構詳解架構
- 5.1 以太坊原始碼詳解1原始碼
- 5.2 以太坊原始碼詳解2原始碼
- 5.3 以太坊原始碼詳解3原始碼
- 5.4 以太坊原始碼詳解4原始碼
- 5.5 以太坊原始碼詳解5原始碼
- 5.6 以太坊原始碼詳解6原始碼
- 5.7 以太坊原始碼詳解7原始碼
- 以太坊官方 Token 程式碼詳解
- 區塊鏈2.0以太坊編輯器atom配置詳解區塊鏈
- 英語六級核心詞彙
- 以太坊連載(一):以太坊是什麼?
- 以太坊是什麼?以太坊交易可靠嗎?
- Geth命令用法-引數詳解 and 以太坊原始碼檔案目錄原始碼
- 區塊鏈2.0以太坊配置solidity編譯器sublime詳解區塊鏈Solid編譯
- 第六課 以太坊客戶端Geth命令用法-引數詳解客戶端
- 以太坊原始碼分析(37)eth以太坊協議分析原始碼協議
- 以太坊原始碼分析(18)以太坊交易執行分析原始碼
- 以太坊學習筆記————1、以太坊是什麼?筆記
- 以太坊學習筆記————7、以太坊賬戶管理筆記
- 以太坊簡介
- 以太坊原始碼分析(52)以太坊fast sync演算法原始碼AST演算法
- 什麼是以太幣——零基礎瞭解以太坊(三)
- 以太坊原始碼分析(54)以太坊隨機數生成方式原始碼隨機
- 以太坊原始碼分析(3)以太坊交易手續費明細原始碼
- 【以太坊剖析】以太坊虛擬機器(EVM)之基本定義虛擬機
- 區塊鏈2.0以太坊錢包編譯詳解+連線私有鏈+修改區塊鏈編譯
- 簡介 以太坊 2.0 核心 之 共識機制的改變
- 以太坊概率微支付
- 以太坊Geth安裝
- 6.2 以太坊應用
- 什麼是以太坊
- [譯] 什麼是以太坊?以太坊初學者手把手教程
- 以太坊學習筆記————4、以太坊發展歷史回顧筆記
- 以太坊學習筆記————5、以太坊社群、基金會、貢獻者筆記
- 以太坊原始碼解讀 BlockChain的初始化原始碼Blockchain
- 以太坊擴充套件解決方案Nahmii簡介套件
- 以太坊連載(六):以太坊客戶端的選擇與安裝客戶端