@moralisweb3/parse-server v2.26.1
@moralisweb3/parse-server
Parse Server Moralis Streams
This Plugin adapts parse-server to support streams
Usage
Since parse server is runs on express, this plugin is a middleware that can be added to the express app.
Installations
First add parse-server to your express app:
yarn add parse-server
Then add moralis parse server plugin:
yarn add @moralisweb3/parse-server
Setup parse server
Initialize parse server in your express app:
import ParseServer from 'parse-server';
import config from './config';
export const parseServer = new ParseServer({
databaseURI: config.DATABASE_URI,
cloud: config.CLOUD_PATH,
appId: config.APPLICATION_ID,
masterKey: config.MASTER_KEY,
serverURL: config.SERVER_URL,
});
Setup moralis parse server plugin
Then add the plugin to your express app:
import { streamsSync } from '@moralisweb3/parse-server';
the initializeStreams function takes the following options:
- the parse server instance
- Other options
interface StreamOptions {
webhookUrl?: string;
apiKey: string;
}
apiKey
: Your Moralis API keywebhookUrl
- the url of choice to receive the stream data (optional). default path is/streams-webhook
Putting all together
import Moralis from 'moralis';
import express from 'express';
import config from './config';
import { streamsSync } from '@moralisweb3/parse-server';
const expressApp = express();
Moralis.start({
apiKey: config.MORALIS_API_KEY,
});
expressApp.use(express.urlencoded({ extended: true }));
expressApp.use(express.json());
expressApp.use(cors());
expressApp.use(
streamsSync(parseServer, {
apiKey: config.MORALIS_API_KEY,
webhookUrl: '/streams-webhook',
}),
);
expressApp.use(`/${config.SERVER_ENDPOINT}`, parseServer.app);
expressApp.use(errorHandler);
app.listen(config.PORT, () => {
console.log(`${config.APP_NAME} is running on port ${config.PORT}`);
});
The endpoint to receive webhooks is YOUR_EXPRESSAPP_URL/SET_WEBHOOKURL
. This is the URL that you should use when setting up a stream.
Done!
After you have configured the plugin and created a stream you can see the data in the dashboard. Note that the stream tag will be concatenated with Txs
and Logs
meaning if you have a tag called "MyStream" you will have two collections in DB called "MyStreamTxs" and "MyStreamLogs", which will contain the transactions and logs respectively.
Full example can be found here
22 days ago
23 days ago
30 days ago
30 days ago
2 months ago
2 months ago
3 months ago
3 months ago
3 months ago
3 months ago
4 months ago
6 months ago
8 months ago
9 months ago
10 months ago
8 months ago
11 months ago
11 months ago
1 year ago
12 months ago
11 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago