Разное

Узел графика: НОУ ИНТУИТ | Лекция | Основы векторной графики. Базовые принципы работы в CorelDRAW

Содержание

Улучшение качества печати

Бледная печать

• 

Проверьте условия эксплуатации принтера. Этот сбой при печати могут вызвать такие условия, как высокая температура, влажность и т. п. См. Выбор места для установки принтера.

• 

Если бледно распечатывается вся страница, возможно, включен Режим экономии тонера. Отключите Режим экономии тонера на вкладке Свойства в драйвере принтера.

• 

Установите новый тонер-картридж. См. Замена тонер-картриджа.

• 

Установите новый фотобарабан. См. Замена фотобарабана.

• 

Возможно, чтобы устранить проблему, будет достаточно протереть окно сканера мягкой тканью. См. Чистка внутренних деталей принтера.

Серый фон

• 

Убедитесь в том, что используемая бумага соответствует нашим спецификациям. См. О бумаге.

• 

Проверьте условия эксплуатации принтера. Такие условия, как высокие температура и влажность, могут увеличить степень затемнения фона. См. Выбор места для установки принтера.

• 

Установите новый тонер-картридж. См. Замена тонер-картриджа.

• 

Установите новый фотобарабан. См. Замена фотобарабана.

Фантомное изображение

• 

Убедитесь в том, что используемая бумага соответствует нашим спецификациям. Причиной этой проблемы может стать бумага с грубой поверхностью или плотный носитель печати. См. О бумаге.

• 

Убедитесь в том, что настройки печатаного носителя в драйвере принтера соответствуют типу используемой бумаги. См. О бумаге.

• 

Установите новый фотобарабан. См. Замена фотобарабана.

• 

Возможно, загрязнен узел термозакрепления. Обратитесь в службу работы с клиентами компании Brother.

Точки тонера

• 

Убедитесь в том, что используемая бумага соответствует нашим спецификациям. Причиной этой проблемы может стать бумага с грубой поверхностью. См. О бумаге.

• 

Возможно, поврежден узел фотобарабана. Установите новый фотобарабан. См. Замена фотобарабана.

• 

Возможно, загрязнен узел термозакрепления. Обратитесь в службу работы с клиентами компании Brother.

Печать с пробелами

• 

Убедитесь в том, что используемая бумага соответствует нашим спецификациям. См. О бумаге.

• 

Выберите в драйвере принтера режим Плотная бумага или используйте более тонкую бумагу.

• 

Проверьте условия эксплуатации принтера. Такие условия, как высокая влажность, могут вызвать печать с пробелами. См. Выбор места для установки принтера.

• 

Возможно, поврежден узел фотобарабана. Установите новый фотобарабан. См. Замена фотобарабана.

Печать всей страницы черным цветом

• 

Очистите основной коронатор внутри узла фотобарабана, для этого сдвиньте несколько раз вправо и влево зеленую лапку. Убедитесь, что зеленая лапка находится в исходном положении (). См. Очистка коронатора.

• 

Возможно, поврежден узел фотобарабана. Установите новый фотобарабан. См. Замена фотобарабана.

• 

Возможно, загрязнен узел термозакрепления. Обратитесь в службу работы с клиентами компании Brother.

Белые линии поперек страницы

• 

Убедитесь в том, что используемая бумага соответствует нашим спецификациям. Причиной проблемы может стать бумага с грубой поверхностью или плотный печатный носитель.

• 

Убедитесь, что в драйвере принтера выбран правильный тип печатного носителя.

• 

Проблема может устраниться сама. Чтобы устранить проблему, попытайтесь распечатать несколько страниц, особенно если принтер не использовался долгое время.

• 

Возможно, поврежден узел фотобарабана. Установите новый фотобарабан. См. Замена фотобарабана.

Линии поперек страницы

• 

Очистите внутренние поверхности принтера и основной коронатор в узле фотобарабана.

См. Чистка.

• 

Возможно, поврежден узел фотобарабана. Установите новый фотобарабан. См. Замена фотобарабана.

Вертикальные белые полосы на странице

• 

Убедитесь, что окно сканера не закрывает обрывок бумаги внутри принтера.

• 

Протрите окно сканера мягкой тканью. См. Чистка внутренних деталей принтера.

• 

Возможно, поврежден тонер-картридж. Установите новый тонер-картридж. См. Замена тонер-картриджа.

• 

Возможно, поврежден узел фотобарабана. Установите новый фотобарабан. См. Замена фотобарабана.

Белые пятна на черном тексте и графике с интервалами 75 мм

Черные пятна с интервалами 75 мм

• 

Если после распечатки нескольких страниц проблема не устранена, возможно, на поверхность оптического фотопроводящего слоя фотобарабана прилип клей от этикетки.

Очистите узел фотобарабана следующим образом.

1

Поместите образец печати перед узлом фотобарабана и определите точное положение дефекта печати.

2

Поворачивая механизм редуктора узла фотобарабана вручную, проверьте поверхность оптического фотопроводящего слоя фотобарабана (1).

3

Обнаружив соответствующее образцу печати загрязнение, протрите поверхность оптического фотопроводящего слоя барабана ватным тампоном, чтобы удалить пыль или клей.

 ОСТОРОЖНО

 

НЕ очищайте поверхность фоточувствительного барабана острым предметом.

• 

Возможно, поврежден узел фотобарабана. Установите новый фотобарабан. См. Замена фотобарабана.

Черные мазки тонера поперек страницы

• 

Возможно, поврежден узел фотобарабана. Установите новый фотобарабан. См. Замена фотобарабана.

• 

Возможно, поврежден тонер-картридж. Установите новый тонер-картридж. См. Замена тонер-картриджа.

• 

Убедитесь в том, что используемая бумага соответствует нашим спецификациям. См. О бумаге.

• 

Если используются этикетки для печати на лазерных принтерах, на оптическом фотопроводящем слое барабана может остаться клей. Очистите фотобарабан. См. Очистите узел фотобарабана следующим образом..

• 

Не допускается использование бумаги, скрепленной скобами или скрепками, так как скобы поцарапают поверхность барабана.

• 

Воздействие прямого солнечного или комнатного света может повредить распакованный узел фотобарабана.

Черные линии вдоль страницы

Вдоль распечатанных страниц остаются пятна тонера.

• 

Очистите коронатор внутри узла фотобарабана, для этого сдвиньте несколько раз вправо и влево зеленую лапку.

См. Очистка коронатора.

• 

Убедитесь, что лапка очистки основного коронатора находится в исходном положении ().

• 

Возможно, поврежден узел фотобарабана. Установите новый фотобарабан. См. Замена фотобарабана.

• 

Возможно, поврежден тонер-картридж. Установите новый тонер-картридж. См. Замена тонер-картриджа.

• 

Возможно, загрязнен узел термического закрепления тонера. Свяжитесь с продавцом принтера или со службой работы с клиентами компании Brother.

Скошенная печать

• 

Убедитесь, что бумага или другой носитель печати правильно загружены в лоток для бумаги, а направляющие не слишком слабо и не слишком сильно зажимают стопку бумаги.

• 

Правильно установите направляющие бумаги. См. Печать на обычной бумаге и прозрачных пленках из лотка для бумаги.

• 

Если используется cлот для ручной подачи бумаги, см. Печать на обычной бумаге, высокосортной бумаге и прозрачных пленках из слота для ручной подачи бумаги..

• 

Возможно, переполнен лоток для бумаги. См. Печать на обычной бумаге и прозрачных пленках из лотка для бумаги.

• 

Проверьте тип и качество бумаги. См. О бумаге.

Скрученная или волнистая страница

• 

Проверьте тип и качество бумаги. Причиной скручивания может стать высокая температура или влажность. См. О бумаге.

• 

Если принтер используется редко, вероятно, бумага слишком долго находилась в лотке для бумаги. Переверните стопку бумаги в лотке для бумаги. Кроме того, выровняйте стопку бумаги и переверните ее на 180° в лотке для бумаги.

Бумага смята или со складками

• 

Убедитесь, что бумага правильно загружена. См. Печать на обычной бумаге и прозрачных пленках из лотка для бумаги.

• 

Проверьте тип и качество бумаги. См. О бумаге.

• 

Переверните стопку бумаги в лотке или попробуйте повернуть ее на 180° в приемном лотке.

Ненадежное закрепление

• 

Выберите режим Улучшить закрепление тонера в драйвере принтера. См. пункт Регулировка вывода бумаги в Вкладка «Дополнительные» (для Windows®) или Параметры печати (для Macintosh®).
Если выполняется печать небольшого числа страниц, выберите для параметра Тип печатного носителя драйвера принтера вариант Более плотная.

Скрученная

• 

Переверните бумагу в лотке для бумаги и повторите печать. (Кроме бланков) если проблему устранить не удастся, поднимите опорные подставки следующим образом.

1

Поднимите опорную подставку 1 выходного лотка (1).

2

Поднимите опорную подставку 2 выходного лотка (2).

3

Согните вниз опорную подставку 1 выходного лотка (1), а затем опорную подставку 2 выходного лотка (2).

• 

Выберите режим Снизить скручивание в драйвере принтера, если используется бумага, отсутствующая в списке рекомендованной. См. пункт Регулировка вывода бумаги в разделе Вкладка «Дополнительные» (для Windows®) или Параметры печати (для Macintosh®).

Узел-шнурок Лента, Метка, угол, лента, 3D компьютерная графика png

Узел-шнурок Лента, Метка, угол, лента, 3D компьютерная графика png

теги

  • угол,
  • лента,
  • 3D компьютерная графика,
  • продажа тег,
  • текст,
  • прямоугольник,
  • лук,
  • ценник,
  • интернет,
  • золотой лук,
  • шнурок Узел,
  • деревянный тег,
  • тег,
  • красная лента,
  • красный,
  • теги,
  • ценники,
  • точка,
  • рождественская бирка,
  • творчество,
  • дизайнер,
  • скачать,
  • подарок тег,
  • золотой,
  • графический дизайн,
  • информация,
  • линия,
  • желтый,
  • png,
  • прозрачный,
  • бесплатная загрузка

Об этом PNG

Размер изображения
650x669px
Размер файла
84.6KB
MIME тип
Image/png
Скачать PNG ( 84. 6KB )

изменить размер PNG

ширина(px)

высота(px)

Лицензия

Некоммерческое использование, DMCA Contact Us

  • желтая бирка цена, бумажная шелковая лента, бантик этикетка, Разное, этикетка, прямоугольник png 1806x1925px 1.46MB
  • Сбытовая сеть D Ценник, бирка, Продажа тег, текст, этикетка png 2246x2945px 100.14KB
  • Редактирование рождественских подарков, тег, Продажа тегов, прямоугольник, ценник png 650x650px 69.94KB
  • Значок ярлыка цены, иллюстрация 3D красной ленты, красная иллюстрация, Продажа тегов, интернет, клип-арт png 1048x1296px 53. 94KB
  • Синий, лента, синяя иллюстрация, плавающий, угол, лента png 945x591px 125.73KB
  • красная ленточка, красный ленточный компьютер, красный бант, разное, лента, текст png 524x535px 59.9KB
  • Бумага дерево, бирка, угол, коричневый, продажа тег png 1391x728px 3.87MB
  • красная иллюстрация ценника, бирка сбывания икон компьютера красная, ценник красного цвета, ярлык, прямоугольник, логотип png 512x512px 14.34KB
  • коричневые деревянные качели, деревянная бирка, деревянная бирка, бирка продажи, прямоугольник, деревянная доска png 3402x3402px 2. 88MB
  • желтая лента, золото евклидово, золотой лук, разное, угол, золотая рамка png 800x800px 133KB
  • коричневая и серая деревянная доска, висящая иллюстрация, доска бирки, угол, продажа тег, фотография png 1744x1349px 2.18MB
  • Дизайн иконок Значок взрыва, Ценник, иллюстрация мультфильма взрыва, бирка, лист, этикетка png 3496x2544px 1.96MB
  • серебряная пластина, евклидова металлическая заклепка, бирка, угол, продажа тег, прямоугольник png 1600x1600px 197.31KB
  • wow super sale читать дальше текст, рекламный баннер, промо-магазин, ярлык магазина, бирка, ярлык, текст png 1000x1000px 137. 82KB
  • Значок ценника, Лучший ценник, Лучший логотип, любовь, текст, клипарт png 5860x5502px 453.85KB
  • коричневая иллюстрация бирки картона, веревочная креативность, коричневая бирка веревки, бирка продажи, прямоугольник, техника png 1157x850px 950.54KB
  • красное кружево и белая коробка, бирка творческая, бирка, продажа Тег, рука, логотип png 631x1406px 787.41KB
  • коричневая деревянная доска, Продажа тегов, этикетка, фотография png 1200x911px 962.85KB
  • желтые и синие баннеры иллюстрация, бумажная лента оригами, лента оригами, синий, угол, метка png 1300x1062px 939. 73KB
  • Золотой, Золотой фон текстура волнистые линии материала, угол, коричневый, золотой Рама png 800x800px 102.28KB
  • белая лента иллюстрация, лента, лента, угол, с днем ​​рождения векторные изображения png 1092x2480px 237.55KB
  • текстильная иллюстрация пяти разных цветов, угол бумаги, опрессовка, бирка, ярлык, прямоугольник png 1300x1239px 1.11MB
  • Бумажная лента для баннеров, 4 бумажных ленты для баннеров, четыре ленты разных цветов, синий, угол, этикетка png 577x684px 28.52KB
  • Красная лента, ленты для галстуков, любовь, плавающая, лента png 1172x1107px 187. 24KB
  • красная и белая лента, красное знамя, красная простая метка, бирка продажи, ярлык, простой png 2501x1733px 107.96KB
  • Значок ярлыка, тег, продажа тег, ценник, красная веревка png 924x1989px 1.35MB
  • желтый и зеленый шаблон границы листа, золотой рис, бирка уха блеска, ботаника, продажа тег, этикетка png 2000x1866px 533.23KB
  • розовый и желтый фон с оверлеем для текста специального предложения, ярлыком, красным ярлыком предложения, текст, фотография, логотип png 3001x3745px 256.96KB
  • Петля-бабочка Узел-шнурок, узел Золотая бабочка, текстура, угол, лента png 1500x5207px 878. 68KB
  • коричневый щит деревянный подвесной декор, компьютерный файл, бирка, бирка продажи, прямоугольник, фотография png 800x785px 2.4MB
  • Подарочная коробка Лента, Подарок, Разное, лента, плакат png 800x800px 318.91KB
  • четыре треугольных кубика разных цветов, графический дизайн Infographic Diagram, тэг PPT Business, шаблон, угол, деловая женщина png 650x650px 71.21KB
  • Иконка Диаграмма инфографики, элемент Creative PPT, иллюстрация пяти разных цветов, угол, компьютерная графика 3D, текст png 1318x1439px 19.9KB
  • Красная лента Скотч, Лента, лента, текст, сердце png 1552x1146px 591. 68KB
  • красно-белая иллюстрация, цена стимулирование продаж бесплатно, красный шок ценник, белый, продажа тег, текст png 1500x1500px 109.6KB
  • черная велосипедная иллюстрация, Евклидовый цветок Adobe Illustrator, цветочная лента, граница, акварель Живопись, лента png 1758x2271px 406.56KB
  • рекламные объявления о продаже спецпредложений, рекламные баннеры, текстиль, желтая бирка, Бирка продажи, ярлык, текст png 3001x3289px 207.26KB
  • красный логотип, Желтое Дерево Pattern, Red Madden Рекламные Теги, Продажа тегов, текст, оранжевый png 1500x1500px 72.72KB
  • org/ImageObject»> Линия Кривая Евклидова, ленты, синие и черные линии иллюстрации, синий, угол, лента png 945x591px 171.4KB
  • Большая распродажа иллюстрация, этикетка, ценник, Продажа тегов, текст, логотип png 800x800px 204.72KB
  • желтая лента, шнурок узел подарочной ленты золотой, золотой лук, разное, золотая рамка, воздушный шар png 3746x3066px 9.59MB
  • розовый крестик, чернильная ручка, красная тушь, чернила, оставить Материал, текст png 2360x2308px 277.72KB
  • приветственное обозначение, компьютерный файл, приветственный тег, английский, продажа тег, текст png 626x626px 181.92KB
  • org/ImageObject»> Компьютерные иконки Ценник, бирка, ярлык, прямоугольник, черный png 981x903px 41.64KB
  • желтая волна, кривая, лента, лента, угол, оранжевый png 1217x1051px 204.08KB
  • разноцветная доска, креативная инфографика, креативный элемент PPT, угол, 3D компьютерная графика, текст png 2100x1274px 28.4KB
  • золотая лента иллюстрация, лента, золотая лента, Золотая рамка, компьютерные обои, золото png 910x654px 222.03KB
  • Веб-баннер Евклидова Лента Иконка, модный дизайн материал ленты тег, баннер иллюстрации много, Девушка моды, оранжевый, логотип png 3750x2500px 273.74KB
  • org/ImageObject»> Новогодний рождественский подарок, фиолетовая лента, разное, фиолетовый, лента png 1500x476px 380.19KB
  • билет игрового автомата, шаблон структуры структуры бумаги, бирка желтого знамени, граница, текстура, угол png 2500x1045px 134.65KB

Issues · graphprotocol/graph-node · GitHub

Новый выпуск

Есть вопрос по этому проекту? Зарегистрируйте бесплатную учетную запись GitHub, чтобы открыть задачу и связаться с ее сопровождающими и сообществом.

Зарегистрируйтесь на GitHub

Нажимая «Зарегистрироваться на GitHub», вы соглашаетесь с нашими условиями обслуживания и Заявление о конфиденциальности. Время от времени мы будем отправлять вам электронные письма, связанные с учетной записью.

Уже на GitHub? Войти на ваш счет

Индексатор не работает с IPFS CIDv1

#4373 открыт 15 февраля 2023 г. автором ротарур

Несколько провайдеров Firehose для метрик firehose, если в качестве конфигурации указан только один провайдер Firehose

#4372 открыт 15 февраля 2023 г. автором paymog

Добавить способ перемещения всех подграфов из шарда

#4371 открыт 15 февраля 2023 г. автором лоттер

1

Планируется поддержка SQLite?

#4370 открыт 15 февраля 2023 г. автором computeronix

POI генерируется для неверного номера блока и хэша

#4369 открыт 14 февраля 2023 г. автором Hopeyen

Невозможно нежно индексировать вилку

#4356 открыт 12 февраля 2023 г. автором skyao2002

Невозможно развернуть любой новый подграф

#4355 открыт 11 февраля 2023 г. автором aayush5vedi

Запуск узла с параметром —subgraphs завершается ошибкой, если блок еще не загружен

#4352 открыт 8 февраля 2023 г. автором манга

Какие вызовы RPC заменяет firehose?

#4346 открыт 7 февраля 2023 г. автором paymog

Заставить управление нагрузкой провайдера работать для Firehose

#4338 открыт 6 февраля 2023 г. автором манга

граф-узел не будет работать с переменной среды PGPASSFILE

#4336 открыт 3 февраля 2023 г. автором эндерсонмайя

Использует ли graphman check-blocks провайдеров Firehose?

#4335 открыт 2 февраля 2023 г. автором paymog

Тесты на прививку файловых источников данных тестирование

#4334 открыт 1 февраля 2023 г. автором leoyvens

Разрешить предложение where в запросах подграфа ссылаться на другое поле в типе площадь/график область/подграфы Новая функция

#4332 открыт 31 января 2023 г. автором смбеленый

Нефатальная ошибка не отображается в API статуса индексации ошибка

Что-то не работает

#4329 открыт 30 января 2023 г. автором leoyvens

Избегайте «отмены заявления из-за конфликта с восстановлением»

#4327 открыт 27 января 2023 г. автором lutter

Сделать запросы детерминированными при использовании реплик чтения

#4326 открыт 27 января 2023 г. автором lutter

Система на основе правил для управления созданием индексов и аналогичными атрибутами

#4325 открыт 27 января 2023 г. автором lutter

Дублированный провайдер без каких-либо настроек пожарный шланг

#4323 открыт 27 января 2023 г. автором maoueh

Напишите файл схемы JSON для subgraph.yaml документация

#4322 открыт 25 января 2023 г. автором neysofu

выход за пределы доступа к памяти wasm backtrace ошибка

Что-то не работает

#4317 открыт 24 января 2023 г. автором Леон-до

Как загрузить состояние приложения Genesis в хранилище графиков

#4316 открыт 24 января 2023 г. автором faza

неизвестный импорт: ethereum::ethereum.call не определен оффчейн

Источники данных вне сети, такие как файлы IPFS

#4309 открыт 23 января 2023 г. автором leoyvens

добавить экспортер прометея дрейфа времени блока для каждого подграфа

#4307 открыт 22 января 2023 г. автором matthewdarwin

Остановить создание привязок Protobuf Rust на build.rs область/подпотоки

Проблемы, связанные с подпотоками

пожарный шланг

#4305 открыт 20 января 2023 г. автором maoueh

ProTip! Смешивайте и подбирайте фильтры, чтобы сузить поиск.

Рабочий узел графа — документация по графу

Узел графа — это компонент, который индексирует подграфы и делает полученные данные доступными для запроса через API GraphQL. Таким образом, он занимает центральное место в стеке индексатора, и правильная работа узла графа имеет решающее значение для успешного запуска индексатора.

Предоставляет контекстуальный обзор Graph Node и некоторые из более продвинутых параметров, доступных индексаторам. Подробную документацию и инструкции можно найти в репозитории Graph Node.

Graph Node — это эталонная реализация для индексации подграфов в сети Graph, подключения к клиентам блокчейна, индексации подграфов и предоставления индексированных данных для запроса.

Graph Node (и весь стек индексатора) можно запускать на «голом железе» или в облачной среде. Эта гибкость центрального компонента индексации имеет решающее значение для надежности The Graph Protocol. Точно так же Graph Node может быть создан из исходного кода, или индексаторы могут использовать один из предоставленных образов Docker.

База данных PostgreSQL#Ссылка на этот раздел

Основное хранилище для узла графа, здесь хранятся данные подграфа, а также метаданные о подграфах и сетевые данные, не зависящие от подграфа, такие как кэш блоков и кэш eth_call.

Сетевые клиенты#Ссылка на этот раздел

Чтобы проиндексировать сеть, Graph Node требуется доступ к сетевому клиенту через Ethereum-совместимый JSON-RPC. Этот RPC может подключаться к одному клиенту Ethereum или может быть более сложной настройкой, которая распределяет нагрузку между несколькими.

Хотя для некоторых подграфов может потребоваться полный узел Ethereum, некоторые могут иметь функции индексирования, требующие дополнительных функций RPC. В частности, для подграфов, создающих eth_calls в рамках индексации, потребуется архивный узел, поддерживающий EIP-1898, а для подграфов с callHandlers или blockHandlers с фильтром call , требуется поддержка trace_filter (см. документацию по модулю трассировки). здесь).

Предстоящие: Сетевые пожарные шланги — Firehose — это служба gRPC, предоставляющая упорядоченный, но поддерживающий разветвление поток блоков, разработанный основными разработчиками The Graph для лучшей поддержки производительного индексирования в масштабе. В настоящее время это не является обязательным требованием для индексатора, но индексаторам рекомендуется ознакомиться с технологией до полной сетевой поддержки. Узнайте больше о Firehose здесь.

Узлы IPFS#Ссылка на этот раздел

Метаданные развертывания подграфа хранятся в сети IPFS. Узел графа в первую очередь обращается к узлу IPFS во время развертывания подграфа, чтобы получить манифест подграфа и все связанные файлы. Сетевым индексаторам не нужно размещать собственный узел IPFS. Узел IPFS для сети размещен по адресу https://ipfs.network.thegraph.com.

Сервер метрик Prometheus#Ссылка на этот раздел

Чтобы включить мониторинг и отчетность, Graph Node может дополнительно регистрировать метрики на сервере метрик Prometheus.

Начало работы из исходников#Ссылка на этот раздел

Установите необходимые компоненты#Ссылка на этот раздел
 

sudo apt-get install -y clang libpg-dev libssl-dev pkg-config

Настройка#Ссылка на этот раздел
  1. Запустить сервер базы данных PostgreSQL
 

initdb -D . postgres

pg_ctl -D .postgres -l запуск файла журнала

createdb graph-node

  1. Клонировать репозиторий Graph Node и построить исходный код, запустив cargo build

  2. Теперь, когда все зависимости настроены, запустите узел графика:

 

cargo run -p graph-node --release -- \

--postgres-url postgresql://[ИМЯ ПОЛЬЗОВАТЕЛЯ]:[ПАРОЛЬ]@localhost:5432/graph-node \

--ethereum-rpc [ИМЯ_СЕТИ]:[URL] \

--ipfs https://ipfs.network.thegraph.com

Начало работы с Docker#Ссылка на этот раздел

Предварительные условия#Ссылка на этот раздел
  • Узел Ethereum . По умолчанию настройка создания докеров будет использовать основную сеть: http://host.docker.internal:8545 для подключения к узлу Ethereum на вашем хост-компьютере. Вы можете заменить это имя сети и URL-адрес, обновив docker-compose.yml .
Настройка#Ссылка на этот раздел
  1. Clone Graph Node и перейдите в каталог Docker:
 

git clone http://github. com/graphprotocol/graph-node

cd graph-node/docker

  1. Только для пользователей Linux. Используйте IP-адрес хоста вместо host.docker.internal в docker-compose.yml с помощью прилагаемого сценария:
 

./setup.sh

  1. Запустите локальный узел Graph, который будет подключаться к вашей конечной точке Ethereum:
 

создание докеров

Начало работы с Kubernetes#Ссылка на этот раздел

Полный пример конфигурации Kubernetes можно найти в репозитории индексатора.

Порты#Ссылка на этот раздел

Во время работы Graph Node предоставляет следующие порты:

Порт Назначение Маршруты Аргумент CLI Переменная среды
8000 HTTP-сервер GraphQL
(для запросов подграфов)
/subgraphs/id/…
/subgraphs/name/. ../…
—http-port8383
8001 GraphQL WS
(для подписки на подграфы)
/subgraphs/id/…
/subgraphs/name/…/…
—ws-port788 8020 JSON-RPC
(для управления развертываниями)
/ —admin-port
8030 Subgraph indexing status API /graphql —index-node-port
8040 Prometheus metrics /metrics —metrics-port

Важно : Будьте осторожны с общедоступными портами — административные порты должны быть заблокированы. Сюда входит конечная точка JSON-RPC узла графа.

В простейшем случае Graph Node может работать с одним экземпляром Graph Node, одной базой данных PostgreSQL, узлом IPFS и сетевыми клиентами в соответствии с требованиями индексируемых подграфов.

Эту настройку можно масштабировать горизонтально, добавляя несколько узлов графа и несколько баз данных для поддержки этих узлов графа. Опытные пользователи могут захотеть воспользоваться некоторыми возможностями горизонтального масштабирования Graph Node, а также некоторыми более продвинутыми параметрами конфигурации через config.toml и переменные окружения Graph Node.

Файл конфигурации TOML можно использовать для задания более сложных конфигураций, чем представленные в интерфейсе командной строки. Местоположение файла передается с помощью параметра командной строки —config.

При использовании файла конфигурации невозможно использовать параметры —postgres-url, —postgres-secondary-hosts и —postgres-host-weights.

Можно предоставить минимальный файл config.toml ; следующий файл эквивалентен использованию параметра командной строки —postgres-url:

 

[store]

[store.primary]

connection="<. . аргумент postgres-url ..>"

[deployment]

[[deployment.rule]]

indexers = [ "<. . список всех узлов индексации ..>" ]

Полную документацию по config.toml можно найти в документах Graph Node.

Несколько узлов графа#Ссылка на этот раздел

Индексация узла графа может масштабироваться по горизонтали, запуская несколько экземпляров узла графа для разделения индексации и запросов между разными узлами. Это можно сделать, просто запустив узлы графа, сконфигурированные с другим node_id при запуске (например, в файле Docker Compose), который затем можно использовать в файле config.toml для указания выделенных узлов запросов, захватчиков блоков и разделения подграфов по узлам с правилами развертывания.

Обратите внимание, что несколько узлов Graph можно настроить для использования одной и той же базы данных, которая сама может масштабироваться по горизонтали с помощью сегментирования.

Правила развертывания#Ссылка на этот раздел

При наличии нескольких узлов графа необходимо управлять развертыванием новых подграфов, чтобы один и тот же подграф не индексировался двумя разными узлами, что может привести к конфликтам. Это можно сделать с помощью правил развертывания, которые также могут указывать, какие shard в котором должны храниться данные подграфа, если используется сегментирование базы данных. Правила развертывания могут совпадать по имени подграфа и сети, которую индексирует развертывание, чтобы принять решение.

Пример конфигурации правила развертывания:

 

[deployment]

[[deployment.rule]]

match = { name = "(vip|важно)/.*" }

shard = "vip"

indexers = [ "index_node_vip_0", "index_1node_vip_0", "index_1node_vip_0" " ]

[[deployment.rule]]

match = { network = "kovan" }

# Нет сегмента, поэтому мы используем сегмент по умолчанию, который называется 'primary' network = [ "xdai", "poa-core" ] }

indexers = [ "index_node_other_0" ]

[[deployment. rule]]

# "совпадения" нет, поэтому любой подграф соответствует

shards = [ "sharda", "shardb" ]

индексаторов = [

"index_node_community_0",

"index_node_community_1",

"index_node_community_2",

"index_node_community_3",

"Index_node_community_4",

"Index_node_commun_5"

9559555955595010292955929292

".

Подробнее о правилах развертывания читайте здесь.

Выделенные узлы запросов#Ссылка на этот раздел

Узлы можно явно настроить как узлы запроса, включив в файл конфигурации следующее:

 

[общие]

запрос = "<регулярное выражение>"

Любой узел, чей --node-id соответствует регулярному выражению, будет настроен так, чтобы отвечать только на запросы.

Масштабирование базы данных с помощью сегментирования#Ссылка на этот раздел

В большинстве случаев одной базы данных Postgres достаточно для поддержки экземпляра узла графа. Когда экземпляр узла графа перерастает одну базу данных Postgres, можно разделить хранилище данных узла графа между несколькими базами данных Postgres. Все базы данных вместе образуют хранилище экземпляра узла графа. Каждая отдельная база данных называется шардом.

Шарды можно использовать для разделения развертываний подграфов между несколькими базами данных, а также для использования реплик для распределения нагрузки запросов между базами данных. Это включает в себя настройку количества доступных подключений к базе данных, которые каждый узел графа должен хранить в своем пуле подключений для каждой базы данных, что становится все более важным по мере индексации большего количества подграфов.

Шардинг становится полезным, когда ваша существующая база данных не справляется с нагрузкой, которую возлагает на нее узел графа, и когда больше невозможно увеличить размер базы данных.

Обычно лучше сделать одну базу данных максимально возможной, прежде чем начинать с осколков. Единственным исключением является случай, когда трафик запросов очень неравномерно распределяется между подграфами; в таких ситуациях может значительно помочь, если подграфы большого объема хранятся в одном сегменте, а все остальное — в другом, потому что такая настройка повышает вероятность того, что данные для подграфов большого объема останутся во внутреннем кеше базы данных и не будут заменяются данными, которые не так нужны из подграфов с небольшим объемом.

Что касается настройки подключений, начните с max_connections в postgresql.conf, установленного на 400 (или даже 200), и посмотрите на метрики store_connection_wait_time_ms и store_connection_checkout_count Prometheus. Заметное время ожидания (больше 5 мс) указывает на то, что доступных подключений слишком мало; большое время ожидания также будет вызвано тем, что база данных очень загружена (например, высокая загрузка ЦП). Однако, если в остальном база данных кажется стабильной, большое время ожидания указывает на необходимость увеличения количества подключений. В конфигурации количество подключений, которое может использовать каждый экземпляр узла графа, является верхним пределом, и узел графа не будет держать соединения открытыми, если они ему не нужны.

Подробнее о настройке магазина читайте здесь.

Загрузка выделенного блока#Ссылка на этот раздел

Если настроено несколько узлов, необходимо будет указать один узел, отвечающий за прием новых блоков, чтобы все сконфигурированные узлы индекса не опрашивали начало цепочки. Это делается как часть пространства имен chains , указывающего node_id , который будет использоваться для приема блоков:

 

[цепи]

ingestor = "block_ingestor_node"

Поддержка нескольких сетей#Ссылка на этот раздел

Протокол Graph увеличивает количество сетей, поддерживаемых для индексации наград, и существует множество подграфов, индексирующих неподдерживаемые сети, которые индексатор хотел бы обработать. Файл config. toml обеспечивает выразительную и гибкую настройку:

  • Несколько сетей
  • Несколько провайдеров на сеть (это может позволить разделить нагрузку между провайдерами, а также может позволить настроить полные узлы, а также архивные узлы, при этом узел Graph предпочитает более дешевых поставщиков, если позволяет данная рабочая нагрузка).
  • Дополнительные сведения о поставщике, такие как функции, аутентификация и тип поставщика (для экспериментальной поддержки Firehose)

Раздел [chains] управляет провайдерами Ethereum, к которым подключается граф-узел, и где хранятся блоки и другие метаданные для каждой цепочки. В следующем примере настраиваются две цепочки, mainnet и kovan, где блоки для mainnet хранятся в сегменте vip, а блоки для kovan — в основном сегменте. Сеть основной сети может использовать двух разных провайдеров, тогда как у kovan есть только один провайдер.

 

[цепочки]

ingestor = "block_ingestor_node"

[chains. mainnet]

shard = "vip"

provider = [

{ label = "mainnet1", url = "http://.." , features = [], headers = { Authorization = "Bearer foo" } },

{ label = "mainnet2", url = "http://..", features = ["archive", "traces" ] }

]

[chains.kovan]

shard = "основной"

provider = [ { label = "kovan", url = "http://..", features = [] } ]

Подробнее о настройке провайдера читайте здесь.

Graph Node поддерживает ряд переменных среды, которые могут включать функции или изменять поведение узла Graph. Они задокументированы здесь.

Пользователи, использующие масштабируемую настройку индексирования с расширенной конфигурацией, могут извлечь выгоду из управления своими узлами Graph с помощью Kubernetes.

  • В репозитории индексатора есть пример ссылки Kubernetes
  • Launchpad — это набор инструментов для запуска индексатора протокола Graph в Kubernetes, поддерживаемый GraphOps. Он предоставляет набор диаграмм Helm и интерфейс командной строки для управления развертыванием узла Graph.

При наличии работающего узла графа (или узлов графа!), задача состоит в том, чтобы управлять развернутыми подграфами на этих узлах. Graph Node предоставляет ряд инструментов, помогающих управлять подграфами.

Ведение журнала#Ссылка на этот раздел

Журналы узла графа

могут предоставить полезную информацию для отладки и оптимизации узла графа и определенных подграфов. Узел Graph поддерживает различные уровни журналов через переменную среды GRAPH_LOG со следующими уровнями: ошибка, предупреждение, информация, отладка или трассировка.

Кроме того, параметр GRAPH_LOG_QUERY_TIMING to gql предоставляет более подробную информацию о том, как выполняются запросы GraphQL (хотя это приведет к созданию большого объема журналов).

Мониторинг и оповещения#Ссылка на этот раздел

Graph Node по умолчанию предоставляет метрики через конечную точку Prometheus на порту 8040. Затем Grafana можно использовать для визуализации этих показателей.

Репозиторий индексатора содержит пример конфигурации Grafana.

Graphman#Ссылка на этот раздел

graphman — это инструмент для обслуживания Graph Node, помогающий в диагностике и решении различных повседневных и исключительных задач.

Команда graphman включена в официальные контейнеры, и вы можете выполнить команду docker exec в своем контейнере графического узла, чтобы запустить ее. Для этого требуется файл config.toml .

Полная документация по командам graphman доступна в репозитории Graph Node. См. [/docs/graphman.md] (https://github.com/graphprotocol/graph-node/blob/master/docs/graphman.md) в узле Graph Node 9.0057 /документы

Статус индексирования API#Ссылка на этот раздел

Доступный по умолчанию на порту 8030/graphql API статуса индексирования предоставляет ряд методов для проверки статуса индексирования для различных подграфов, проверки доказательств индексирования, проверки функций подграфов и т. д.

Полная схема доступна здесь.

Производительность индексирования#Ссылка на этот раздел

Процесс индексации состоит из трех отдельных частей:

  • Получение интересующих событий от провайдера
  • Обработка событий по порядку с соответствующими обработчиками (это может включать вызов цепочки для состояния и выборку данных из хранилища)
  • Запись полученных данных в хранилище

Эти этапы являются конвейерными (т. е. могут выполняться параллельно), но они зависят друг от друга. Если подграфы медленно индексируются, основная причина будет зависеть от конкретного подграфа.

Распространенные причины замедления индексации:

  • Время, затрачиваемое на поиск релевантных событий в цепочке (в частности, обработчики вызовов могут быть медленными, учитывая зависимость от trace_filter )
  • Создание большого количества eth_call в составе обработчиков
  • Большое количество операций с хранилищем во время выполнения
  • Большой объем данных для сохранения в хранилище
  • Большое количество событий для обработки
  • Медленное время подключения к базе данных для переполненных узлов
  • Сам провайдер отстает от цепочки головы
  • Медленное получение новых чеков в головке сети от провайдера

Метрики индексации подграфов могут помочь диагностировать основную причину замедления индексации. В некоторых случаях проблема связана с самим подграфом, но в других случаях улучшенные сетевые провайдеры, снижение конкуренции за базу данных и другие улучшения конфигурации могут заметно повысить производительность индексирования.

Неудачные подграфы#Ссылка на этот раздел

Во время индексации подграфов может произойти сбой, если они обнаружат неожиданные данные, какой-либо компонент не работает должным образом или если в обработчиках событий или конфигурации есть ошибка. Существует два основных типа отказов:

  • Детерминированные сбои: это сбои, которые не будут устранены повторными попытками
  • Недетерминированные сбои: это могут быть проблемы с провайдером или непредвиденная ошибка узла графа. Когда происходит недетерминированный сбой, Graph Node повторяет попытки сбойных обработчиков, со временем отступая.

В некоторых случаях сбой может быть устранен индексатором (например, если ошибка вызвана отсутствием нужного поставщика, добавление требуемого поставщика позволит продолжить индексирование). Однако в других требуется изменение кода подграфа.

Детерминированные сбои считаются «окончательными», при этом для сбойного блока генерируется доказательство индексирования, а недетерминированные сбои — нет, поскольку подграфу может удаться «отменить сбой» и продолжить индексирование. В некоторых случаях недетерминированная метка неверна, и подграф никогда не преодолеет ошибку; о таких сбоях следует сообщать как о проблемах в репозитории Graph Node.

Кэш блокировок и вызовов#Ссылка на этот раздел

Graph Node кэширует определенные данные в хранилище, чтобы избежать повторной загрузки от провайдера. Блоки кэшируются, как и результаты eth_calls (последний кэшируется для определенного блока). Это кэширование может значительно увеличить скорость индексации во время «повторной синхронизации» слегка измененного подграфа.

Однако в некоторых случаях, если узел Ethereum предоставил неверные данные за какой-то период, они могут попасть в кеш, что приведет к неправильным данным или ошибочным подграфам. В этом случае индексаторы могут использовать graphman для очистки отравленного кеша, а затем перематывать затронутые подграфы, которые затем будут получать свежие данные от (надеюсь) исправного провайдера.

Если подозревается несогласованность блочного кэша, например, событие отсутствия получения tx:

  1. список цепочек graphman , чтобы найти название цепочки.
  2. graphman chain check-blocks по номеру проверит, соответствует ли кэшированный блок поставщику, и удалит блок из кэша, если это не так.
    1. Если есть разница, может быть безопаснее усечь весь кеш с помощью graphman chain truncate .
    2. Если блок соответствует поставщику, то проблема может быть отлажена непосредственно против поставщика.

Запрос проблем и ошибок#Ссылка на этот раздел

После индексации подграфа индексаторы могут рассчитывать на обслуживание запросов через выделенную конечную точку запроса подграфа. Если индексатор надеется обслуживать значительный объем запросов, рекомендуется выделенный узел запросов, а в случае очень больших объемов запросов индексаторы могут настроить сегменты реплик так, чтобы запросы не влияли на процесс индексирования.

Однако даже с выделенным узлом запросов и репликами выполнение некоторых запросов может занимать много времени, а в некоторых случаях увеличивать использование памяти и отрицательно влиять на время выполнения запросов другими пользователями.

Существует не одна «серебряная пуля», а набор инструментов для предотвращения, диагностики и обработки медленных запросов.

Кэширование запросов#Ссылка на этот раздел

Graph Node по умолчанию кэширует запросы GraphQL, что может значительно снизить нагрузку на базу данных. Это можно дополнительно настроить с помощью GRAPH_QUERY_CACHE_BLOCKS и GRAPH_QUERY_CACHE_MAX_MEM настройки — подробнее здесь.

Анализ запросов#Ссылка на этот раздел

Проблемные запросы чаще всего возникают одним из двух способов. В некоторых случаях сами пользователи сообщают, что данный запрос выполняется медленно. В этом случае задача состоит в том, чтобы диагностировать причину медлительности — является ли это общей проблемой или специфичной для этого подграфа или запроса. И потом, конечно, решить это, если это возможно.

В других случаях триггером может быть высокий уровень использования памяти на узле запроса, и в этом случае сначала нужно определить запрос, вызвавший проблему.

Индексаторы могут использовать qlog для обработки и суммирования журналов запросов Graph Node. GRAPH_LOG_QUERY_TIMING также можно включить для выявления и отладки медленных запросов.

При медленном запросе у индексаторов есть несколько вариантов. Конечно, они могут изменить свою модель затрат, чтобы значительно увеличить стоимость отправки проблемного запроса. Это может привести к снижению частоты этого запроса. Однако это часто не устраняет основную причину проблемы.

Оптимизация по типу учетной записи#Ссылка на этот раздел

Таблицы базы данных, в которых хранятся сущности, как правило, бывают двух видов: «подобные транзакциям», когда сущности, однажды созданные, никогда не обновляются, т. сущности обновляются очень часто, то есть они хранят что-то вроде финансовых счетов, которые изменяются каждый раз, когда записывается транзакция. Таблицы, подобные учетным записям, характеризуются тем, что они содержат большое количество версий сущностей, но относительно мало отдельных сущностей. Часто в таких таблицах количество отдельных сущностей составляет 1% от общего количества строк (версий сущностей)

Для таблиц, подобных учетным записям, узел графа может генерировать запросы, в которых используются детали того, как Postgres в конечном итоге хранит данные с такой высокой скоростью изменения, а именно, что все версии для последних блоков находятся в небольшом подразделе общее хранилище для такой таблицы.

Команда graphman stats show > показывает для каждого типа/таблицы сущностей в развертывании, сколько отдельных сущностей и сколько версий сущностей содержит каждая таблица. Эти данные основаны на внутренних оценках Postgres, поэтому они обязательно неточны и могут отличаться на порядок. А -1 в столбце объектов означает, что Postgres считает, что все строки содержат отдельный объект.

Как правило, таблицы, в которых количество отдельных сущностей составляет менее 1 % от общего числа строк/версий сущностей, являются хорошими кандидатами на оптимизацию, аналогичную учетным записям. Когда выходные данные graphman stats show указывают на то, что таблица может выиграть от этой оптимизации, запуск graphman stats show

выполнит полный подсчет таблицы — это может быть медленно, но дает точную меру. отношения отдельных сущностей к общим версиям сущностей.

После того, как таблица будет определена как учетная, запуск graphman stats, подобной учетной записи, .

, включит оптимизацию, подобную учетной записи, для запросов к этой таблице. Оптимизацию можно снова отключить с помощью graphman stats as account-like --clear .
Узлам запроса требуется до 5 минут, чтобы заметить, включена или выключена оптимизация.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *