как NEAR Protocol рекомендует местное развитие?
раскрытие информации: я работаю с NEAR и в настоящее время присоединяюсь
на основе документации (https://docs.nearprotocol.com/) и углубляясь вnearcore/scripts
папка, похоже, в настоящее время существует 5 способов запустить локальный узел для разработки и тестирования (т.е. разработка DApps, интеграция с платформой или участие в ней), а также для проверки (как часть NEAR Stakewars)
у всех есть возможность запустить контейнер Docker или скомпилировать и запустить код изначально
(см. репо на GitHub @nearprotocol/nearcore/scripts/start_*
)
два, которые кажутся наиболее полезными для разработчика DApp, - это
- start_localnet и
- start_testnet
первый запускает узел, который полностью изолирован от локальной разработки, а второй подключается к NEAR TestNet (через общий список загрузочных узлов и URL-адрес телеметрии)
что из вышеперечисленного NEAR рекомендует для местного развития?
для полноты, вот все 5 скриптов запуска:
- start_localnet
полностью изолирован, не имеет отношения к NEAR TestNet (без загрузочных узлов и телеметрии) - start_testnet
подключен к NEAR TestNet через загрузочные узлы и телеметрию. очевидно, может также повторно использовать существующиеgenesis.json
файл, если найден - start_stakewars,
если вы участвуете в NEAR Stakewars, это ваш сценарий запуска - start_unittest
используетсяnearcore
,near-bindgen
а такжеnear-evm
- start_staging_testnet
используетсяnear-bindgen
примеры "межконтрактный-высокий уровень"
PSA1: near-bindgen
имеет несколько хорошо задокументированных примеров - если вы еще этого не сделали, просто решите сейчас, что вы хотите изучить Rust
PSA2: near-evm
похоже на доказательство концепции, которая позволяет запускать смарт-контракты Ethereum на платформе NEAR
1 ответ
Как обычно start_testnet
должно быть достаточно, поскольку он позволяет разработчикам развертывать и тестировать свой контракт в тестовой сети, что, как я полагаю, является тем, чего хочет большинство разработчиков. Однако есть определенные случаи, когдаstart_localnet
предпочтительнее. Например, если вы хотите использовать другой генезис по какой-либо причине (одна из причин, которые я вижу, это то, что если вы хотите увидеть, сколько стоят вещи с разными параметрами конфигурации), или если тестовая сеть нестабильна, или если вы хотите запустить настроенную код nearcore, который может быть несовместим с кодом тестовой сети.