从零开始搭建以太坊区块链

最近区块链技术很火,以太坊是区块链技术的2.0应用,以其智能合约的功能给区块链增加了无限可能,今天来说下怎么从零开始搭建以太坊。

(本文开发环境是Mac/Linux, 以太坊客户端是Go-ethereum,简称Geth)

安装Geth前,要装Go环境,点击Go官网下载

Mac 中用Homebrew安装Geth

brew tap ethereum/ethereum

brew install ethereum

或者在github上clone下源码,然后直接make


git clone https://github.com/ethereum/go-ethereum

cd go-ethereummake geth

添加环境变量,然后检查是否安装成功

geth version

环境安装完毕,开始搭建区块链

新建文件夹,存放你的区块链数据。文件夹里面新建一个叫genesis.json的配置文件,以创建自己的创世块。

配置文件的内容:

{
  "config": {
        "chainId": 10,        
        "homesteadBlock": 0,        
        "eip155Block": 0,       
        "eip158Block": 0   
  },      
  "coinbase"   : "0x0000000000000000000000000000000000000000", 
  "difficulty" : "0x020000",    
  "extraData"  : "", 
  "gasLimit"   : "0x2fefd8", 
  "nonce"      : "0x0000000000000042", 
  "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",    
  "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",  
  "timestamp"  : "0x00",  
  "alloc"      : {}
}

初始化,创建创世区块

cd 你的文件夹

geth --datadir data init genesis.json

此处,--datadir是保存数据的目录,我们放在当前文件夹下一个叫data的目录下;

init 是初始化的配置。

启动节点

geth --datadir data --networkid 1108 console

此处,--networkid是表示此链的网络id为1108,以太坊的公网id是1;

console表示进入js的控制台。

此时应当进入js的控制台中。

基本命令

查看账户

eth.accounts[]

创建账户

personal.newAccount()

查看账户余额

eth.getBalance(eth.accounts[0])0

开始挖矿

miner.start()

停止挖矿

miner.stop()

第一次挖矿要等待一段时间,直至DAG文件生成完毕。。。


后续,以太坊钱包的开发。。

你可能感兴趣的:(从零开始搭建以太坊区块链)