美文网首页
私有链的搭建

私有链的搭建

作者: H_f129 | 来源:发表于2019-11-18 19:40 被阅读0次

    1.geth的安装

    https://geth.ethereum.org/docs/install-and-build/installing-geth

    2.搭建一条私有链

    Step 1: 建立目录和cell.json

    cell.json 文件内容:

    {

      "config": {

        "chainId": 1234,

        "homesteadBlock": 0,

        "eip150Block": 0,

        "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",

        "eip155Block": 0,

        "eip158Block": 0,

        "byzantiumBlock": 0,

        "constantinopleBlock": 0,

        "petersburgBlock": 0,

        "ethash": {}

      },

      "nonce": "0x0",

      "timestamp": "0x5dcba32c",

      "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000",

      "gasLimit": "0x97b760",

      "difficulty": "0x20000",

      "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",

      "coinbase": "0x0000000000000000000000000000000000000000",

      "alloc": {

        "643ce353762ccd76Da85C23e73c91B9FEfFB2652": {

          "balance": "0x200000000000000000"

        },

        "6cc67a6d136ed539d6505c545240cf99ad1396fb": {

          "balance": "0x200000000000000000"

        },

        "bddca519ed22a4483f7268cdcde7a404e61f4190": {

          "balance": "0x200000000000000000"

        }

      },

      "number": "0x0",

      "gasUsed": "0x0",

      "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"

    }

    Step 2: 执行命令,创建创世区块

    切换回命令行,执行命令,制造创世区块

    进入到geths 目录下,执行命令

    geth --datadir "./" init cell.json

    geth中保存的是区块链的相关数据

    keystore中保存的是该链条中的用户信息

    Step 3:创建自己的私有链条

    geth --datadir "./" --nodiscover console 2>>geth.log

    注意这里输出打印日志到log文件中

    Step 4:在自己的私有链条上创建用户

    输入命令eth.accounts, 我们会发现返回值为[],这是因为此时虽然以太坊的私有链已经被创造出来,但还没有任何账户。

    输入命令personal.newAccount("xxx"),该命令将创造一个新的用户,该用户的密码是xxx. 当然用户也可以将xxx 改为123,或者123456,或者任意密码

    再次输入命令 eth.accounts, 我们会发现一个新的用户被创建了出来,这就代表我们已经创建了一个账户,重personal.newAccount() & eth.accounts 我们可以创建若干个账户出来

    Step 5: 最重要的一步来了,开始挖矿

    在命令行中执行命令 miner.start(), 开始在我们的区块链上进行挖矿

    一直等到100%。这个以太坊私有链就会正式启动,并持续不断的生成出以太坊来。

    注意点:

    1. 挖矿挖到的ether币会默认保在第一个账户中,即eth.acccounts[0]中。

    2. 挖矿是执行智能合约的基础。如果停止挖矿的话,不仅以太币会停止生成,所有智能合约的调用也会不起作用。

    3. 如果真的要停止挖矿,可以执行命令miner.stop()来停止挖矿

    4. 按上面的命令,应该是可以实现以太坊挖矿的。如果不行的话,有可能就是之前有存在的链,此时应该删除之前的数据。即删除~/.ethash文件夹和里面的文件即可。

    5. 通常有人出现miner.start()返回null,,并且没有信息刷屏,就停留在null,, 原因回到step 3 你将输出结果打印到日志log,所以无法显示,exit 退出, 重新运行geth --datadir "./" --nodiscover console 即可。

    Step6: 挖矿启动后,查看主账户的以太币数量

    acc0 = eth.accounts[0]

    eth.getBalance(acc0)

    结果只要不为0,那就说明挖矿成功!

    退出挖矿:miner.stop()

    退出当前geth ,执行:exit

    重新运行geth, 直接进入到step 3, 不需要执行前两步了。

    相关文章

      网友评论

          本文标题:私有链的搭建

          本文链接:https://www.haomeiwen.com/subject/vvhbictx.html