- 最近區(qū)塊鏈的概念很火丙笋,記錄點(diǎn)相關(guān)的研究。
區(qū)別于傳統(tǒng)的中心化記賬方式央勒,區(qū)塊鏈?zhǔn)且粋€(gè)分布式的不见、無(wú)中心澳化、公開透明的新型模型
區(qū)塊鏈 = 區(qū)塊 + 鏈
區(qū)塊按照時(shí)間劃分崔步,記錄每個(gè)區(qū)塊時(shí)間段內(nèi)發(fā)生的所有交易過(guò)程,不同的區(qū)塊以鏈表結(jié)構(gòu)連接缎谷。
主流的加密數(shù)字貨幣:比特幣井濒、以太幣都是這樣的原理,以太坊分為6層結(jié)構(gòu):數(shù)據(jù)層列林、網(wǎng)絡(luò)層瑞你、共識(shí)層、激勵(lì)層希痴、合約層 + 應(yīng)用層者甲,geth(Go Ethereum)是前五層的封裝,應(yīng)用層通常有web3.js
- 搭建geth砌创,官方文檔:https://ethereum.github.io/go-ethereum/install/
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum
安裝完畢后虏缸,確認(rèn)
geth version
- 創(chuàng)建創(chuàng)世區(qū)塊
mkdir GethPrivate
cd GethPrivate
vim genesis.json
genesis.json內(nèi)容如下:
{
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x40000",
"extraData" : "",
"gasLimit" : "0xffffffff",
"nonce" : "0x0000000000000042",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00",
"alloc": { }
}
然后執(zhí)行以下命令
geth --datadir "./" init genesis.json
執(zhí)行完畢后,當(dāng)前目錄下面會(huì)新增出兩個(gè)文件夾geth和keystore