XRPL Sniping [Получаем уведы о новых токенах]

D2

Администратор
Регистрация
19 Фев 2025
Сообщения
4,380
Реакции
0
тут просто картинка лого xrp



Приветствую!
Буквально часов 12 назад мне написал друг о том, что ему предлагают доступ в приватку, где приходят алерты об выходе токенов на маркет в чейне XRPL.
Для чего это нужно? Имея снайпер-бота(а он имеется в Telegram бесплатно, но со своей комиссией) можно залетать в новые токены одним из первых и тем самым закупаться по вкусной цене.
И обозначили ценник в 300$... Ну что-ж я буду за друг такой, если не накидаю свои 50 строк бесплатно! Ну и заодно потешить своё эго ))

На этом предыстория всё, поехали

Итак, что нам потребуется:

  • Node.js (естественно, без него никуда);
  • Telegram-бот, готовый принять ваши сообщения.
Давайте начнём с установки и настройки необходимой нам среды.

-----------------------------------------------------------------------------------------------------------

Настройка окружения​

Установка зависимостей​

Минимальный набор, который нам нужен:

Код: Скопировать в буфер обмена
npm install xrpl node-telegram-bot-api

  • xrpl — библиотека для работы с сетью XRP Ledger: подписываться на транзакции, отправлять их, подписывать и т.д.
  • node-telegram-bot-api — проще не придумать для работы с Telegram-ботом.

Телега-бот и подключение к XRPL​

Создаём Telegram-бота​

Для этого пишем BotFather в Telegram, проходим нехитрые шаги и получаем Bot Token, что-то вроде:
Код: Скопировать в буфер обмена
<ваш-токен>:AAH......

Не забудьте также узнать ID чата или канала, куда хотите швырять уведомления. Это может быть ваша группа/канал или просто личка (тогда нужен ваш userId).


-----------------------------------------------------------------------------------------------------------

Ну, всё, больше ничего не надо, дальше работаем с кодом
Ниже я приведу пример кода, в котором мы:


  1. Подключаемся к XRPL по WebSocket;
  2. Подписываемся на stream «transactions»;
  3. Отлавливаем только TransactionType = "AMMCreate";
  4. Отправляем всё, что нужно, в Telegram.

amamam.js (ну или как пожелаете...)
JavaScript: Скопировать в буфер обмена
Код:
const xrpl = require('xrpl');
const TelegramBot = require('node-telegram-bot-api');

// Укажите ваш токен, полученный у @BotFather
const TELEGRAM_BOT_TOKEN = '';
// Укажите ID чата или канала, куда бот будет отправлять сообщения
const TELEGRAM_CHAT_ID = '';

const bot = new TelegramBot(TELEGRAM_BOT_TOKEN, { polling: false });

async function main() {
  try {
    const client = new xrpl.Client('wss://xrplcluster.com');
    console.log('Подключение к XRPL...');
    await client.connect();

    await client.request({ command: 'subscribe', streams: ['transactions'] })
      .then(() => console.log('Подписка на поток транзакций выполнена.'))
      .catch((error) => console.error('Ошибка при подписке на транзакции:', error));

    client.on('connected', () => console.log('Подключение к XRPL установлено.'));
    client.on('disconnected', (code) => console.error(`Подключение потеряно. Код: ${code}`));
    client.on('error', (error) => console.error('Ошибка WebSocket:', error));

    client.on('transaction', (event) => {
      const tx = event.transaction || event.tx_json;

      if (tx && tx.TransactionType === 'AMMCreate') {
      
        const issuer = tx.Amount.issuer || tx.Asset2?.issuer || 'N/A';

        const message = `
Обнаружена транзакция AMM:
- Hash: ${tx.hash || 'N/A'}
- Issuer: ${issuer}
- Contract: ${tx.Account || 'N/A'}
        `;

        console.log('Найдено, отправляю в Telegram...');
        bot.sendMessage(TELEGRAM_CHAT_ID, message).catch((err) => {
          console.error('Ошибка при отправке сообщения в Telegram:', err);
        });
      }
    });
  } catch (error) {
    console.error('Ошибка при подключении к XRPL или подписке:', error);
  }
}

main();

Теперь при появлении любой транзакции типа AMMCreate в XRPL ваш бот будет присылать сообщение со строкой Issuer при каждой выполненной AMM Create транзакции (Issuer будет указывать нам на адресс токена)
Ээээ, ну, вот... Платите 300$))



Немного о том, почему нет смарт-контрактов на XRPL​

Может, кто задастся вопросом: «Где же смарт-контракт? Почему мы не видим развёртывания токенов, как в EVM-сетях?»
Ответ прост:


  • XRPL не поддерживает Turing-complete смарт-контракты (как Ethereum или Solana).
  • Всё работает через встроенные механизмы IOU (выпуск и учёт токенов без отдельного контракта) и DEX.
  • «Контракт токена» не нужен: вместо него есть трестлайны и механизмы, зашитые в сам протокол.
Что же, всё гениальное просто: XRPL создавался как платёжная система, а не как бесконечная платформа для кода. Хотя, конечно, есть планы на Hooks, но это отдельная (и довольно узконаправленная) история.

Надеюсь, материал пригодится! Всем доброго времени суток и спасибо за внимание! :)
 
Сверху Снизу