NodeJS 如何让Sails.js应用监听以太坊区块链的事件,以在持久层执行CRUD

tf7tbtn2  于 2023-03-17  发布在  Node.js
关注(0)|答案(1)|浏览(111)

我在以太坊区块链上部署了一个智能合约,它会发出一些包含必要数据的事件。
我有一个sails.js应用程序需要侦听此事件。
大致上,JavaScript代码如下所示:

var event = contract.myEvent();
event.watch((err, res) => {
    console.log(res); // event response
    // API call to DB for persistence
});

由于sails.js遵循MVC,这段代码应该放在sails.js应用程序的什么位置,使用sails.js是个好主意吗?

wsewodh2

wsewodh21#

此代码应在应用程序启动时作为服务执行。
例如,您可以创建一个名为EventsService.js的文件:

let event = contract.myEvent();

exports.start = function () {

  event.watch((err, res) => {
    console.log(res); // event response
    // API call to DB for persistence
});
}

然后您可以像这样启动服务:(来自app.js文件)

const eventService = require('path/to/EventService.js');

eventService.start();

相关问题