waves_logo Docs
  • Обзор
    Обзор
  • Практические руководства
    • Получение данных из блокчейна
      Получение данных из блокчейна
    • Создание и отправка транзакций
      Создание и отправка транзакций
    • Токенизация
      Токенизация
    • Распространение токена (airdrop)
      Распространение токена (airdrop)
    • Прием платежей
      Прием платежей
    • Обмен токенов
      Обмен токенов
    • Простое голосование
      Простое голосование
    • Список как аргумент
      Список как аргумент
    Практические руководства
  • Смарт-контракты Waves
    Смарт-контракты Waves
  • dApp
    • Создание и запуск dApp
      Создание и запуск dApp
    dApp
  • Cмарт-аккаунт
    • Создание смарт-аккаунта
      Создание смарт-аккаунта
    • [en] Creating and deploying a script manually
      [en] Creating and deploying a script manually
    • [en] Video tutorials
      [en] Video tutorials
    Cмарт-аккаунт
  • Cмарт-ассет
    Cмарт-ассет
  • Инструменты разработчика
    • Waves IDE
      Waves IDE
    • Расширение для VS Code
      Расширение для VS Code
    • Surfboard
      Surfboard
    • Ride REPL
      Ride REPL
    Инструменты разработчика
  • Signer ◆
    Signer ◆
  • Waves API
    • Data Service API
      Data Service API
    • Node REST API 🡥
      Node REST API 🡥
    • Node gRPC Server 🡥
      Node gRPC Server 🡥
    • Blockchain Updates 🡥
      Blockchain Updates 🡥
    Waves API
  • Клиентские библиотеки
    • Waves C#
      • Установка SDK
        Установка SDK
      • Запуск кода
        • Отправка транзакций
          Отправка транзакций
        • Использование криптографических утилит
          Использование криптографических утилит
        • Взаимодействие с нодой
          Взаимодействие с нодой
        • Развертывание смарт-контрактов
          Развертывание смарт-контрактов
        Запуск кода
      Waves C#
    • Gowaves
      • Установка SDK
        Установка SDK
      • Запуск кода
        • Отправка транзакций
          Отправка транзакций
        • Использование криптографических утилит
          Использование криптографических утилит
        • Взаимодействие с нодой
          Взаимодействие с нодой
        • Развертывание смарт-контрактов
          Развертывание смарт-контрактов
        Запуск кода
      Gowaves
    • WavesJ
      • Установка SDK
        Установка SDK
      WavesJ
    • Ts-lib-crypto
      • Установка SDK
        Установка SDK
      Ts-lib-crypto
    • Waves-PHP
      • Установка SDK
        Установка SDK
      Waves-PHP
    • Waves-python
      • Установка SDK
        Установка SDK
      Waves-python
    • Waves-rust
      • Установка SDK
        Установка SDK
      Waves-rust
    Клиентские библиотеки
      • English
      • Русский
      On this page
        • Стандартная библиотека
        • Данные блокчейна
      waves_logo Docs

          # Ride REPL: интерактивная консоль Ride

          В консоли Ride REPL (от read-eval-print loop) можно ввести любое выражение на языке Ride и сразу увидеть результат.

          Консоль Ride REPL встроена в инструменты разработки:

          • Waves IDE
          • Surfboard

          В Ride REPL можно объявлять переменные, функции, а также использовать результаты предыдущих вычислений:

          RIDE > let x = 42
          defined let x: Int
          RIDE > func inc(i:Int) = { i + 1 }
          defined func inc(i: Int): Int
          RIDE > inc(x)
          res1: Int = 43
          RIDE > inc(res1)
          res2: Int = 44
          

          Команда :reset сбрасывает все предыдущие объявления и результаты.

          # Стандартная библиотека

          REPL поддерживает встроенные функции, операторы, переменные и структуры Ride:

          RIDE > max([2,12,85,6])
          res3: Int = 85
          RIDE > sha256(base58'')
          res4: ByteVector = base58'GKot5hBsd81kMupNCXHaqbhv3huEbxAFMLnpcX2hniwn')
          

          Получить сигнатуру любой функции, определение типа данных или тип переменной можно с помощью команды ?

          RIDE > ? getInteger
          func getInteger(addressOrAlias: Address|Alias, key: String): Int|Unit
          func getInteger(data: List[BinaryEntry|BooleanEntry|DeleteEntry|IntegerEntry|StringEntry], key: String): Int|Unit
          func getInteger(data: List[BinaryEntry|BooleanEntry|DeleteEntry|IntegerEntry|StringEntry], index: Int): Int|Unit
          func getInteger(key: String): Int|Unit
          

          Команда ?? выводит все описания.

          # Данные блокчейна

          Результаты выполнения некоторых функций и значения встроенных переменных зависят от текущих настроек для работы с блокчейном: аккаунта и выбранной сети (Mainnet, Testnet или другая). Например:

          RIDE > this
          res5: Address = Address(
                  bytes = base58'3N3ErpmUdJWy6DW4ruAr14YDis9UaiTwHd6'
          )
          RIDE > wavesBalance(this)
          res6: BalanceDetails = BalanceDetails(
              available = 8978000000
              regular = 8978000000
              generating = 8978000000
              effective = 8978000000
          )
          
          Surfboard
          Signer ◆
          Surfboard
          Signer ◆