[ad_1]
SOLANA SERIES
A guide to fetch Solana Token Price
In this tutorial, we’ll go over utilizing the Moralis Solana API and NodeJs to retrieve the Solana token price.
To set up the application, follow the instructions below.
- Create a package.json file as below
npm init -y
2. Install moralis
and @moralisweb3/common-sol-utils
dependency as follows
npm i moralis @moralisweb3/common-sol-utils
3. Your package.json should contain the following
{
"name": "solana-token-price",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"start": "node server.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@moralisweb3/common-sol-utils": "^2.7.4",
"dotenv": "^16.0.3",
"express": "^4.18.2",
"moralis": "^2.7.4"
}
}
4. Create a .env file which contains the Moralis API_KEY
API_KEY = “Your Moralis API Key”
5. Start the server in server.js
require('dotenv').config();
const express = require('express');
const app = express();app.use(express.json());
app.listen(8080, async () => {
console.log('server started');
});
6. Start Moralis in server.js
require('dotenv').config();
const express = require('express');
const Moralis = require('moralis').default;const app = express();
const { API_KEY } = process.env;
app.use(express.json())
async function startMoralis() {
try{
await Moralis.start({
apiKey: API_KEY,
});
}catch(err) {
console.log(err);
}
}
app.listen(8080, async () => {
startMoralis();
console.log('server started');
})
7. Add a GET endpoint /sol-token-price to get the Solana token price.
require('dotenv').config();
const express = require('express');
const Moralis = require('moralis').default;
const { SolNetwork } = require('@moralisweb3/common-sol-utils');const app = express();
const { API_KEY } = process.env;
app.use(express.json())
async function startMoralis() {
try{
await Moralis.start({
apiKey: API_KEY,
});
}catch(err) {
console.log(err);
}
}
app.get('/sol-token-price', async (req, res) => {
const network = SolNetwork.MAINNET;
const { address } = req.body;
try{
const response = await Moralis.SolApi.token.getTokenPrice({
address,
network,
});
res.status(200).send(response.toJSON());
}catch(err) {
console.log(err);
}
})
app.listen(8080, async () => {
startMoralis();
console.log('server started');
})
8. Test the endpoint using Postman
The test result is given below. Give the wallet address in req.body
[ad_2]
Source link