參考資料:
Web3J官網:https://web3j.io/
以太網:http://www.ethdocs.org/en/latest/contracts-and-transactions/contracts.html
教程 | 以太坊智能合約編程之菜鳥教程:https://ethfans.org/posts/101-noob-intro
什么是智能合約
智能合約(英語:Smart contract )
是一種旨在以信息化方式傳播、驗證或執行合同的計算機協議。智能合約允許在沒有第三方的情況下進行可信交易,這些交易可追蹤且不可逆轉。智能合約概念於1994年由Nick Szabo首次提出。
-
以太坊在其區塊鏈上實施了一種近乎圖靈完備的語言,這是一個突出的智能合約框架。
-
RootStock(RSK) 是一個智能合約平台,通過側鏈技術連接到比特幣區塊鏈。 RSK兼容為以太坊創造的智能合約。
核心概念
公鑰加密系統:
點對點網絡:
區塊鏈:區塊鏈可以看做是智能合約的基礎設施
以太坊虛擬機:解釋執行智能合約字節碼的東西,功能類似於Java虛擬機
節點:
礦工:區塊鏈中參與處理區塊的節點叫做礦工。當前以太坊活躍的礦工:https://ethstats.net/
工作量證明:礦工們總是在競爭解決一些數學問題。第一個解出答案的(算出下一個區塊)將獲得以太幣作為獎勵。然后所有節點都更新自己的區塊鏈。所有想要算出下一個區塊的礦工都有與其他節點保持同步,並且維護同一個區塊鏈的動力,因此整個網絡總是能達成共識。
以太幣:ETH,以太坊中的虛擬貨幣,可以購買和使用,也可以與真實貨幣交易。以太幣的走勢圖
Gas:相當於手續費。在以太坊執行程序以保存數據都要消耗一定量的以太幣。這個機制可以控制區塊鏈中計算的數量,保證效率。
補充說明:GAS
定義
Gas 翻譯成中文就是“燃氣”,是以太坊世界的燃料,它決定了以太坊網絡生態系統的正常運行
Gas 用來衡量執行某些動作需要多少“工作量”,這些“工作量”就是為了執行該動作支付給網絡的費用額。
通俗理解,Gas 是給礦工的佣金,並以 ETH 支付,無論是交易、執行智能合約並啟動 DApps,還是支付數據存儲費用,都需要用到 Gas
工作原理
gas工作原理圖
https://upload-images.jianshu.io/upload_images/10765081-263629a993449e90
單位
1 ETH = 1000 Finney 1千
1 ETH = 1000000 Szabo 1百萬
1 ETH = 1000000000 Gwei 10億
1 ETH = 1000000000000000000 Wei 1百萬萬億
組成
Gas Limit
Gas Limit 用戶願意為執行某個操作的最大Gas量(最少21,000)
Gas Price
Gas Price 是 Gwei 的數量,用戶願意花費於每個 Gas 單位的價錢
創建智能合約的流程