美文网首页林梓技术分享集
Solodity知识点集 — Keccak256与事件(二)

Solodity知识点集 — Keccak256与事件(二)

作者: 童蒙vlog | 来源:发表于2018-04-23 23:59 被阅读10次

    Keccak256生成伪随机数

    keccak256("aaaab");
    //6e91ec6b618bb462a4a6ee5aa2cb0e9cf30f7a052bb467b0ba58b8748c00d2e5
    keccak256("aaaac");
    //b1f078126895a1424524de5321b339ab00408010b7cf0e6ed451514981e58aa9
    

    注: 在区块链中安全地产生一个随机数是一个很难的问题

    类型转换

    uint8 a = 5;
    uint b = 6;
    // 将会抛出错误,因为 a * b 返回 uint, 而不是 uint8:
    uint8 c = a * b;
    // 我们需要将 b 转换为 uint8:
    uint8 c = a * uint8(b);
    

    事件

    事件 是合约和区块链通讯的一种机制。你的前端应用“监听”某些事件,并做出反应。

    // 这里建立事件
    event IntegersAdded(uint x, uint y, uint result);
    
    function add(uint _x, uint _y) public {
      uint result = _x + _y;
      //触发事件,通知app
      IntegersAdded(_x, _y, result);
      return result;
    }
    

    你的 app 前端可以监听这个事件。JavaScript 实现如下:

    YourContract.IntegersAdded(function(error, result) { 
      // 干些事
    }
    

    Web3.js

    以太坊有一个 JavaScript 库,名为Web3.js。底层实现上,它通过RPC 调用与本地节点通信。web3.js可以与任何暴露了RPC接口的以太坊节点连接。

    后面会继续讲到。

    相关文章

      网友评论

        本文标题:Solodity知识点集 — Keccak256与事件(二)

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