ethereum初探
簡介:
以太坊(英語:Ethereum)是一個開源且具有智慧合約區塊鏈平台,設計上是為了解決比特幣擴展性不足的問題,以太坊區塊鏈上的代幣稱為以太幣(Ether),代碼為ETH
合約:
合約是一個活在以太坊系統內的自動代理人,他有一個自己的乙太幣地址,當用戶向合約的地址發送一筆交易後,該合約就被激活,然後根據交易中的額外信息,合約會運行自身的代碼,最後返回一個結果,這個結果可能是從合約的地址發出另外一筆交易
查看交易資訊: https://etherchain.org/
產生乙太幣地址
https://ethereum.stackexchange.com/questions/3542/how-are-ethereum-addresses-generated
之後到https://etherscan.io/ 右上輸入剛產生的地址確認是正確的格式
常見名詞:
Dapp:
A Dapp (‘decentralized app’) consists of two parts: a frontend, written in HTML, and a backend (think of it as the ‘database’ for your frontend). 以太坊社區把基於智能合約的應用稱為去中心化的應用程序(Decentralized App)。DApp的目標是(或者應該是)讓你的智能合約有一個友好的界面
geth:
geth is the the command line interface for running a full ethereum node implemented in Go.
JSON-PRC: https://github.com/ethereum/wiki/wiki/JSON-RPC
簡單說即為一個會回應json格式的server
https://github.com/ethereum/wiki/wiki/JSON-RPC
IPC:
為系統中兩個兩個執行緒互相傳遞資料的方法
https://zh.wikipedia.org/wiki/行程間通訊
http://albert-oma.blogspot.tw/2013/06/linux-ipc.html
Ethash:
以太幣(ether)的挖礦算法叫做Ethash, 又名Dashimoto (Dagger-Hashimoto),是Hashimoto算法結合Dagger之後產成的一個變種
Dag:
https://github.com/ethereum/wiki/blob/master/Dagger-Hashimoto.md
EVM:
以太坊虛擬機,輕量級虛擬機環境,是以太坊中智能合約的運行環境
Gas:
燃料,每執行一條合約指令會消耗一定的燃料,當某個交易還未執行結束,而燃料消耗完時,合約執行終止並回滾(rollback)狀態,可與ether進行換算,但不可交易。
Gas Price: 每單位Gas多少錢( 會變動 )
Gas Limit: 多少單位個Gas( 通常不會變動 )
交易手續費 Tx Fees = Gas Limit * Gas Price
Ether單位
相關實用網站
1、以太坊官方網站:https://ethereum.org/
2、以太坊原始碼(官方):https://github.com/ethereum/
3、以太坊說明文件(官方):http://www.ethdocs.org/en/latest/index.html
4、以太坊網路狀態(官方):https://ethstats.Net /
5、以太坊相關工具與資源網站(官方):http://ether.fund/
6、Solidity說明文件(官方):http://solidity.readthedocs.io/en/latest/
7、以太坊網路掃描(官方):http://etherscan.io/
8、以太坊官方部落格:https://blog.ethereum.org/
9、以太坊wiki百科:https://github.com/ethereum/wiki/wiki
10、以太坊中文愛好者網站:http://ethfans.org/
11、以太坊的gitter的實時交流網站:https://gitter.im/orgs/ethereum/rooms
12、以太坊的官方論壇:https://forum.ethereum.org/
13、以太坊第三方強大的IDE(Solidity IDE):https://live.ether.camp/
14、以太坊開發框架Truffle說明書:http://truffle.readthedocs.io/en/latest/
15、以太坊開發框架dapple說明書:http://dapple.readthedocs.io/en/master/
16、以太坊官方推薦開發框架Meteor說明書:https://github.com/ethereum/wiki/wiki/Dapp-using-Meteor
Testnet
取得免費的ether https://ropsten.ether.camp/transactions http://faucet.ropsten.be:3001/ 查看區塊情況 https://testnet.etherscan.io/
Aave testnet: https://staging.aave.com/#/markets
METAMASK
chrome的plugin,可以操作ethereum
API Provider
線上錢包(類似線上版的MIST)
安裝metamask後可以打開此網站,之後即可讀取本地錢包資料
並且使用metamask切換network
共識機制介紹
POW(Proof of Work,工作證明)是指獲得多少貨幣,取決於你挖礦貢獻的工作量,即為一般的礦機或顯卡挖礦
POS(Proof of Stake,股權證明)根據你持有貨幣的量和時間進行利息分配的制度,在POS模式下,挖礦收益正比於你的幣齡,而與電腦的計算性能無關,幣齡即為持有乙太幣的時間
PoA ( Proof of Authority) 有別於PoW (Proof-of-Work)需要解數學難題來產生block,PoA是依靠預設好的Authority nodes,負責產生block。 可設定Authority node數量。可指定產生block的時間等
Block difficulty
礦工挖礦的難度,當礦工增加時難度會根據算法而增加。
Ethereum Gas 計算
簡單來說:
Gas used * gas price * (gwei to eth)
117159 * 52 * 0.000000001 =
0.006092268
上面的 52 可以從下圖去查看 med gas price
gas 為以太坊上交易的手續費,會轉換成 eth 計算費用。
分為 Transaction costs 與 Execution costs
Transaction costs 總共有以下四種情況需要支付:
(一般交易) the base cost of a transaction (21000 gas)
(合約部署) the cost of a contract deployment (32000 gas)
the cost for every zero byte of data or code for a transaction.
the cost of every non-zero byte of data or code for a transaction.
Execution costs 則為執行合約時運算所需要消耗的資源而定,可參考下表
以上表來說 value 指的是 gas unit 或 gas limit(多少單位的 gas),所以以太坊交易手續費計算方式則類似如下: 21000 (Gas Limit) x 50 Gwei (Gas Price)= 1050000 Gwei
gas price 一般用 Gwei 為單位,所以計算後交易手續費為(TX Fee) = 1050000 *0.000000001 ETH = 0.0010500 ETH
(小提醒:每天不同時段的 Gas price 會不同,依照網路上交易擁堵程度而定,通常白天時段的下午費用會比較低)
當前網路上之 Gas price 可到此查詢
獲取地址在特定時間的 Token 餘額
Last updated