mac本地搭建eth私有链

eth的私链搭建

1.下载geth

首先下载geth进行安装,下载地址为geth客户端,下载的时候会出现下面的情况:
mac本地搭建eth私有链_第1张图片
这时不用等,直接打开控制台,操作如下:
mac本地搭建eth私有链_第2张图片
在开发者工具中按照下图步骤进行下载:
mac本地搭建eth私有链_第3张图片
下载的文件为:geth-darwin-amd64-1.9.14-6d74d1e5.tar.gz
解压后,如图所示:
mac本地搭建eth私有链_第4张图片

2.创建创世文件

创世块是要手动配置后生成的,下面是具体的创建文件的步骤
进入geth所在目录

cd ~/Desktop/eth-test/geth-darwin-amd64-1.9.14-6d74d1e5

通过vi 创建创世文件,将文件命名为genesis.json

vi genesis.json

将下面的内容粘贴到json文件中

{
  "config": {
    "chainId": 666,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0,
    "ethash": {}
  },
  "nonce": "0x0",
  "timestamp": "0x5ddf8f3e",
  "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "gasLimit": "0xffffffff",
  "difficulty": "0x1000",
  "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "coinbase": "0x0000000000000000000000000000000000000000",
  "alloc": { }
  },
  "number": "0x0",
  "gasUsed": "0x0",
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}

关于上面各个参数的说明,网上有很多,大家可以去查看,在此不再具体说明。粘贴后保存退出。在geth目录下就会出现下面的文件:
mac本地搭建eth私有链_第5张图片
此时我新建了一个目录,用于存放区块的数据,如下图所示:
mac本地搭建eth私有链_第6张图片
接下来在终端执行下面命令:

//--datadir 后面跟的eth的工作目录,区块的数据会存在这个文件夹里,也就是在当前目录下面的chain目录
// init 后面跟的参数是genesis.json文件所在位置。我是在genesis.json文件所在的目录打开的终端,所以不需要给genesis.json的路径,给出文件名即可
./geth --datadir "./chain" init genesis.json

执行成功,在终端会出现以下信息,说明执行成功。
在这里插入图片描述
此时在chain目录下也会出现相应的文件
mac本地搭建eth私有链_第7张图片
然后我们开启一个Geth节点,输入下面的命令:

//--datadir 后面跟的是你指定的工作目录,我在这里使用相对路径
//--identity 后面跟的是你的区块链标识,随便写
//--networkid 后面跟的是你的网络id,这个是区别区块链网络的关键
//--port 和 --rpcport 你随便给一个就行,别跟在用的端口重复就行
./geth --datadir "./chain" --identity "hi Chain" --networkid 19900418 --port 61916 --rpcport 8206 console 2>> geth.log

也可以通过下面的方式进入控制台:

geth attach http://localhost:8545

解锁相应的功能,使用下面的脚本启动,关键是在–rpcapi后面加上需要开启的功能,多个功能使用逗号隔开。

nohup geth --datadir . --networkid 15 --rpc --rpcapi "eth.personal" >2

如果你得到的结果如下图,说明你成功开启了Geth的节点,并进入JavaScript终端
在这里插入图片描述
并且在当前目录下会生成geht.log,如图所示:
mac本地搭建eth私有链_第8张图片
可以使用vi查看日志文件,其中下面这条信息是告诉用户ipc文件位置:

IPC endpoint closed      url=/Users/test/Desktop/eth-test/geth-darwin-amd64-1.9.14-6d74d1e5/chain/geth.ipc

进入JavaScript终端后,你可以输入下面三个命令,创建一个账户。在创建账户之前,coinbase地址是空的,创建完账户后,coinbase为刚才创建的账户地址。

//创建一个新账户
personal.newAccount("123456")
//user1变量保存刚才创建的账户,可以看出,eth.accounts数组存放了账户地址
user1 = eth.accounts[0]
//解锁刚才创建的账户,如果不解锁,不能转账
//Geth隔一段时间就会锁定账户,所以需要解锁
personal.unlockAccount(user1, "123456")
//查看coinbase
eth.coinbase

具体执行结果如下图:
mac本地搭建eth私有链_第9张图片
接着输入命令查看账户余额

eth.getBalance(user1)

可以看到账户余额为0,如下图所示:
在这里插入图片描述
现在就可以开始挖矿了,输入挖矿命令:

miner.start()

如果你看到终端不停有输出,那就对了。如果想停止挖矿,输入停止命令:

miner.stop()

你可以一边挖矿,一边查看账户余额。下面这个值是按照最小单位显示的,转换为正常数据时需要除以10的18次方。
mac本地搭建eth私有链_第10张图片

3.连接钱包

需要先下载钱包,下载地址为:https://github.com/ethereum/mist/releases/,不要下载最新版本,我下载0.11不能用,然后又卸载了,经验证0.9.3版本可用。
下载完成安装后,通过下面的命令启动钱包:

open -a /Applications/Ethereum\ Wallet.app/ --args --rpc /Desktop/eth-test/geth-darwin-amd64-1.9.14-6d74d1e5/chain/geth.ipc

启动后如图所示:
mac本地搭建eth私有链_第11张图片
注意红框是私有网络。
接下来就可以进行各种操作了。

参考文档:
https://www.jianshu.com/p/879669da11e6
https://www.jianshu.com/p/e0a52aff4006

你可能感兴趣的:(区块链)