如何创建私链

已邀请:

张大帅哥

赞同来自: 洋洋

创建创世配置文件:首先需要创建一个“创世”json配置文件,此文件描述了创世区块的一些参数。下面就是文件中的内容:{"coinbase": "0x0000000000000000000000000000000000000000","config": {"homesteadBlock": 5},"difficulty": "0x20000","extraData": "0x","gasLimit": "0x2FEFD8","mixhash": "0x00000000000000000000000000000000000000647572616c65787365646c6578","nonce": "0x0","parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000","timestamp": "0x00","alloc": {"dbdbdb2cbd23b783741e8d7fcf51e459b497e4a6":{"balance":"100000000000000000000000000000"}}}12345678910111213141516171819将上面这段代码复制到一个文本文件里并起名为genesis.json 创世!:为了不和主链的数据冲突,这里建议建立自己的私链数据文件夹。在我的电脑上在E盘建了一个EthDBSpace作为以太坊实验工作区,并在里面创建了一个PrivChain文件夹作为我的第一个私链的数据存放文件夹 这里为了方便管理将genesis.json放在了EthDBSpace文件夹下打开Windows命令行 键入如下命令geth --datadir "E:EthDBSpacePrivChain" init "E:EthDBSpacegenesis.json"1–datadir 选项用来指定我们私链的数据目录。在我的电脑上是E:EthDBSpacePrivChain init 命令为创世命令,后面紧跟着我们的创世配置文件路径。点击回车后执行结果如下 此时创世完成!创建账户:为了在私链上做实验,我们还需要在私链上建立自己的账户Windows命令行键入geth --datadir "E:EthDBSpacePrivChain" console1我们由于已经创世成功所以第二次进入客户端时我们不用再次指定genesis.json文件路径,而是直接–datadir 指明私链数据路径即可。 console命令用来开启geth的命令行。点击回车后,客户端会先经过一阵初始化。在命令提示符出现后,说明已经进入geth console 在geth命令行中键入personal.newAccount('Your Password')1personal.newAccount 函数用来创建账户,其中参数为账户密码点击回车后会出现 账户创建成功后会在命令下方以绿色字符列明创建账户的地址,也即账户的公钥我们可以先查下账户余额,在geth命令行中键入:my=eth.accounts[0]eth.getBalance(my)12my=eth.accounts[0],此句的目的是将我们刚创建的账户地址赋值给my变量。这样可以简化后续账户地址输入。其中eth.accounts记录了本机上所有账户地址。由于我们第一次创建账户,所以目前电脑上只有一个账户。所以这里我们用eth.accounts[0]提取第一个账户地址。eth.getBalance函数用来获得账户余额,参数填入账户地址。这里的my变量记录的就是第一个账户的地址。希望我的回答可以帮到您哦创建创世配置文件:首先需要创建一个“创世”json配置文件,此文件描述了创世区块的一些参数。下面就是文件中的内容:{"coinbase": "0x0000000000000000000000000000000000000000","config": {"homesteadBlock": 5},"difficulty": "0x20000","extraData": "0x","gasLimit": "0x2FEFD8","mixhash": "0x00000000000000000000000000000000000000647572616c65787365646c6578","nonce": "0x0","parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000","timestamp": "0x00","alloc": {"dbdbdb2cbd23b783741e8d7fcf51e459b497e4a6":{"balance":"100000000000000000000000000000"}}}12345678910111213141516171819将上面这段代码复制到一个文本文件里并起名为genesis.json 创世!:为了不和主链的数据冲突,这里建议建立自己的私链数据文件夹。在我的电脑上在E盘建了一个EthDBSpace作为以太坊实验工作区,并在里面创建了一个PrivChain文件夹作为我的第一个私链的数据存放文件夹 这里为了方便管理将genesis.json放在了EthDBSpace文件夹下打开Windows命令行 键入如下命令geth --datadir "E:EthDBSpacePrivChain" init "E:EthDBSpacegenesis.json"1–datadir 选项用来指定我们私链的数据目录。在我的电脑上是E:EthDBSpacePrivChain init 命令为创世命令,后面紧跟着我们的创世配置文件路径。点击回车后执行结果如下 此时创世完成!创建账户:为了在私链上做实验,我们还需要在私链上建立自己的账户Windows命令行键入geth --datadir "E:EthDBSpacePrivChain" console1我们由于已经创世成功所以第二次进入客户端时我们不用再次指定genesis.json文件路径,而是直接–datadir 指明私链数据路径即可。 console命令用来开启geth的命令行。点击回车后,客户端会先经过一阵初始化。在命令提示符出现后,说明已经进入geth console 在geth命令行中键入personal.newAccount('Your Password')1personal.newAccount 函数用来创建账户,其中参数为账户密码点击回车后会出现 账户创建成功后会在命令下方以绿色字符列明创建账户的地址,也即账户的公钥我们可以先查下账户余额,在geth命令行中键入:my=eth.accounts[0]eth.getBalance(my)12my=eth.accounts[0],此句的目的是将我们刚创建的账户地址赋值给my变量。这样可以简化后续账户地址输入。其中eth.accounts记录了本机上所有账户地址。由于我们第一次创建账户,所以目前电脑上只有一个账户。所以这里我们用eth.accounts[0]提取第一个账户地址。eth.getBalance函数用来获得账户余额,参数填入账户地址。这里的my变量记录的就是第一个账户的地址。希望我的回答可以帮到您哦

要回复问题请先登录注册