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

最近区块链技术很火,以太坊是区块链技术的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-ethereum
make 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文件生成完毕。。。



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


©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页