1. 程式人生 > >區塊鏈學堂(4):以太坊基本概念及工具Geth、Browser-solidity、Mist

區塊鏈學堂(4):以太坊基本概念及工具Geth、Browser-solidity、Mist

在我研究以太坊技術的過程中,由於相關資料較少,因此走了較多的彎路。所以這裡我們不會先介紹Solidity的語法結構,而會在接下來的第一階段,從實戰出發,陸續向大家介紹Geth、Browser-solidity、Mist這三大工具,並在過程中不斷講解以太坊的基本概念。

通過這些工具的實際使用,以及對以太坊的基本概念不斷加深理解,對於第二階段學習solidity語言才能事半功倍(畢竟語言學習是很快的,尤其是一門類js語言來說)

以太坊基本概念

  • 以太坊,最簡單的說法就是:區塊鏈技術+智慧合約。
  • 以太坊和區塊鏈技術一樣,有Transaction,Block,賬戶與賬戶之間的關係需要用Transaction來執行,任何Transaction都需要有通過挖礦的block來產生。
  • 以太坊和原來的比特幣技術不同的是
    1. 實現了基於Solidity語言的智慧合約,並將智慧合約看做一種特殊的賬戶,從而使得在智慧合約上也可以實現具體的方法
    2. 實現了智慧合約能落地執行的EVM(以太坊虛擬機器),通過以太坊虛擬機器,從而將solidity這樣的類js的程式碼變成了可以在去區塊鏈上執行的加密程式碼。
    3. 不同於比特幣技術,在以太坊的transaction都需要用到gas,一份合約或者一次交易的gas是固定的(取決於程式碼大小和複雜度),而gas的價格則由以太坊中的oracle來決定。
    4. 以太坊同時還構建了較完整的、開源的生態系統,不僅有底層的geth、程式設計的solidity、合約線上瀏覽器browser-solidity、合約錢包Mist/wallet、以太坊的前端開發框架Truffle、各種各樣的開源DApp等等,方便大家快速上手,並開發出適合落地的區塊鏈應用。

Geth工具介紹

  • Geth工具是Go Ethereum, 是以太坊的官方客戶端(Go語言實現)
  • 通過Geth的一些基本命令,可以很方便的創建出一個以太坊的私有鏈條。
geth --datadir "./" init genesis.json
geth --datadir "./" --nodiscover console 2>>geth.log
  • Geth的命令列中包含了大多數的以太坊的命令,包括賬戶新建,賬戶之間的以太幣轉移,挖礦,獲取餘額,部署以太坊合約等。
  • 當然Geth的缺點也很明顯,Geth還是偏底層的內容,很多操作需要較多較複雜的輸入。因此我們將會介紹Browser-solidity

Browser-solidity

  • 這是以太坊智慧合約的瀏覽器編譯器,直接訪問網站即可,當然如果覺得速度太慢不穩定,也可以自己搭建。
  • Browser-solidity 因為執行在記憶體中,因此速度很快,對於一些簡單的功能,例如四則運算等,開發除錯變得非常容易。
  • Browser-solidity 中我們將會向大家重複了一些基本的概念,如transaction,gas,account等。
  • Browser-solidity的缺點也很明顯,那就是因為執行在記憶體中,所以對於涉及賬戶的合約開發、除錯&測試,相當的無力。因此接下來向大家介紹了Mist這個官方錢包工具

Mist

  • Mist是以太坊的官方錢包,他既可以連線生產網路、測試網路,更加可以通過設定引數的方式,連線我們自己的私有網路
  • Mist在通過geth.ipc檔案連線後,就和Geth所建立的網路完全契合在一起了,在Mist上部署的合約,實際上也就是部署在了geth網路上。geth網路上新建賬號,也可以在Mist這個工具上看到。
  • 通過Mist,我們向大家更詳細的講解了以太坊的核心概念,包括:區塊、Transaction、Gas、賬戶、合約、合約中的建構函式,變數以及方法。

通過Geth、Browser-solidity、Mist 三個工具的介紹,給我們提供了開發、除錯和測試我們智慧合約的很好的利器。

在接下來的文章中,我們將正式向大家分別介紹三大工具 Geth/Browser-solidity/Mist

下一章,首先介紹以太坊的基礎,Geth客戶端

QQ群:559649971 (區塊鏈學堂粉絲群)
個人微信:steven_k_colin

獲取最新區塊鏈諮詢,請關注《以太中文網》微信公眾號:以太中文網

相關推薦

區塊學堂4基本概念工具GethBrowser-solidityMist

在我研究以太坊技術的過程中,由於相關資料較少,因此走了較多的彎路。所以這裡我們不會先介紹Solidity的語法結構,而會在接下來的第一階段,從實戰出發,陸續向大家介紹Geth、Browser-solidity、Mist這三大工具,並在過程中不斷講解以太坊的基本概念。 通過這

區塊開發基於Mist 客戶端安裝

Mist 工具 The Mist browser is the tool of choice to browse and use Ðapps. Mist 是以太坊官方提供的瀏覽器,通過Mist我們可以很方便的連線上我們的私有網路,從而更好的開發、除錯、測試我們的智慧合

區塊開發搭建區塊瀏覽器

經過前面文章介紹,已經搭建以太坊的區塊鏈環境,但是沒有一個介面能檢視到區塊鏈的塊數等資訊,不是很直觀,本篇搭建以太坊區塊鏈瀏覽器。 下載區塊鏈瀏覽器程式碼 [email protected]:~/ethereum$ git clon

區塊開發基於開發常見問題

1.  使用geth啟動在私有鏈環境下,提示如下問題: Updated mining threads threads=0 INFO [08-17|21:31:30] Transaction pool price threshold updated price=1800

區塊開發基於的私有環境搭建介紹

Window上安裝ubuntu系統搭建私有鏈操作步驟 前提是 geth 已經安裝,可以參考上一節內容講解 Step 1: 建立目錄和genesis.json 在命令列模式建立一個目錄,例如geths ,這裡geths目錄命名任意。 命令:mkdir geths

區塊學堂14Browser-solidity 5–Token基於賬戶的代幣合約

基於賬戶地址的Token合約 pragma solidity 0.4.9; contract Token { mapping (address => uint) public balancesOf; function Token() { balanc

區塊學堂24Struct型別

Struct型別定義 例如定義一個struct型別的Person struct Person { string name; uint sexy; //0: 男性;1:女性; uint age; string mobile; }

連載社群基金會貢獻者介紹

社群 發起討論和問問題,請明智選擇論壇,並協助我們維護論壇環境整潔。 Reddit 以太坊reddit分論壇是最全面的以太坊論壇,這裡是大部分社群討論發生的地方和核心開發者最活躍的地方。如果你想對新聞、媒體、報道、公告、頭腦風暴進行一般的討論,選這個論壇就對了。一般

區塊學習4交易

圖靈 比特幣 生成 入棧 部分 pub png 組合 數字 上次大致講了比特幣的交易模式。接著講講比特幣的交易。比特幣的交易驗證引擎依賴於兩類腳本來驗證比特幣交易:一個鎖定腳本和一個解鎖腳本。 鎖定腳本鎖定了一個輸出值,同時它明確了今後花費這筆輸出的條件。鎖定腳本往往含有一

第13講 | 深入區塊技術PoS共識機制

運行 離線 難題 感謝 並且 發現 即使 pos系統 分享   上一篇我們講到了PoW共識機制,這一篇我們就來分享另外一種共識機制,PoS共識機制。   PoS全稱是Proof of Stake,中文翻譯為權益證明。這一篇我們會將PoS與PoW對比講解,幫助你加深理解。

區塊教程比特幣中的術語

cat 在一起 生成 過程 算法 一次 表結構 art 白皮書 如果你已經看過了上篇文章提到過的比特幣白皮書和《精通比特幣》,本篇文章基本可以忽略!本篇文章稍微介紹一下比特幣中出現頻率比較高的術語; 地址、私鑰、公鑰比特幣地址由一串字符和數字組成,以阿拉伯數字“1”開頭。

區塊上實現認證授權和計費功能6-選擇實現的合理性

5選擇技術的合理性   正如2.4和2.5節所討論的那樣,當前的AAA(在第2節中描述)具有各種漏洞和限制。 這些漏洞已經導致使用者資料劫持和違規、身份盜用和財務損失。 這些問題變得越來越普遍和頻繁。 這引發了當前AAA框架的安全問題。 終端使用者越來越關心他們的數字身

區塊筆記stateRootnonce值的作用Hyperledger Fabric和Composer區別聯盟和中心賬本區別

問題1:為什麼要有stateRoot? 方便節點間狀態的互相驗證,保證交易的每個區塊的一致性。 問題2:nonce值有什麼用? 1.區塊中的nonce值:和mixhash值一起用於挖礦; 2.交易中的nonce值:用來區別同一使用者發出的不同交易的標記。①確認交

呼叫系列4服務資訊上下文傳遞

  在之前的呼叫鏈系列文章中,我們已經對呼叫鏈進行了詳細介紹,相信大家已經對呼叫鏈技術有了基本的瞭解。 拓展閱讀: 呼叫鏈系列(1):解讀UAVStack中的貪吃蛇 呼叫鏈系列(2):輕呼叫鏈實現 呼叫鏈系列(3):如何從零開始捕獲body和header 其實,在呼叫鏈的繪製過程中,呼叫鏈上下文的傳

.Net Core建站4FTP發布項目連接服務器數據庫

release -h 繼續 body 網站名 targe 防火墻 down 生成 總感覺,今天(2018-1-14)下午寫不完這篇,雖然蠻簡單,只是點點點,,, 主要是記錄兩個, 1.連接服務器的數據庫 2.項目FTP發布到服務器 使用數據庫:SQL Serv

虛擬貨幣,區塊,交易所,活動送兩個,AAT幣400,空投2000萬新年糖果,進電報88AAT

區塊鏈 虛擬貨幣 活動 AAT 糖果 送兩個以太坊。 第一步註冊https://www.aacoin.com/m/#/activeLogin?invitedCode=OoUARUcGEb邀請15人有2個以太坊和約400aat第二步拿糖果88個全球第一個基於區塊鏈的收藏品在線拍賣社區,由真

區塊學堂》第三課智慧合約實戰附課程視訊

既區塊鏈學堂第二課:以太坊架構和工具之後,時隔一週的4月2日區塊鏈學堂推出了第三課:以太坊智慧合約實戰。 本期主要介紹了以太坊智慧合約程式設計基礎及實戰。 從這一期開始我們區塊鏈學堂會在鬥魚進行直播,方便不能到現場聽課的朋友們。 以下一些現場照片,課程視訊和PPT在最後。

第一行代碼1-創建自己的私有區塊

list 建立 ini 立即生效 file 初始 頭節點 壓縮包 線程 本文會利用以太坊客戶端(geth)搭建一個私有區塊鏈,並在這個私有區塊鏈上挖礦,通過本文的案例,讀者可以更深入理解區塊鏈、以太坊、挖礦的理論。 通過閱讀本文,您可以: 掌握搭建以太坊開發環境的方

第一行程式碼1-建立自己的私有區塊

本文會利用以太坊客戶端(geth)搭建一個私有區塊鏈,並在這個私有區塊鏈上挖礦,通過本文的案例,讀者可以更深入理解區塊鏈、以太坊、挖礦的理論。 通過閱讀本文,您可以: 掌握搭建以太坊開發環境的方法 掌握geth的基本使用方法 瞭解如何啟動JavaScript控制檯 掌握建立一個私有區塊鏈的步驟

軟工作業4用戶體驗分析—— “師路南通網站” 為例

學員 androi blog 賬號 移動 用戶登錄 自動 二維 資源獲取 用戶體驗分析:以 “師路南通網站” 為例 一、目標 (1)針對師路南通,開展UX分 PS:對比另外2個學習網站(學生安