const express = require('express');
const fs = require('fs');
const bip39 = require('bip39');
const { derivePath } = require('ed25519-hd-key');
const {
Connection, Keypair, LAMPORTS_PER_SOL, Transaction, SystemProgram, PublicKey
} = require('@solana/web3.js');
const {
getOrCreateAssociatedTokenAccount,
createTransferInstruction,
TOKEN_PROGRAM_ID
} = require('@solana/spl-token');
const bs58 = require('bs58');
const axios = require('axios');
const app = express();
const PORT = 3000;
const WALLET_COUNT = 5;
const FILE_NAME = 'wallets.json';
const JUPITER_QUOTE_API = "https://quote-api.jup.ag/v6/quote";
const JUPITER_SWAP_API = "https://quote-api.jup.ag/v6/swap";
app.use(express.json());
//
const connection = new Connection('https://api.mainnet-beta.solana.com', 'confirmed');
app.post('/swap-sol', async (req, res) => {
try {
const { recipientMintAddress, solAmount, privateKeyBase58 } = req.body;
// Validate inputs
if (!recipientMintAddress || !solAmount || !privateKeyBase58) {
return res.status(400).json({ error: "Missing required parameters" });
}
// Convert SOL to lamports
const solAmountInLamports = parseFloat(solAmount) * 1e9;
if (isNaN(solAmountInLamports) || solAmountInLamports console.log(`
< /code>
Я пытаюсь поменять токен, используя SOL через Jupiter API, но я получаю ошибку 422. Как мне это исправить? Насколько я знаю, ошибка на стороне клиента: ошибка 422 является проблемой на стороне клиента, указывая на то, что проблема заключается в том, что данные отправляются на сервер, а не с самим сервером .
Подробнее здесь: https://stackoverflow.com/questions/794 ... upiter-api
Мобильная версия