美文网首页林梓技术分享集
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