2、以太坊私链网络节点创建

 以太坊环境搭建好后,我们就可以开始搭建私链,首先我们需要创建一个节点,通过这个节点我们可以同步区块数据,还可以挖矿 :)

一、创世块文件genesis.json

 第一个出生的区块称为创世块,我们都知道一个区块里面会保存上一个区块的哈希值,而创世块第一个区块,所以没有上一区块哈希值为0,在创世块中可以设置gasLimit、难度值等。

{
    "config": {
        "chainId": 15,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
    "difficulty": "200000",
    "gasLimit": "314159200000",
    "alloc":{}
}

先新建一个目录

mkdir blockchain
cd blockchain

进入目录,把上面代码拷贝好,新建文件genesis.json


新建genesis.json

二、初始化

geth --datadir /Users/jan/blockchain init genesis.json
初始化

这时候我们看到目录下多了geth和keystore两个文件,geth是区块相关的数据,keystore是保存你账户密钥的文件

三、启动节点

geth --datadir /Users/jan/blockchain --networkid 15
执行命令,输出一坨信息表示启动成功

命令中networkid:1表示主网,2(disused)、3、4都是测试网络,其他就是私链网络
启动后,目录会多出geth.ipc文件
接着,我们新开一个终端,用来当作连接到节点的控制台

geth attach /Users/jan/blockchain/geth.ipc
打开控制台

四、创建账户

以太坊中,账户有两张类型,一种是外部持有账户,另一种是智能合约账户,我们这里创建的是第一种。这种账户可以接收以太币,还可以用来挖坑。

personal.newAccount("123456") //你的密码
原谅色这一串十六进制的就是你的公钥,也就是账户的地址

为了方便后面的操作,可以用过变量来表示这个账户地址,并看下账户里面的余额

base="0x6ffa66623115b4ec0a8f879f9ad06bc108585380"
查看余额

显示余额为0,开始挖坑赚点钱

miner.start()

切换到第一个终端,发行出现了一坨新区块不断生成的信息,再切回到控制台输入查看余额



....发现有这多钱,但是这里的余额单位是wei,并不是以太币(eth),1,000,000,000,000,000,000wei等于1个以太币,换算一下

web3.fromWei(eth.getBalance(base))

这385个以太币是挖出77个区块奖励的(没有包含任何交易手续费),每挖出一个区块奖励5个以太币

到这里我们已经完成了第一个节点的启动,既然是一个网络,当然不能只有单个节点,下一篇我们实践怎么添加多个节点,以及在不同节点账户之间转账。


eth address:0x510fC6E589Fcb721e9De8fCEE3058012dE6a324B,如果觉得文章帮到你,请用以太币砸我:)

你可能感兴趣的:(2、以太坊私链网络节点创建)