ETH基礎概念與錢包使用
介紹
簡介
- 開發者社區大
- 相對成熟
- 應用入手方便學習
- JS結合緊密,方便開發人員上手
以太坊基礎
- 整體介紹
- 錢包、測驗網、簡單交易
- 客戶端,搭建私鏈
深入了解
- 賬戶和合約
- 以太坊交易、gas費和EVN
編程與應用
- solidity
- dapp實作簡單投票
- web3.js及簡單應用
深入理解合約作業流
- 合約作業流
- 自動化編譯和部署
- 自動化測驗
深入理解以太坊原理
- 以太坊的理念與實作
- 原始碼分析
DAPP實戰
- 基于token的投票
- 基于ipfs的去中心化ebay
- ICO Dapp
工具
MetaMask-瀏覽器插件錢包
remix-基于瀏覽器的在線編輯器
geth-go語言的eth客戶端
web3.js-以太坊js API庫
ganache-以太坊客戶端(測驗環境私鏈)
truffle-以太坊開發框架
環境
-
chrome
-
linux–go/git/node/npm
-
visualcode
-
vpn
ETH的組成部分
- P2P網路
該網路可在TCP埠30303上尋址,并運行一個協議:
- 交易
以太坊交易是網路資訊,包括發送者,接收者,值和資料的有效載荷
- 以太坊虛擬機(EVM)
以太坊狀態轉換由以太坊虛擬機處理,這是一個執行位元組碼(機器語言指令)的基于堆疊的虛擬機
啟動以太坊是在啟動虛擬機
- 資料庫(blockchain)一種資料存盤結構
以太坊的區塊鏈作為資料庫(Google的levelDB)本地存盤在每一個節點上,包含序列化后的交易和系統狀態
- 客戶端
以太坊有幾種可互操作的客戶端軟體實作:geth和parity
概念
-
賬戶:包含地址,余額和亂數,以及可選的存盤和代碼的物件
- 普通賬戶:存盤和代碼均為空
- 合約賬戶:包含存盤和代碼
-
地址
- 它可以在區塊鏈上接受或發送交易,是ECDSA公鑰的keccak散列的最右邊的160位
-
交易
- 以太幣和資訊
- 向合約發送的交易可以呼叫合約代碼,并以資訊資料為函式引數
- 向空用戶發送資訊可以自動生成以資訊為代碼塊的合約賬戶
-
gas
- 虛擬燃料
貨幣
挖礦前:眾籌發行7200萬以太幣,稱為礦前
產量穩定:被限制不超過7200萬的25%
挖礦產出:區塊獎勵(block reward),叔塊獎勵(uncle reward),叔塊參考獎勵(uncle referencing reward)
- 區塊獎勵:5->3區塊速度快
- 叔塊獎勵:晚確認的區塊,稱為叔塊,叔塊的哈希也被放入下一個區塊里,叔塊會獲得叔塊獎勵
- 叔塊參考獎勵:參考也會得到獎勵
目前這一套基于POW的獎勵機制–GHOST協議
PoS–Casper協議

瀏覽器與區塊資訊
- hash rate 全網算力
- network difficulty 全網難度
- transactions 6.7tps 每秒交易數

transactions
- contract internal transactions合約內部交易(合約會自動發交易)
- transactions 交易
- 叔塊的交易哈希演算法不同與父塊(Sha3)
- size:沒有限制區塊大小,有特別機制限制gas limit,gas used使用的
- nonce:亂數,簡單理解為計數器
- block reward:三部分(靜態獎勵+gas+叔塊參考獎勵)
Ghost協議
- 出塊時間:設計12秒,實際14~15秒,快速確定會帶來區塊的高作廢率,安全性降低
- Greedy Heaviest Observed SubTree 防止出塊太快造成的威脅攻擊
- 計算作業量證明時,不僅包含當前區塊的祖區塊,父區塊,還要包含祖先塊的作廢的后代區塊(“叔塊”),將他們綜合考慮
圖靈完備語言
- 如果一個系統可以模擬任何圖靈機,它就被定義為“圖靈完備”,這種系統稱為通用圖靈機(UTM)
- 無限回圈-gas消耗
- 智能合約–>DAPP
- 區塊鏈上的智能合約
- web前端用戶界面
Token

-
total supply 供應量
-
contract 幣安在eth上的合約地址
-
繼承標準ERC721類似于繼承類
專有名詞
EIP 以太坊改進建議
ERC 以太坊征求意見,EIP變成ERC表示試圖定義以太坊使用的特定標準的提議
EOA 創建的賬戶
Ethash 以太坊1.0 作業量證明演算法
HD錢包 使用分層確定性密鑰創建和轉賬協議(BIP32)的錢包
Keccak256 以太坊中使用的密碼哈希函式,被標準化為SHA-3
Nounce 密碼學中指代只能使用一次的值,以太坊中使用兩種型別的亂數,賬戶亂數和POW亂數
應用
- 1 ether =10^18 wei
錢包
私鑰:256位的亂數
公鑰:由私鑰通過橢圓曲線加密secp256k1演算法單向生成的512位(64位元組)數
地址:由公鑰的keccak-256單向哈希,取最后20個位元組(160位)派生出來的識別符號
安全須知
- keystore檔案就是加密存盤的私鑰
- 助記詞
- 可以匯出私鑰,所以可以認為助記詞就是私鑰
- BIP-39提出,幫助用戶記憶復雜私鑰

切換網路
-
Main Network(NetworkID:1)
- 主網路
-
Ropsten Test Network(NetworkID:3)
- 以太坊公共測驗網路pos
-
Kovan Test Network(NetworkID:42)
- Aura協議,權威證明POA共識,僅支持Parity客戶端
-
Rinkeby Test Network(NetworkID:4)
- Clique協議,權威證明POA共識
-
Localhost 8545
- 連接到與瀏覽器在同一臺計算機上運行的節點,可以是任何公共區塊鏈的一部分,也可以是私有testnet
-
Custom RPC
- 允許將Metamask連接到任意兼容geth的RPC介面的節點,可以是任何公共或私人區塊鏈的一部分
測驗使用
首先獲得測驗以太

或者使用rinkeby獲取,這個需要在社交平臺發一條帶有地址的訊息
嘗試發送以太:可以自定義gas price
課程來源:深入掌握以太坊核心技術-尚硅谷
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/351058.html
標籤:區塊鏈
下一篇:區塊鏈-1 了解
