【发布时间】:2017-07-24 19:35:23
【问题描述】:
我有一个在几秒钟内生成的交易列表,我正在使用包装器来获取这些交易,所以我制作了一个休息 api 来根据编号获取交易。但与此同时,交易会产生更多,所以我如何在它们不断生成时显示最近的交易。
我想在私有以太坊区块链上创建一个区块浏览器,使用 node.js 作为后端和 angular.js 作为前端。
【问题讨论】:
标签: angularjs node.js socket.io ethereum
我有一个在几秒钟内生成的交易列表,我正在使用包装器来获取这些交易,所以我制作了一个休息 api 来根据编号获取交易。但与此同时,交易会产生更多,所以我如何在它们不断生成时显示最近的交易。
我想在私有以太坊区块链上创建一个区块浏览器,使用 node.js 作为后端和 angular.js 作为前端。
【问题讨论】:
标签: angularjs node.js socket.io ethereum
你可以在这里使用 Websockets。
例如 Socket.io - https://github.com/socketio/socket.io
这里是 Angular 的 Socket.io 组件:https://github.com/btford/angular-socket-io
所以当你的交易产生时,你会向客户端发送Push消息,客户端会更新它的交易列表。
【讨论】:
如果您可以控制合约模块,那么这里最常见的方法可能是为每个重要的状态更改包含事件发射器。这会以详细(甚至可索引)且成本低廉的方式公开您的合约交易。
在客户端,您可以使用事件观察器。这很容易用 AngularJS 配置。当事件到达时,它们会调用回调。你可以在回调中做你需要支持 UI 或链下存储的事情。
例如,您可以在 Angular 的视图模型中的数组中追加一行。当模型中的数据发生变化时,Angular 可以很好地更新视图。因此,在交易事件到达时对其进行实时更新显示是非常可行的,而且不是特别困难。
希望对您有所帮助。
【讨论】: