1. 程式人生 > >以太坊的賬戶和基本單位

以太坊的賬戶和基本單位

我們在命令列輸入 eth.accounts 可以看到當前該區塊鏈中共有幾個賬號,以及每個賬號的公鑰地址。

在以太坊系統中,狀態是由被稱為“賬戶”(每個賬戶由一個20位元組的地址)的物件和在兩個賬戶之間轉移價值和資訊的狀態轉換構成的。
以太坊的賬戶包含四個部分:
隨機數,用於確定每筆交易只能被處理一次的計數器
賬戶目前的以太幣餘額
賬戶的合約程式碼,如果有的話
賬戶的儲存(預設為空)
簡單地說,每一個以太坊賬戶都有一對公鑰和私鑰組成。
公鑰我們可以理解為就是賬戶地址,任何其他賬戶都可以訪問該地址
私鑰可以理解為一段加密過的密碼,這一對公鑰和私鑰共同組成一個唯一標示的以太坊賬戶。
例如在上節我們建立的第一個以太坊賬戶 eth.accounts[0] 中,地址 0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f 就是公鑰,而對密碼加密而成的,就是私鑰。
增加賬戶


我們可以輸入命令 personal.newAccount(“123”) 來新建一個賬戶,(注意123可以修改為任何別的密碼)

當以太坊的私鏈在挖礦時候,所挖到的以太幣都會存入第一個以太坊賬戶中,即eth.accounts[0] 中,而eth.accounts[1]預設是不會有以太幣的。這個時候我們可以用下面的命令來檢視eth.accounts[0] 中的以太幣餘額。

eth.getBalance("0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f")

如何在兩個賬戶之間進行以太幣轉換
前面說過每個賬戶的公鑰(地址)是一切以太坊賬戶操作的核心,但地址字串太長,我們用acc0/acc1 分別代表accounts[0]和[1],另外設定要轉移0.01個以太幣

> acc0 = eth.accounts[0]
"0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f"
> acc1 = eth.accounts[1]
"0xb8b12a801b610176935a15321f77b48dd5c0c448"
> amount = web3.toWei(0.01)
"10000000000000000"

這個時候我們可以使用eth.sendTransaction來將0.01個以太幣從acc0轉移到acc1中。

> eth.sendTransaction({from: acc0, to: acc1, value: amount})

以太坊的一個保護機制,每隔一段時間賬戶就會自動鎖定,這個時候任何以太幣在賬戶之間的轉換都會被拒絕,除非把該賬戶解鎖.
這個時候我們就需要執行 personal.unlockAccount(acc0) 並輸入密碼來解鎖acc0才可。

> personal.unlockAccount(acc0)
Unlock account 0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f
Passphrase: 
true
>

這個時候我們重新執行命令eth.sendTransaction({from: acc0, to: acc1, value: amount}), 結果如下:

> eth.sendTransaction({from: acc0, to: acc1, value: amount})
"0xeea74dd5ff3f1287614d52ebb674edb93e8c5e51e4296835044d3d858d3d9f10"
> eth.getBalance(acc1)
10000000000000000
>

我們可以看到這個時候acc1有了數值10000000000000000, 而不再是之前的0了。但我們明明要給0.01ether幣的,為何數值會如此大呢? 其實是對的,我們只要輸入命令web3.fromWei(10000000000000000,”ether”) 就可以知道了。

> web3.fromWei(10000000000000000,"ether")
"0.01"

Ether幣的基本單位
Ether幣最小的單位是Wei,也是命令列預設的單位, 然後每1000個進一個單位,依次是

kwei (1000 Wei)
mwei (1000 KWei)
gwei (1000 mwei)
szabo (1000 gwei)
finney (1000 szabo)
ether (1000 finney)

簡單地說就是就是1 以太幣 = 1000000000000000000 Wei (這就是上一站章中為何我們轉移0.01個以太幣,結果卻顯示很長的原因)
如何進行ether 和 Wei之間的轉換

Ether–> Wei:web3.toWei
> web3.toWei(1)
"1000000000000000000"
> web3.toWei(1.3423423)
"1342342300000000000"
> web3.toWei(0.00034)
"340000000000000"
>
Wei –> Ether: web3.fromWei
> web3.fromWei(10000000000000000)
"0.01"
> web3.fromWei(1000000000000000000)
"1"
>

相關推薦

賬戶基本單位

我們在命令列輸入 eth.accounts 可以看到當前該區塊鏈中共有幾個賬號,以及每個賬號的公鑰地址。 在以太坊系統中,狀態是由被稱為“賬戶”(每個賬戶由一個20位元組的地址)的物件和在兩個賬戶之間轉移價值和資訊的狀態轉換構成的。 以太坊的賬戶包含四個部分

區塊交易存儲

完成 limit 體系 轉換成 tran rate sco not rds 區塊存儲 區塊(Block)是以太坊的核心數據結構之一,Block包含Header和Body兩部分。區塊的存儲是由leveldb完成的,leveldb的數據是以鍵值對存儲的。 // BlockCha

區塊鏈入門教程eth的賬戶基本單位

重新 目前 進行 密碼 依次 action 單位 新建 兩個 我們在命令行輸入 eth.accounts 可以看到當前該區塊鏈中共有幾個賬號,以及每個賬號的公鑰地址。 在eth系統中,狀態是由被稱為“賬戶”(每個賬戶由一個20字節的地址)的對象和在兩個賬戶之間轉移價值和信息

02.架構組成

01.以太坊整體架構 以太坊是一個區塊鏈應用平臺。 分為三層: 底層服務 核心層 頂層應用 02.區塊 區塊鏈是比特幣使用的底層技術架構。 他本身是一串連續的資料區塊,區塊之間的連線指標是區塊頭雜湊指標,他們是使用密碼學雜湊演算法生成的。 區塊本

比特幣UTXO模型及賬戶模型介紹

如果你曾上過BlockExplorer觀察自己的比特幣收入狀況,你是否曾經被搞的一頭霧水呢?這正是因為比特幣所使用的交易模型並非我們直覺上以賬戶為基礎的,而是一種叫做UTXO的模型 。在我的前一篇文章:《深入瞭解NEX:Neon Exchange》中,也提到了比

p2p輕節點light

https://github.com/fjl  以太坊p2p核心開發者Felix Lange https://github.com/fjl/p2p-drafts   p2p設計草稿 discv4.md      Nod

區塊鏈開發(十一)賬戶管理

賬戶 賬戶在以太坊中發揮著中心作用。共有兩種賬戶型別:外部賬戶(EOAs)和合約賬戶。我們這裡重點講一下外部賬戶,以下會簡稱為賬戶。合約賬戶簡稱為合約, 在合約章節具體討論。把外部賬戶和合約賬戶都歸入到帳戶的一般概念是合理的,因為這些實體都是所謂的狀態物件。這些實體都有狀態

賬戶、交易與GAS概念基礎

想知道更多區塊鏈技術問題,請百度【鏈客區塊鏈技術問答社群】進入。 今天給大家分享一下以太坊中的賬戶、交易、GAS等一些基礎的小概念,大家可以去看看,畢竟以太坊中都是能接觸到的。 好了,今天就先隨便講上一些,希望對大家有幫助。 什麼是賬戶 以太坊賬戶與我們所知的賬戶概念有一定相似之處,

eip150eip158

以太坊網路將在區塊號到達2463000時進行一次硬分叉,具體分叉時間將會在中國時間2016年10月18日晚8-9點。可以在 https://fork.codetract.io/ 看到本次分叉的倒計時網頁。 作為一個使用者,我需要做些什麼? 下載最新版本的以太坊客戶端:

賬戶私鑰、公鑰、地址的生成

偽隨機 private there tar 生成 pubkey 流程 比特幣 私鑰 對比上一篇比特幣賬戶私鑰、公鑰、地址的生成,現在再總結對比一下以太坊中地址生成的不同之處。 私鑰、公鑰和地址是如何生成的? 以太坊地址生成的流程也是:私鑰 -> 公鑰 ->

Metamask不能訪問賬戶?隱私模式!

××× 綜合 資源 玩轉 計算 如何使用 個數字 機制 支持 當你使用Metamask測試以太坊DApp時,如果出現莫名其妙的問題,檢查一下web3.eth.accounts是否可以獲取到賬戶,如果不能獲取的話,那麽最大的可能是你使用了新版的Metamask,並且默認啟用了

賬戶交易

5、賬戶 以太坊中有兩種賬戶1、外部擁有賬戶(EOA),一般指自然人擁有的賬戶。2、合約賬戶(CA),為智慧合約分配的賬戶。 看一下賬戶的原始碼定義: EOA特徵codeHash為空storageRoot為空通過私鑰控制發起交易(轉移以太幣或觸發合約程式碼) CA特徵不能發起交易,可以被觸

中的賬戶、交易、Gas區塊Gas Limit

原文地址:https://blog.csdn.net/wo541075754/article/details/77505299   什麼是賬戶? 外部擁有賬戶 vs 合約賬戶 以太坊中有兩種賬戶:  (1)外部擁有賬戶(EOA)  (2)合約賬戶 外

比特幣、、瑞波幣、萬融鏈區塊鏈

能夠 rip 完全 proc 獨立 兼容 數量 chain 橋梁 關於比特幣8 年,比特幣創造一個神話——價格上漲近 300 萬倍,國內價格一度突破 2 萬元。在這場神話中,不同的人看到了不同的故事。投機者看到了賺錢的機會,技術極客看到了改變未來的技術,傳統金融機構則或許看

開發DApp實戰教程——用區塊鏈、星際文件系統(IPFS)、Node.jsMongoDB來構建電商平臺

IPFS 區塊鏈電商 區塊鏈開發 以太坊開發 以太坊dapp 以太坊教程 智能合約 以太坊 星際文件系統 區塊鏈 第一節 簡介 歡迎和我們一起來用以太坊開發構建一個去中心化電商DApp!我們將用區塊鏈、星際文件系統(IPFS)、Node.js和Mong

DApp 開發入門實戰! 用Node.jstruffle框架搭建——區塊鏈投票系統!

以太坊 區塊鏈 Node.js truffle DApp 第一節 概述 面向初學者,內容涵蓋以太坊開發相關的基本概念,並將手把手地教大家如何構建一個 基於以太坊的完整去中心化應用 —— 區塊鏈投票系統。 通過學習,你將掌握: 以太坊區塊鏈的基本知識 開發和部署以太坊合約所需的軟件

如何判斷一個地址是合約還是普通賬戶

以太坊 地址 合約 普通賬戶 區別 如果你希望馬上開始學習以太坊DApp開發,可以訪問匯智網提供的出色的在線互動教程: 以太坊DApp實戰入門教程 以太坊去中心化電商應用開發實戰 在以太坊中,不管是普通賬戶,還是合約賬戶,地址看起來都是類似的一串16進制碼流。那麽,應該如何區分一個給

區塊鏈學習(2)--基本概念

區塊鏈學習 以太坊基本概念1、以太幣單位換算。以太坊的單位,沿襲了科學界的傳統,用做過傑出貢獻的數學、密碼學專家的名字命名。以太坊的最小單位是 Wei。 Kwei(Babbage)= 10 的 3 次方 Wei Mwei(Lovelace)= 10 的 6 次方 Wei Gwei(Shannon)= 1

web3j開發智能合約快速入門(特別適合javaandroid開發者)

latest struct name admin 套接字 信息 mes add decimal web3j簡介 web3j是一個輕量級、高度模塊化、響應式、類型安全的Java和Android類庫提供豐富API,用於處理以太坊智能合約及與以太坊網絡上的客戶端(節點)進行集成。

java開發過濾器(filter)智能合約事件(event)

java web3j filter event 以太坊 ethereum 區塊鏈 智能合約 過濾器 事件 web3j過濾器提供以太坊網絡發生的某些事件的通知,對java和安卓程序員來說很有用。在Ethereum以太坊中支持三類過濾器: