美文网首页
区块链 | geth以太坊创建私有链

区块链 | geth以太坊创建私有链

作者: Ricsy | 来源:发表于2019-03-13 18:23 被阅读0次


    方法一

    创建私有链并启动节点

    • 创建一个配置私有链的数据目录ethprivate
    • 数据目录下,新建创世区块的初始化文件genesis.json
    
    {
    "config": {
                "chainId": 15,
                "homesteadBlock": 0,
                "eip155Block": 0,
                "eip158Block": 0
           },
           "difficulty": "200000000",
           "gasLimit": "2100000",
           "alloc": {
               "7df9a875a174b3bc565e6424a0050ebc1b2d1d82": { "balance": "300000" },
               "f41c74c9ae680c1aa78f42e5647a62f353b7bdde": { "balance": "400000" }
          }
    }
    
    
    • 打开cmd
    • 创建私有链

    geth --datadir "node1" init genesis.json

    • 启动私有链

    geth --datadir "node1" --networkid 989898 --rpc console --port 30304 --rpcport 8546

    • 查看节点摘要信息

    admin.nodeInfo

    注意:

    • 我们现在只是启动了一个节点,如果还需要启动第二个节点,将node1变为node2,然
      后同样运行初始化,以及启动节点命令即可(以此类推).
    • 需要注意的是,要指定不同的端口,否则可能会导致端口占用冲突.
    • 若创建多个节点,则节点之间可以通过admin.addPeer连接.
    • 在本机启动多个节点或者在不同的计算机上运行多个节点都可以,这样可以模拟出一个私有链网络.

    创建账户后进行挖矿

    • 创建账户
      personal.newAccount("admin1")

    提示:

    • 账户名称可改
    • 挖矿
    //启动挖矿
    miner.start()
    
    //停止挖矿
    miner.stop()
    
    

    方法二

    说明

    可以快速方便进行测试使用以及智能合约开发.

    • 安装Node.js

    提示:

    使用npm安装TestRPC

    npm install -g ethereumjs-testrpc

    • 查看版本信息
      testrpc -version

    使用npm安装装Truffle

    npm install –g truffle

    • 查看版本信息
      truffle -version

    安装solc

    npm install -g solc

    注意

    • 安装后的命令是solcjs——这是用来编译智能合约代码的

    运行测试

    • 启动TestRPC
      testrpc
    • 开启另一终端,创建项目框架
      mkdir mytruffle && cd mytruffle
      truffle unbox webpack

    参阅:webpack

    • 创建智能合约
    
    pragma solidity ^0.4.11;
    contract MyCalc {
    function SumAdd(uint a) public returns(uint d) {
    return a + 100;
    }
    }
    
    
    • 编译智能合约
      truffle compile

    注意:

    • 回到mytruffle的目录才进行编译
    • 编译中遇到的问题和解决方法
    Q A
    1. No visibility specified. Did you intend to add "public"? 在函数后面returns前面添加public关键词
    2. nightly builds are considered to be strictly less than the released version 找到truffle-config.js中的compiler项,将里面的version改为你智能合约的编译版本,然后再编译或改变pragma solidity声明的版本.
    • 修改部署配置
    • 编译与部署
      truffle develop
      compile
      migrate

    说明:

    • Truffle Develop是truffle内置的客户端
    • truffle develop里执行truffle命令的时候需要省略前面的truffle
    • Truffle仅默认编译自上次编译后被修改过的文件,来减少不必要的编译。如果你想编译全部文件,使用
      truffle compile --compile-all
    • migrate会执行所有migrations目录下的js文件。如果之前执行过truffle migrate命令,再次执行,只会部署新的js文件,如果没有新的js文件,不会起任何作用。如果想重新的执行所有脚本的部署,使用
      truffle migrate --reset
    • 在主目录新开第三个终端,运行
      cd app
      npm run dev

    更新中......


    相关文章

      网友评论

          本文标题:区块链 | geth以太坊创建私有链

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