Настройка сетей в кошельке Metamask
Начнем. Для начала нам нужно зайти в наше расширение Metamask, либо же в расширенный вариант.
Нажимаем на челку и выбираем “Пользовательский RPC”
Далее заполняем поля:
- Теперь введите следующие данные для сети Binance Smart Chain :
- Имя сети: BSC Mainnet
- Новый URL-адрес RPC https://bsc-dataseed.binance.org/
- ChainID: 56
- Токен: BNB
- URL-адресэксплорера: https://bscscan.com/
2. Теперь введите следующие данные для сети Polygon (MATIC):
- Имя сети: Polygon (MATIC) RPC
- Новый URL-адрес RPC https://rpc-mainnet.matic.quiknode.pro
- Chain ID: 137
- Токен: MATIC
- URL-адресэксплорера: https://explorer.matic.network
и нажимаем “Сохранить”
На этом настройка сети завершена и теперь вы можете спокойно с биржи Binance перевести свои токены по сети Bep20( Binance Smart Chain ) или MATIC на свой кошелек.
Для чего нам это нужно?
- DEX биржи
- Участия в проектах, которые построена на сети Binance Smart Chain или Polygon
- Просто холд монет на кошельке
DEX — это децентрацизированные биржи нового поколения. В них есть свои преимущества и недостатки перед классическими биржами.
Преимущества DEX:1. В первую очередь полная безопасность и независимость от контролирующих органов, никто кроме вас не имеет доступ к вашему кошельку, через который вы подключаетесь к PancakeSwap или QuickSwap(на сети Polygon), в отличии от централизованных биржах, где есть контроль.2. Анонимность — вам не нужно проходить никаких подтверждений личности (KYC) — вы сами по себе, вас никто не проверяет, и никто не знает.3. Ликвидность — если речь идет о проверенных и часто используемых платформ, то там она всегда есть в любом объеме.
Недостатки:2. Нет привычной для нас торговли3. Нет тех.поддержки, которая будет вам помогать, если у вас возникли какие-то проблемы. Вы сами по себе.
Все адреса монет которые нужно будет добавлять в кошелек Metamask, смотрите на https://www.coingecko.com/ , там так же можно посмотреть на каких биржах та или иная монета торгуется.
Все графики монет, которых нет на централизованных биржах надо смотреть на https://www.dextools.io/app , иногда на https://ru.tradingview.com/ они тоже бывают к парам BUSD , но редко.
Участие в проектах — зачастую проекты выходят на какой-то определенной сети, и чаще всего чтобы участвовать, либо получить какой-то дроп, проект запрашивает адрес вашего внебиржевого кошелька сети на которой он построен.Поэтому, вы просто берете копируете адрес той, или иной сети и вставляете в форму или конектите к их платформе.
На этом все. Надеюсь статья была для вас полезной.
С вами был gavrylychev из CryptoHubПодписывайтесь на наши соц.сети чтобы ничего не пропустить.
Наша официальная группа в Telegram:
Выбор Request-Response парадигмы API: REST, RPC или GraphQL?
Выбор подходящего формата API позволит в будущем вносить изменения, экономя время, силы и деньги. В этой статье — обзор популярных форматов.
API определяет интерфейс, предоставляющий данные сервиса другим приложениям. Выбор правильного формата API крайне важен. Бизнес не всегда учитывает все факторы, выбирая формат. В результате не хватает возможности для добавления новых фич, которые могут понадобиться в дальнейшем.
Чтобы сэкономить время, силы, а самое главное деньги, стоит посмотреть на best practices, которые применяются на текущий момент. Это поможет разработать API, который позволит вносить необходимые изменения в будущем. За прошедшие годы появилось несколько форматов API, рассмотрим самые популярные из них.
Request-Response APIs
Первую группу API, которую мы рассмотрим, можно выделить как Request-Response API. Основные отличия данной группы:
- Интерфейс предоставляется через веб-сервер на основе HTTP протокола.
- API определяет набор эндпоинтов.
- Клиенты отправляют запросы для работы с данными(получить/удалить/изменить) на данные эндпоинты.
- Ответ в формате JSON или XML.
Самые популярные request-response API: REST, RPC и GraphQL.
REST
Самый популярный подход на данный момент. Используется такими поставщиками API, как, например, Google, Twitter и GitHub.
Когда мы говорим про REST, мы говорим про ресурсы. Ресурс — это объект, который может быть идентифицирован, назван, адресован или обработан в сети. REST представляет данные как ресурсы и использует стандартные HTTP-методы для представления транзакций создания, чтения, обновления и удаления этих ресурсов, то есть стандартные CRUD операции. По сути, все бизнес-сущности, которыми оперирует сервис, могут быть определены как ресурсы.
Общие правила, которым следует RESTful API:
- Ресурс является частью URL.
- Существительные вместо глаголов, вместо /getUserInfo/123 используем /users/123 .
- Для каждого ресурса создается два URL, один для коллекции, один для экземпляра коллекции, /users и users/123 .
- HTTP-методы GET, POST, UPDATE и DELETE информируют сервер о том, какое действие нужно совершить над данным ресурсом. Различные методы, примененные к одному и тому же ресурсу, выполняют различную функциональность.
- Стандартные коды состояния ответа HTTP возвращаются сервером, указывая на успех или неудачу. Как правило, коды в диапазоне 2XX указывают на успех, коды 3XX указывают на перемещение ресурса, а коды в диапазоне 4XX указывают на ошибку на стороне клиента (например, отсутствие обязательного параметра или слишком много запросов). Коды в диапазоне 5XX указывают на ошибки на стороне сервера.
- Ресурс, который существует только в другом ресурсе, должен быть представлен как подресурс, а не как ресурс верхнего уровня в URL-адресе. Например issues не могут существовать отдельно от репозитория, поэтому URL создания нового issue в GitHub API выглядит таким образом — /repos/:owner/:repo/issues
Помимо типичных операций CRUD, API-интерфейсы REST могут иногда нуждаться в представлении операций, не относящихся к CRUD. В этом случае обычно используются следующие подходы:
- Передавать действие в теле метода. Например, GitHub использует данный подход для архивации репозитория (прим. PATCH /repos/:owner/:repo).
- Трактовать действие как подресурс. API GitHub использует этот шаблон для блокировки и разблокировки issue (прим. PUT /repos/:owner/:repo/issues/:number/lock).
- Использовать отдельный ресурс. Некоторые операции, такие как поиск, ещё сложнее вписать в парадигму REST. Типичная практика в этом случае — использовать только команду действия в URL-адресе API (прим. GET /search/code?q=:query).
- Стандартное имя метода, формат аргументов и коды состояния.
- Использует функционал HTTP.
- Легко поддерживать.
- Большой payload.
- Множественные HTTP-запросы.
Когда использовать:
Для API, предоставляющего CRUD-операции.
Remote Procedure Call (RPC)
Удаленный вызов процедур (RPC) — это одна из простейших парадигм API, в которой клиент вызывает исполнение блока кода на сервере. В то время как REST рассматривает всё как ресурсы, RPC рассматривает действия. Клиенты обычно передают имя метода и аргументы серверу и получают обратно JSON или XML.
Правила RPC:
- Эндпоинты содержат имя выполняемой операции.
- Вызовы API выполняются с помощью наиболее подходящего HTTP-глагола: GET для запросов только для чтения и POST для других.
POST /api/conversations.archive HOST slack.com Content-Type: application/x-www-form-urlencoded Authorization: token OAUTH-TOKEN channel=C01234
- Очень прост.
- Легковесный payload.
- Высокая производительность.
- Труден в обнаружении.
- Практически нет стандартизации.
- Может быть создано слишком много эндпоинтов.
Когда использовать:
Для API, предоставляющего действия, которые сложно инкапсулировать в CRUD операциях.
GraphQL
GraphQL — это язык запросов для API, который в последнее время приобрел значительную популярность. Он был разработан внутри Facebook в 2012 году до публичного выпуска в 2015 году. GraphQL позволяет клиентам определять структуру требуемых данных. Сервер возвращает именно эту структуру
POST /graphql HOST api.github.com Content-Type: application/json Authorization: bearer OAUTH-TOKEN < user(login: "kliukovkin") < id name company createdAt >>
В отличие от REST и RPC API, GraphQL требует только один эндпоинт URL. Также вам не нужны разные HTTP-методы для описания операции. Вместо этого вы указываете в теле JSON выполняете ли вы запрос или мутацию. GraphQL поддерживает методы GET и POST.
- Один запрос.
- Возможность добавлять новые поля и типы в GraphQL API, не затрагивая существующие запросы.
- Проще отказаться от использования существующих полей.
- Выполняя анализ логов, поставщик API может выяснить, какие клиенты используют определённое поле. Вы можете скрыть устаревшие поля и удалить их, когда их не используют клиенты. С REST и RPC API сложнее определить, какие клиенты используют устаревшее поле, что затрудняет удаление.
- Small payload.
- GraphQL строго типизирован. Во время разработки проверка типов GraphQL помогает гарантировать, что запрос синтаксически верен и действителен.
- GraphiQL — встроенная в браузер IDE для изучения GraphQL. Данный инструмент позволяет пользователям писать, проверять и тестировать запросы GraphQL в браузере.
- Серверу требуется дополнительная обработка для анализа сложных запросов и проверки параметров.
- Оптимизация производительности запросов GraphQL тоже может быть сложной задачей.
- Внутри компании легко предсказать варианты использования и отладить узкие места в производительности, но при работе с внешними разработчиками эти варианты использования становятся трудными для понимания и оптимизации.
Когда использовать:
- Когда вам нужна гибкость запросов и поддержка консистентности. Хорошо подходит для внутреннего использования компании и плохо для персонального блога из-за своей сложности.
- Когда дело доходит до выбора парадигмы API, не существует универсального решения. Каждая из парадигм API хорошо подходит для определённых вариантов использования. Важно понимать, какое решение лучше всего подойдет вашим клиентам, поможет вам достичь бизнес-целей с учетом ограничений, с которыми вы работаете.
Metamask смена RPC провайдера
В последнее время очень часто встречается новость о том, что в ConsenSys предупредили о сборе узлом связи Infura пользовательских данных в кошельке MetaMask (данные cобираются различными способами и могут включать в себя юзернейм, имя клиента, электронную почту, номер телефона, платежные реквизиты, данные о транзакциях и многое другое. Также пользователи в Венесуэле и в некоторых странах, попадающих под санкции, стали жаловаться на то, что не могут связать свои кошельки MetaMask с разными сайтами.
В самом кошельке Metamask никаких проблем нет, проблема в сервисе infura. Именно infura даёт нам узлы связи, через которые кошелек MetaMask подключается к блокчейнам, и если infura захочет, то может закрыть доступ вашего кошелька Metamask к этим узлам. А это может случится в любой момент, так как в infura уже выразили полную готовность поддержать санкционные ограничения при необходимости.
Можно конечно оставить все как есть, но все же лучше поменять infura на другой узел связи и обезопасить свой кошелек. На данный момент есть несколько альтернативных сервисов, например Alchemy или Pokt сервисы которые предоставляют «децентрализованные» узлы связей для Metamask.
Покажу на примере сервиса Pokt как сменить конечную точку для сети Ethereum:
- заходим в кошелек Metamask, и кликаем добавить сеть
- далее нажимаем “Добавить сеть вручную”
- заполняем данные сети:
Имя сети: Ethereum NEW
Новый Url Rpc: https://eth-rpc.gateway.pokt.network
Идентификатор цепочки: 1
Символ токена: ETH
Теперь сеть Ethereum в кошельке Metamask будет работать через узлы Pokt. Точно также можно сменить конечную точку и для других сетей. Вся необходимая информацию есть на сайте Pokt .
Правила и условия рассылки
Remote Procedure Call (RPC); Удаленный вызов процедуры — это протокол, который одна программа может использовать для запроса услуги от программы, расположенной на другом компьютере в сети, без необходимости разбираться в деталях сети. Вызов процедуры также иногда называют вызовом функции или вызовом подпрограммы.
RPC использует модель клиент-сервер. Запрашивающая программа является клиентом, а программа, предоставляющая услуги, является сервером. Подобно обычному или локальному вызову процедуры, RPC — это синхронная операция, требующая приостановки работы запрашивающей программы до тех пор, пока не будут возвращены результаты удаленной процедуры. Однако использование облегченных процессов или потоков, совместно использующих одно и то же адресное пространство, позволяет выполнять несколько RPC одновременно.
Когда программные инструкции, использующие RPC framework, компилируются в исполняемую программу, в скомпилированный код включается заглушка, которая действует как представитель кода удаленной процедуры. Когда программа запущена и выполняется вызов процедуры, заглушка получает запрос и пересылает его клиентской программе выполнения на локальном компьютере.
Клиентская программа выполнения знает, как обращаться к удаленному компьютеру и серверному приложению, и отправляет по сети сообщение, запрашивающее удаленную процедуру. Аналогично, сервер включает в себя программу выполнения и заглушку, которые взаимодействуют с самой удаленной процедурой. Протоколы ответа-запроса возвращаются таким же образом.