以太坊建立私有链

1、说明

因为cpp版本客户端资料较少,先使用go语言版本客户端建立私有链:

下载go-ethereum( https://github.com/ethereum/go-ethereum )

安装go语言:1、先使用apt安装默认的go,但是此时版本较低;

2、下载最新的go源码,设置export GOROOT_BOOTSTRAP=/usr/lib/go

3、编译go源码;

4、将/usr/lib/go  /usr/share/go /usr/bin/go 和 gofmt替换为最新的;

然后,按照文档,编译、安装go-ethereum;

2、开始建立

开始建立私有链:

1、准备创世块信息,建立json文件,genesisinfo.json,内容为:

{

    "config":{

        "chainId":10,

        "homesteadBlock":0,

        "eip155Block":0,

        "eip158Block":0

    },

    "alloc":{},

    "coinbase":"0x0000000000000000000000000000000000000000",

    "difficulty":"0x02000000",

    "extraData":"",

    "gasLimit":"0x2fefd8",

    "nonce":"0x0000000000000042",

    "mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",

    "parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",

    "timestamp":"0x00"

}

2、创建数据存放地址并初始化创世块:

geth --datadir "数据存放地址" init genesisinfo.json

3、启动节点:

geth --identity "PICCetherum"  --rpc  --rpccorsdomain "*" --datadir "数据存放地址" --port "30303"  --rpcapi "db,eth,net,web3"--networkid 95518 console

其中参数含义如下: 

identity 区块链的标示,随便填写,用于标示目前网络的名字

init 指定创世块文件的位置,并创建初始块

datadir 设置当前区块链网络数据存放的位置

port 网络监听端口

rpc 启动rpc通信,可以进行智能合约的部署和调试

rpcapi 设置允许连接的rpc的客户端,一般为db,eth,net,web3

networkid 设置当前区块链的网络ID,用于区分不同的网络,是一个数字

console 启动命令行模式,可以在Geth中执行命令

4、启动成功后,进入命令行,主要有以下命令:

创建账号:personal.newAccount()

账号解锁(用于交易):personal.unlockAccount(账号)

主账号:eth.coinbase

当前节点url:admin.nodeInfo.enode

添加其他节点:admin.addPeer(其他节点url)

展示所有节点:admin.Peers

展示账号的以太币:web3.fromWei(eth.getBalance(eth.coinbase), "ether")

开始挖矿:miner.start(线程数)

结束挖矿:miner.stop()

转账:eth.sendTransaction({from:账号, to:接收账号, value:web3.toWei(金额,"ether")})

5、建立好账号之后,其他节点也按照这个步骤建立节点,然后,在主节点,添加其他节点,从而建立起整个网络;

你可能感兴趣的:(以太坊建立私有链)