主页 > imtoken安卓版下载app > 以太坊搭建私有链

以太坊搭建私有链

imtoken安卓版下载app 2023-06-21 07:51:38

一、说明

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

下载 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替换为最新的;

)

sitejinse.com 以太坊是区块链吗_以太坊私有链共识机制_以太坊是一个私有链

然后根据文档编译安装go-ethereum;

2.开始搭建

开始构建私有链:

1、准备创世块信息以太坊是一个私有链,创建一个json文件,genesisinfo.json,内容为:

{

“配置”:{

“链号”:10以太坊是一个私有链

“家园块”:0,

“eip155块”:0,

以太坊私有链共识机制_以太坊是一个私有链_sitejinse.com 以太坊是区块链吗

“eip158块”:0

},

“分配”:{},

“币库”:“0x0000000000000000000000000000000000000000”,

“难度”:“0x02000000”,

“额外数据”:“”,

"gasLimit": "0x2fefd8",

“随机数”:“0x0000000000000042”,

“混合哈希”:“0x0000000000000000000000000000000000000000000000000000000000000000”,

以太坊是一个私有链_以太坊私有链共识机制_sitejinse.com 以太坊是区块链吗

"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",

“时间戳”:“0x00”

}

2. 创建数据存储地址并初始化创世块:

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

3.启动节点:

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

参数含义如下:

身份区块链的标记,随便填,用来标记当前网络的名称

以太坊是一个私有链_sitejinse.com 以太坊是区块链吗_以太坊私有链共识机制

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

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

端口网络监听端口

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

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

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

控制台启动命令行模式,可以在Geth中执行命令

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

创建账户:personal.newAccount()

sitejinse.com 以太坊是区块链吗_以太坊私有链共识机制_以太坊是一个私有链

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

主账户: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:account, to:receiving account, value:web3.toWei(amount,"ether")})

5. 账户建立后,其他节点也按照此步骤建立节点,然后将其他节点加入主节点,建立整个网络;