zoukankan      html  css  js  c++  java
  • 以太坊搭建联盟链:两个节点完成一次转账交易

    创建组织

    • 新建两个文件夹啊a,b,分别代表两个组织在两个文件夹内分别创建文件genesis.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": "0x47b760",
      "difficulty": "0x00002",
      "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
      "coinbase": "0x0000000000000000000000000000000000000000",
      "alloc": {
        "0x1e82968C4624880FD1E8e818421841E6DB8D1Fa4" : {"balance" : "30000000000000000000"}
      },
      "number": "0x0",
      "gasUsed": "0x0",
      "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
    }
    
    • 在a中执行geth --datadir ./data-init1/ init genesis.json
    • 在b中执行geth --datadir ./data-init2/ init genesis.json

    启动控制台

    • 在a中执行geth --datadir ./data-init1/ --networkid 22 --nodiscover console;新开一个终端,在b中执行geth --datadir ./data-init2/ init genesis.json.
    • 出现 Welcome to the Geth JavaScript console!, 说明网络启动成功。

    添加账户

    • 在a,b上分别添加账户。
    personal.newAccount("123456")
    
    • a:"0xd4df3fab07d7d957b5f023b107c388173f0b24b1"
    • b:"0xe0e0772c036e0864d33d20c90bcd5f7ce9bf18bb"

    互通

    • 查看b节点信息,在a节点添加b

    • 执行命令admin.peers验证

    进行一次转账交易

    • 在a上执行eth.getBalance(eth.coinbase),账户余额为0,开始挖矿miner.start().

    • 然后再执行eth.getBalance(eth.coinbase):

    • 解锁账号,输入密码。向b的账户进行转账。

    • 开始挖矿

    • 在b上查询账户余额,转账成功(b未进行挖矿且初始账户余额为0)

    参考


    一个疑问,可能比较蠢-_- 一个节点可以创建多个账户,但只有一个coinbase?coinbase就是用来接受coin的?这个过程只是简单地走了一遍过程,具体的过程还没有捋顺,也没有使用智能合约?接下来就是看看如何部署智能合约。

  • 相关阅读:
    Redis分布式锁实现
    mysql索引命中规则
    spring注解原理
    img 标签访问图片返回403forbidden
    根据注解修改属性的值
    通过反射改变对象的属性
    利用反射获取类或者方法或者字段上的注解的值
    什么时候出现死锁,如何解决?mysql 引擎? 多个like or 查询sql如何优化?什么是常量池?for条件执行顺序
    jvm 基础
    为什么要用jvm .
  • 原文地址:https://www.cnblogs.com/20199321zjy/p/14113914.html
Copyright © 2011-2022 走看看