一、區塊鏈簡單介紹
1、區塊鏈的簡單介紹
區塊鏈的最主要的目的就是去中心化,比如我們銀行、支付寶、微信等都存在着一箇中心爲我們服務,要是哪一天銀行等崩了(實際不可能吧),後果可想而知,所以區塊鏈出現就是解決這種中心化比較嚴重的問題。
2、區塊鏈的簡單實現架構
這裏以以太坊私有鏈作簡單的介紹,其組成主要包括普通客戶和礦工,普通客戶主要是實現雙向交易,礦工則主要是負責交易驗證等並且通過挖礦來掙取獎勵。
2、區塊鏈的實現流程
二、ubuntu服務器搭建以太坊私有鏈
1、安裝以太坊私有鏈環境
爲了避免後面出錯,建議安裝一下go語言環境
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo add-apt-repository -y ppa:ethereum/ethereum-dev
sudo apt-get update
sudo apt-get install ethereum
輸入geth -h顯示如下則安裝環境正確
2、創建創世塊
作爲區塊鏈, 鏈子總要有個頭,所以需要創建一個創世塊作爲頭部,纔好往下添加,創世文件名稱命名爲genesis.json,內容如下,爲json格式,這一步一定要在從本地電腦上傳到服務器上,而且需要校驗json的格式是否正確,否正會因爲格式問題導致後面初始化出錯,推薦json校驗的工具:json校驗工具
{
"config":{
"chainId":666,
"homesteadBlock":0,
"eip150Block":0,
"eip150Hash":"0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block":0,
"eip158Block":0,
"byzantiumBlock":0,
"constantinopleBlock":0,
"petersburgBlock":0,
"istanbulBlock":0,
"ethash":{
}
},
"nonce":"0x0",
"timestamp":"0x5ddf8f3e",
"extraData":"0x0000000000000000000000000000000000000000000000000000000000000000",
"gasLimit":"0x47b760",
"difficulty":"0x00002",
"mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase":"0x0000000000000000000000000000000000000000",
"alloc":{
},
"number":"0x0",
"gasUsed":"0x0",
"parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000"
}
3、初始化區塊鏈
輸入命令如下,其中初始化之前需要新建文件夾data01用於存放鏈的數據
geth --datadir data01 init genesis.json
4、開啓geth私鏈客戶端
打開終端,輸入
geth --datadir data01 --networkid 20140628 --rpc --rpccorsdomain "*" --nodiscover --port 16333 --rpcport 8546 console
即可開啓geth客戶端,需要說明的是,需設置端口
–port 16333 系統默認是30303
–rpcport 8546 系統默認是8545
在命令的末尾添加>>.log
,則會將日誌打印至後臺,如果開啓成功則會進入如下
5、創建賬戶及挖礦等
personal.newAccount("123") ,
注意“123”就是密碼了
eth.coinbase,
查看礦工的賬戶,其實就是上一步創建的賬戶
miner.start(1)
開始挖礦
miner.stop()
結束挖礦
基本的操作命令都比較簡單,後續有機會再做介紹