#nearprotocol
#nearprotocol
Вопрос:
Должен ли я платить за каждое чтение из NEAR protocol?
Как мне просмотреть значение, хранящееся в смарт-контракте NEAR protocol? (например, плата за размещение пула)
В чем разница между методами просмотра и изменения?
Ответ №1:
Должен ли я платить за каждое чтение из NEAR protocol?
TL; DR: Нет, вы не должны.
В NEAR protocol есть способы взаимодействия со смарт-контрактами:
- Отправьте транзакцию с помощью действия FunctionCall, в результате которого указанный метод будет выполнен на узлах, создающих чанк, и результат будет доказуем через блокчейн (в терминах near-api-js это «методы изменения»)
- Вызовите
query(call_function)
метод JSON RPC, который выполнит указанный метод на самом узле RPC в среде, доступной только для чтения, и вызов никогда не будет записан / подтвержден через блокчейн (в терминах near-api-js это «методы просмотра»)
Вы можете изменять состояние и связанные операции (например, вызовы по перекрестному контракту, передачу токенов или добавление / удаление ключа доступа) только с помощью первого подхода, поскольку блокчейн ожидает, что пользователь покроет расходы на выполнение, поэтому пользователь должен подписать свою транзакцию, и с него будет взиматься плата за выполнение.
Иногда вам не нужно изменять состояние, вместо этого вы хотите только прочитать значение, хранящееся в цепочке, и платить за это неоптимально (хотя, если вам нужно доказать, что операция была выполнена, это все равно может быть желательно). В этом случае вы бы предпочли второй подход. Вызов метода через JSON RPC является бесплатным и обеспечивает ограниченный контекст во время выполнения контракта, но в некоторых сценариях этого достаточно (например, когда вы хотите проверить, какова плата за размещение пула, или кто является владельцем контракта и т. Д.).