以太坊 賬戶交易過程分析

2022-09-06 00:33:14 字數 1860 閱讀 6108

ethereum的代幣稱之以太幣,

以太幣的最小單位是wei。

wei是乙個非常小的單位,1ether= 10^18 wei,和無限可分也差不了多少了。除了基本單位wei,為了使用方便還有其他的單位,他們的關係如下:

我們一般記住wei ,1 gwei=10^9wei,1 ether = 10^18wei即可。

建立乙個json格式的資料結構,指定目標位址和交易金額,以及需要的gas price/gas limit等資訊,構建一筆交易並生成transaction例項。

建立的交易json欄位定義:

根據這個json欄位可生成乙個transaction例項:

transaction 例項結構

txdata             // txdata欄位

hash             // 快取資料:交易hash

size              // 快取資料:交易的大小

其中txdata這個資料結構我們需要用來進行數字簽名:

r,s,v的坑位用來..?  interesting, look at next step !

使用賬戶私鑰對交易進行簽名。

當前代幣所有者先通過keccak-256演算法計算交易資料的hash值,然後結合賬戶的私鑰,通過ecdsa-secp256k1,也就是橢圓曲線數字簽名演算法生成簽名資料(rsv)並將這個簽名附加在transaction例項的末尾,製作成交易單。

我們發現,txdata只有接收方的位址(recipient)而沒有傳送方的位址,r,s,v的作用就是我們可以使用ecdsa推導獲得from:

經過以上交易例項的構造,我們就可以將例項提交到交易池txpool了。

簽名後的交易會先提交到本地scc鏈節點,本地節點先對交易簽名進行驗證後,把transaction例項的這筆交易加入到交易緩衝池txpool中。提交交易的目標是先把交易放入交易池的佇列queue中記錄在案,然後再從queue中選一部分放入pending中進行處理。如果發現txpool滿了,則依據price中的排序,剔除低油價的交易。

乙個或者多個節點對txpool中的交易的資訊驗證確認。

生成的交易需要被區塊鏈網路中的礦工節點打包到區塊,才能寫入到區塊鏈中。礦工會有乙個待處理的交易列表,其中的交易是按交易的gasprice進行排序的,交易的gasprice越高,處理的優先順序就越高。如果交易的gasprice過低,有可能一直得不到礦工的處理,從而被忽略。

礦工節點擊擇好要打包的交易之後,就開始了pow(proof of work)挖礦過程,最先發現新的區塊的礦工能夠將交易打包至區塊,並且獲取到相應的獎勵。節點會確認這個區塊所包含的交易是否有效,確認沒被重複花費且具有效數字簽章後,接受該區塊,此時區塊才正式接上區塊鏈,無法再竄改資料。

把交易資訊廣播給其他結點。

新的區塊已經產生,所有的節點都需要對區塊進行同步,你的交易會隨著區塊的同步被同步至所有節點上。所有節點一旦接受該區塊後,先前沒算完的區塊會失效,各節點會重新建立乙個區塊。每個區塊的出塊時間大約在10s,隨著全網算力的不斷變化,每個區塊的產生時間會隨算力增強而縮短,隨算力減弱而延長。

EMV交易過程分析

一 應用選擇 1.select 選擇pse 支付環境選擇 支付應用,卡片需要終端上送終端型別資料 pdol 二 初始化應用 2.gpo 讀取資料處理選項 終端上送終端型別 aip 應用加護特徵82 afl 應用檔案定位器 3.read record 迴圈讀取記錄,選擇pse關聯的檔案 讀取卡內應用資...

以太坊 賬戶

1 概述 位元幣 bitcoin 去中心化的貨幣 decentralized money 以太坊 etherem 去中心化的合約 decentralized contract 2 賬戶 可以很好的防禦double spending attack,因為每花費一筆錢,就扣除,更新餘額,不需要說明幣的 但...

以太坊交易教程

最近很多人都在問我挖出來的以太坊如何交易,我在這裡系統的給大家進行介紹。目前以太坊等虛擬貨幣有兩種交易方式,我具體的講述一下。場外交易就是個人與個人之間的交易,有一些 提供了這樣的交易方式,就跟 很類似,有一些人在 上掛出一些買的訂單或者賣的訂單,如果你對他的訂單滿意,你就可以跟他進行交易,值得注意...