Рубрики
Uncategorized

Как общаться с узлом кардано на удаленном хосте

Недавно, работая на кардано на основе NFT Marketplace, моя команда, и мне пришлось придумать путь для … Теги с блокчан, дежоптом.

Недавно, работая над Кардано на основе NFT Marketplace Моя команда, и мне пришлось подняться на нашу бэкэнд общаться с узлом кардано на удаленном хосте.

Учитывая, что наша бэкэнда развернута на AWS Fargate у нас было два варианта:

  • Развернуть кардано-узел на AWS Fargate и как-нибудь поделитесь файлом Socket Unix с нашей Backend
  • Каким-то образом выдержать файл сокета Unix через какой-либо другой протокол

Сначала мы пытались развернуть весь стек Cardano Graphql (включая узел кардано) на AWS Fargate, но это вызвало так много проблем для нас, поэтому мы решили пойти попробовать другой вариант. При изучении возможных решений мы наткнулись на SOCAT, утилита, которая позволяет вам разоблачить сокет Unix через TCP (и гораздо четко). Если вы заинтересованы в том, чтобы узнать больше о SOCAT, здесь отличная пост Что я лично придумал это решение.

Выставление розетки узела Cardano через TCP

Чтобы открыть файл сокета Unix Cardano Node Unix, нам сначала нужно установить пакет SOCAT. Установка будет зависеть от вашей ОС и менеджера по пакетам, но для большинства основных пакетов Manager SOCAT должен быть доступен под тем же именем. Чтобы установить SOCAT на хосте Debian (или любую другую ОС, используя менеджер Package APT-Get) Вы можете просто ввести: sudo apt-get update # Обновление пакеты sudo apt-get install socat

Теперь, когда мы уверены, что имеем необходимый пакет (SOCAT), чтобы открыть наш пункт сокета узла Cardano Unix, мы должны работать следующую команду:

socat TCP-LISTEN:3333,fork,reuseaddr, UNIX-CONNECT:$CARDANO_NODE_SOCKET_PATH

Это должно начать SOCAT на localhost и разоблачить наш файл сокета Cardano Node, значение которого устанавливается в Cardano_node_socket_path Переменная среды. Если у вас нет набора этой настройки среды, вы можете сделать это с помощью:

export CARDANO_NODE_SOCKET_PATH='/path/to/cardano-node/node.socket'

Если вы используете узел кардано с Docker, вы можете оформить заказ мое репо Там, где я проложил репозиторий Cardano-GraphQL и добавил контейнер Docker, который обнажает файл сокета Cardano Node через TCP. В настоящее время он на V4.0.0 Cardano-GraphQL, но я могу обновить, если для него достаточно интереса.

Подключение к удаленному хосту у узла Cardano через TCP

Чтобы подключиться к узлу Cardano на удаленном хосте, мы должны работать следующую команду (учитывая, что у нас есть SOCAT уже установлена на нашей машине и выставленном розетке узла на других):

socat UNIX-LISTEN:/path/to/local/node.socket,fork,reuseaddr,unlink-early, TCP:127.0.0.1:3333

Вы должны заменить Unix-прослушивание ценность к некоторому пути на нашей местной машине, где мы собираемся держать наши Node.socket Файл, а также заменить TCP Значение с IP вашей удаленной машины. Если мы сейчас настроем Cardano_node_socket_path В пункт назначения на нашей местной машине мы должны быть в состоянии использовать CARDANO CLI без запуска узла кардано на нашей местной машине.

Заключение

Хотя мы близки к интеллектуальным контрактам на Cardano Blockchain, нам все еще нужен способ общаться с нашим узлом кардано на CLI. Наша команда на Кардано синий Воспользовался Cardano-CLI и наверняка, чтобы торговать NFTS возможен даже без смартвых контрактов, но доступных, но после того, как они уверены, что разрабатывающие приложения, будут намного проще.

Оригинал: «https://dev.to/pyropy/how-to-communicate-with-the-cardano-node-on-a-remote-host-2pf6»