@ -42,11 +42,11 @@ Root directories are individual workshops, the name used will be the name of the
### README.md
### README.md
The readme in each directry contains an explanation of what the workshop is about. If an additional summary property is provided in the config.yml that will be used in the overview section of the plugin.
The readme in each directory contains an explanation of what the workshop is about. If an additional summary property is provided in the config.yml that will be used in the overview section of the plugin.
### config.yml
### config.yml
This config file contains metadata describing some properties of your workshop, for example
This config file contains metadata describing some properties of your workshop, for example
.assert.containsText('*[data-id="modalDialogModalBody"]','You are creating a transaction on the main network. Click confirm if you are sure to continue.')
.modalFooterCancelClick()
},
/*
*Thistestisusing3differentservices:
*-Metamaskforgettingthetransaction
*-SourceVerifierserviceforfetchingthecontractcode
*-Ropstennodeforretrievingthetraceandstorage
*
*/
'Should debug Ropsten transaction with source highlighting using the source verifier service and MetaMask':!function(browser: NightwatchBrowser){
.assert.containsText('*[data-id="udappNotifyModalDialogModalBody-react"]','You are about to create a transaction on Main Network. Confirm the details to send the info to your provider.')
.modalFooterCancelClick('udappNotify')
},
'Should deploy Ballot to Sepolia using metamask':function(browser: NightwatchBrowser){
.journalLastChildIncludes('Debug the transaction to get more information.')
},
},
'Should Compile and Deploy a contract which define a custom error in a library, the error should be logged in the terminal #group3':function(browser: NightwatchBrowser){
'Should Compile and Deploy a contract which define a custom error in a library, the error should be logged in the terminal #group3':function(browser: NightwatchBrowser){
@ -216,7 +214,6 @@ module.exports = {
.journalLastChildIncludes('"documentation": "param1 from library"')
.journalLastChildIncludes('"documentation": "param1 from library"')
.journalLastChildIncludes('"documentation": "param2 from library"')
.journalLastChildIncludes('"documentation": "param2 from library"')
.journalLastChildIncludes('"documentation": "param3 from library"')
.journalLastChildIncludes('"documentation": "param3 from library"')
.journalLastChildIncludes('Debug the transaction to get more information.')
},
},
'Should compile and deploy 2 simple contracts, the contract creation component state should be correctly reset for the deployment of the second contract #group4':function(browser: NightwatchBrowser){
'Should compile and deploy 2 simple contracts, the contract creation component state should be correctly reset for the deployment of the second contract #group4':function(browser: NightwatchBrowser){
description="Streamlined access to categorized video tutorials for mastering Remix IDE. From fundamentals to advanced techniques, level up your development skills with ease."
"debugger.debugWithGeneratedSources":"Когда флажок установлен, то отладчик проверит скомпилированный файл .yul, если он существует.",
"debugger.introduction":"При отладке с хэшем транзакции, если контракт проверен, Remix попытается получить исходный код из Sourcify или Etherscan. Укажите API ключ Etherscan в настройках Remix. Поддерживаемые сети смотрите в",
"debugger.forceToUseCurrentLocalNode":"Заставить отладчик использовать текущий локальный узел",
"debugger.sourceLocationStatus1":"Поиск контрольной точки. Это может занять некоторое время...",
"debugger.sourceLocationStatus2":"Местоположение источника недоступно ни в Sourcify ни в Etherscan. Пожалуйста, убедитесь, что ключ api Etherscan указан в настройках.",
"debugger.sourcifyDocs":"Документации Sourcify",
"debugger.noDataAvailable":"Данные отсутствуют",
"debugger.loadMore":"Загрузить еще",
"debugger.copy":"Копировать",
"debugger.stepOverBack":"Шаг назад",
"debugger.stepBack":"Назад",
"debugger.stepInto":"Шаг в",
"debugger.stepOverForward":"Шаг вперед",
"debugger.jumpPreviousBreakpoint":"Перейти к предыдущей контрольной точке",
"debugger.jumpOut":"Выпрыгнуть",
"debugger.jumpNextBreakpoint":"Перейти к предыдущей контрольной точке"
"filePanel.findOrCreateABranch":"Найти или создать ветку.",
"filePanel.initGitRepositoryLabel":"Инициализировать рабочую область как новый git репозиторий",
"filePanel.initGitRepositoryWarning":"Чтобы использовать функции Git, добавьте имя пользователя и адрес электронной почты в раздел Github на Панели настроек.",
"filePanel.workspaceName":"Название рабочей области",
"filePanel.customizeTemplate":"Настроить шаблон",
"filePanel.features":"Особенности",
"filePanel.upgradeability":"Улучшение",
"filePanel.ok":"OK",
"filePanel.yes":"Да",
"filePanel.cancel":"Отменить",
"filePanel.createNewWorkspace":"создать новую рабочую область",
"filePanel.connectToLocalhost":"подключиться к локальному хосту",
"filePanel.copiedToClipboard":"Скопировано в буфер обмена {path}",
"filePanel.downloadFailed":"Ошибка загрузки",
"filePanel.downloadFailedMsg":"Непредвиденная ошибка при загрузке: {error}",
"home.scamAlertText3":"Дополнительные советы по технике безопасности",
"home.learnMore":"Узнать больше",
"home.here":"здесь",
"home.featured":"Рекомендуемые",
"home.jumpIntoWeb3":"Перейти в WEB3",
"home.jumpIntoWeb3More":"Подробнее",
"home.jumpIntoWeb3Text":"Remix IDE является частью проекта Remix, широкий выбор инструментов которого, может быть использован для всего путешествия по разработке контракта пользователями любого уровня знаний. Узнайте больше на сайте проекта Remix.",
"home.remixYouTube":"СМОТРИМ И УЧИМСЯ",
"home.remixYouTubeText1":"Видео советы от команды Remix",
"home.remixYouTubeMore":"Смотреть",
"home.remixYouTubeText2":"У Remix растущая библиотека видео, содержащая множество советов по использованию инструмента. Проверьте их и подпишитесь, чтобы получить наши последние обновления.",
"home.betaTesting":"БЕТА-ТЕСТИРОВАНИЕ",
"home.betaTestingText1":"Наше сообщество поддерживает нас.",
"home.betaTestingText2":"Помогите нам запустить бета-тестирование прямо сейчас и ознакомьтесь с новыми функциями",
"home.betaTestingMore":"Зарегистрироваться",
"home.featuredPlugins":"Рекомендуемые плагины",
"home.solidityPluginDesc":"Компиляция, тестирование и анализ смарт-контрактов.",
"home.cookbookDesc":"Найти смарт-контракты, solidity библиотеки и обнаружить протоколы.",
"home.codeAnalyizerPluginDesc":"Анализируйте ваш код с помощью Remix, Solhint и Slither.",
"home.starkNetPluginDesc":"Компиляция и развертывание контрактов с Cairo, родным языком StarkNet.",
"home.solhintPluginDesc":"Solhint — проект с открытым исходным кодом для линейки кода Solidity.",
"home.sourcifyPluginDesc":"Контракт Solidity и сервис проверки метаданных.",
"home.unitTestPluginDesc":"Напишите и запустите модульные тесты для ваших контрактов в Solidity.",
"home.dgitPluginDesc":"Добавить контроль за исходным кодом в ваши проекты.",
"home.oneClickDappDesc":"Быстрое создание смарт-контрактных интерфейсов",
"permissionHandler.makeSureYouTrustThisPlugin":"Убедитесь, что Вы доверяете этому плагину перед обработкой этого вызова. Если Вы запомните выбор для этого вызова, то значение будет сохранено только для текущей сессии.",
"permissionHandler.rememberThisChoice":"Запомнить этот выбор",
"permissionHandler.resetAllPermissions":"Сбросить все разрешения",
"permissionHandler.permissionNeededFor":"Для {to} необходимо разрешение",
"settings.reset":"Сбросить до настроек по умолчанию",
"settings.general":"Общие настройки",
"settings.generateContractMetadataText":"Генерирует метаданные договора. Генерирует JSON-файл в папке с договором. Позволяет указать адреса библиотек, от которых зависит контракт. Если ничего не указано, то Remix развертывает библиотеки автоматически.",
"settings.ethereunVMText":"Всегда использовать виртуальную машину Remix при загрузке",
"settings.wordWrapText":"Обводка слов в редакторе",
"settings.useAutoCompleteText":"Включение завершения кода в редакторе.",
"settings.useShowGasInEditorText":"Отобразить в редакторе расчеты газа.",
"settings.displayErrorsText":"Отображать ошибки в редакторе при вводе текста.",
"settings.matomoAnalytics":"Включение Matomo Analytics. Мы не собираем личную информацию (ПД). Эта информация используется для улучшения UX и пользовательского интерфейса сайта. Узнайте больше ",
"settings.enablePersonalModeText":" Включение персонального режима для провайдера web3. Транзакция, отправленная через Web 3, будет использовать web 3.personal API.",
"settings.warnText":"Убедитесь, что конечная точка открыта перед включением. Этот режим позволяет пользователю предоставить парольную фразу в интерфейсе Remix без необходимости разблокировать аккаунт. Несмотря на то, что это очень удобно, вы должны полностью доверять бэкэнду, к которому вы подключены (Geth, Parity, ...). Remix никогда не будет сохраняться парольная фраза",
"settings.gitAccessTokenTitle":"Учетные данные Github",
"settings.gitAccessTokenText":"Токен доступа используется для публикации Gist и получения содержимого GitHub. Возможно, вам потребуется ввести имя пользователя/электронную почту.",
"settings.gitAccessTokenText2":"Перейдите на страницу токенов github (ссылка ниже), создайте новый токен и сохраните его в Remix. Убедитесь, что этот токен имеет только право 'create gist'",
"settings.etherscanTokenTitle":"Токен доступа EtherScan",
"settings.etherscanAccessTokenText":"Управляйте ключом api, используемым для взаимодействия с Etherscan.",
"settings.etherscanAccessTokenText2":"Перейдите на страницу api ключей Etherscan (ссылка ниже), чтобы создать новый api ключ и сохраните его в Remix.",
"solidity.noConfigFileSelected":"Не выбран файл конфигурации",
"solidity.copyNatSpecTag":"Нажмите, чтобы скопировать пользовательский тег NatSpec",
"solidity.inputTitle1":"Если файл, который вы ввели, не существует, вы сможете создать его на следующем шаге.",
"solidity.inputTitle2":"Расчетное количество раз, когда каждый опцион развернутого кода будет выполняться в течение всего срока действия контракта.",
"solidity.tooltipText1":"Выберите сценарий для выполнения сразу после компиляции, добавив тег `dev-run-script` natspec как в:",
"solidity.tooltipText2":"Нажмите на значок \"i\", чтобы узнать больше",
"solidity.tooltipText3":"для компиляции и выполнения скрипта",
"solidity.tooltipText4":"Нажмите, чтобы открыть файл конфигурации",
"solidity.tooltipText5":"Не удается загрузить список версий компилятора. Возможно, он заблокирован блокировщиком рекламы. Пожалуйста, попробуйте отключить любой из них с этой страницы и перезагрузить. Ошибка: ",
"solidity.tooltipText6":"Спецификация языка доступна от Компилятора >= v0.5.7",
"solidity.toastMessage":"Обновление версии компилятора, чтобы соответствовать текущему файлу контракта pragma т.е. {version}",
"solidity.compileIconAttribute":"компилятор загружается, пожалуйста, подождите несколько минут.",
"terminal.listen":"прослушивание всех транзакций",
"terminal.listenTitle":"Если флажок установлен, то Remix будет прослушивать все транзакции, добытые в текущей среде, а не только транзакции, созданные вами",
"terminal.search":"Поиск по хэшу или адресу транзакции",
"terminal.used":"используется",
"terminal.debug":"Отладка",
"terminal.welcomeText1":"Добро пожаловать в",
"terminal.welcomeText2":"Ваши файлы хранятся в",
"terminal.welcomeText3":"Вы можете использовать этот терминал для",
"terminal.welcomeText4":"Проверьте детали транзакций и начните отладку",
"terminal.welcomeText6":"Введите сценарий непосредственно в интерфейсе командной строки",
"terminal.welcomeText7":"Выберите файл Javascript в проводнике файлов, а затем запустите \"remix.execute()\" или \"remix.exeCurrent()\" в интерфейсе командной строки",
"terminal.welcomeText8":"Щелкните правой кнопкой мыши на файл JavaScript в проводнике и затем нажмите `Выполнить`",
"terminal.welcomeText9":"Доступны следующие библиотеки",
"terminal.welcomeText10":"Введите имя библиотеки, чтобы увидеть доступные команды",
"terminal.text1":"Этот тип команды устарел и больше не функционирует. Пожалуйста, запустите remix.help(), чтобы получить список доступных команд.",
"udapp.warningEvmVersion":"Пожалуйста, убедитесь, что выбранная сеть совместима с данной Evm версией: {evmVersion}. В противном случае развёртывание закончится неудачно.",
"udapp.infoSyncCompiledContractTooltip":"Нажмите здесь, чтобы импортировать контакты, скомпилированные из внешней платформы.\nЭто действие включается, когда Remix подключён к внешнему фреймворку (hardhat, truffle, foundry) через remixd",
"udapp.remixIpfsUdappTooltip":"Публикация исходного кода и метаданных IPFS облегчает верификацию исходного кода с помощью Sourcify и значительно ускоряет принятие контракта (аудит, отладка, вызов и т.д...)",
"udapp.deploy":"Развернуть",
"udapp.publishTo":"Опубликовать в",
"udapp.atAddress":"At Address",
"udapp.atAddressOptionsTitle1":"адрес контракта",
"udapp.atAddressOptionsTitle2":"Для взаимодействия с развёрнутым контрактом, необходимо выбрать в редакторе файл .abi или скомпилированный файл .sol (с той же конфигурацией компилятора)",
"udapp.atAddressOptionsTitle3":"Компилируйте *.sol файл или выберите файл *.abi.",
"udapp.atAddressOptionsTitle4":"Для взаимодействия с развёрнутым контрактом, либо введите его адрес и скомпилируйте исходный файл *.sol (с такими же настройками компилятора) или выберите его .abi файл в редакторе.",
"udapp.contractOptionsTitle1":"Пожалуйста, скомпилируйте *.sol файл для развертывания или доступа к контракту",
"udapp.contractOptionsTitle2":"Выберите скомпилированный контракт для развертывания или используйте по адресу.",
"udapp.contractOptionsTitle3":"Выберите и скомпилируйте *.sol файл для развертывания или доступа к контракту.",
"udapp.contractOptionsTitle4":"При наличии скомпилированного файла .sol, выберите контракт для развертывания или использования с параметром \"At Address\".",
"udapp.checkSumWarning":"Похоже вы не используете адрес с контрольной суммой. Адрес с контрольной суммой это адрес который состоит из заглавных букв, как указано в {a}. Контрольные адреса предназначены для предотвращения отправки пользователями транзакций по ошибочному адресу.",
"udapp.isOverSizePromptEip170":"Инициализация создания контракта возвращает данные длиной более 24576 байт. Развёртывание скорее всего завершится неудачей, если текущая сеть активировала eip 170. Дополнительная информация: {a}",
"udapp.isOverSizePromptEip3860":"Код инициализации контракта превышает допустимый максимальный размер кода 49152 байта. Развёртывание скорее всего не будет выполнено, если текущая сеть активировала eip 3860. Дополнительная информация: {a}",
"udapp.thisContractMayBeAbstract":"Этот контракт может быть абстрактным, он может не полностью применять методы абстрактного родительского объекта или он может неправильно вызывать унаследованный конструктор контракта.",
"udapp.enterAMessageToSign":"Введите сообщение для подписания",
"udapp.hash":"хэш",
"udapp.signature":"подпись",
"udapp.injectedTitle":"К сожалению, невозможно создать учетную запись с помощью внедрённого провайдера. Пожалуйста, создайте аккаунт непосредственно у вашего провайдера (т.е. Metamask или другого такого же типа).",
"udapp.createNewAccount":"Создать новый аккаунт",
"udapp.web3Title":"Создание учетной записи возможно только в Личном режиме. Пожалуйста, перейдите в Настройки, чтобы включить ее.",
"udapp.defaultTitle":"К сожалению, невозможно создать учетную запись с помощью внешнего кошелька ({selectExEnv}).",
"udapp.text1":"Пожалуйста, укажите пароль для создания учетной записи",
"udapp.tooltipText1":"Список учётных записей пуст, пожалуйста, убедитесь, что текущий провайдер правильно подключен к remix",
"udapp.modalTitle1":"Парольная фраза для подписания сообщения",
"udapp.modalMessage1":"Введите ваш пароль для этой учётной записи чтобы подписания сообщения",
"udapp.copyAccount":"Копировать аккаунт в буфер обмена",
"udapp.signMsgUsingAccount":"Подписать сообщение, используя эту учетную запись",
"udapp.transactionSaveTooltip1":"Нет транзакций для сохранения",
"udapp.transactionSaveTooltip2":"Сохранить транзакцию {count} как файл сценария",
"udapp.transactionSaveTooltip3":"Сохранить транзакции {count} как файл сценария",
"udapp.transactionsWalkthroughTooltip":"Начать пошаговое описание для записи.",
"udapp.infoRecorderTooltip":"Сохранить транзакции (развернутые контракты и выполнение функций) и повторить их в другой среде. Например, транзакции, созданные в Remix VM, могут воспроизводиться во внутреннем провайдере (Injected Provider).",
"udapp.livemodeRecorderTooltip":"Если контракты обновляются после записи транзакций, то установка этого флажка приведёт к запуску записанных транзакций с последней копией скомпилированных контрактов",
"udapp.livemodeRecorderLabel":"Выполнить транзакции с использованием последнего результата компиляции",
"udapp.runRecorderTooltip":"Выполнить транзакцию(и) из текущего файла сценария",
"udapp.llIError1":"Отправляемое значение должно быть числом",
"udapp.llIError2":"Для получения перевода Ether контракт должен иметь функцию 'receive' или оплачиваемую функцию 'fallback'",
"udapp.llIError3":"Вызываемые данные должны быть допустимым шестнадцатеричным значением с размером не менее одного байта.",
"udapp.llIError4":"Вызываемые данные должны быть допустимым шестнадцатеричным значением.",
"udapp.llIError5":"Функция 'Fallback' не определена",
"udapp.llIError6":"Обе функции 'receive' и 'fallback' не определены",
"udapp.llIError7":"Пожалуйста, определите функцию 'Fallback' для отправки вызываемых данных или 'Receive' или оплачиваемую функцию 'Fallback' для отправки эфира",
"udapp.mainnetText1":"Вы собираетесь создать транзакцию в сети {name}. Подтвердите данные для отправки информации вашему провайдеру.",
"udapp.mainnetText2":"Провайдером для многих пользователей является MetaMask. Провайдер попросит вас подписать транзакцию перед отправкой ее в сеть {name}.",
"udapp.amount":"Количество",
"udapp.gasEstimation":"Оценка газа",
"udapp.maxPriorityFee":"Максимальная плата за приоритет",
"udapp.maxFee":"Максимальная комиссия (не меньше базовой комиссии {baseFeePerGas} Gwei)",
"udapp.contractCreation":"Создание контракта",
"udapp.transactionFee":"Недопустимая операция. Максимальная комиссия не должна быть меньше базовой комиссии",
"udapp.title1":"Представляет собой часть комиссии, которая направляется майнеру",
"udapp.title2":"Представляет максимальную сумму комиссии, которую вы платите за эту транзакцию. Минимальная сумма должна быть равной базовой комиссии.",
"udapp.gasPrice":"Цена газа",
"udapp.gweiText":"посетите {a} для информации о текущей цене газа.",
"udapp.maxTransactionFee":"Максимальная комиссия за транзакцию",
"udapp.mainnetText3":"Больше не показывать это предупреждение.",
"udapp.gasEstimationPromptText":"При оценке газа произошла ошибка со следующим сообщением (см. ниже). Выполнение транзакции скорее всего закончится неудачно. Хотите принудительно отправить?",
"udapp.customVmForkProviderText":"Пожалуйста, предоставьте информацию о пользовательском форке. Если URL-адрес узла не указан, Виртуальная Машина запустится с пустого состояния.",
"udapp.nodeUrl":"URL узла",
"udapp.blockNumber":"Номер блока (или \"последний\")",
"udapp.externalHttpProviderText1":"Примечание: Для использования Geth и https://remix.ethereum.org, настройте его так, чтобы он разрешал запросы от Remix:(см. <a>Geth Docs на сервере rpc</a>)",
"udapp.externalHttpProviderText2":"Для запуска Remix и локального тестового узла Geth используйте эту команду: (см. <a>Geth Docs в режиме Dev mode </a>)",
"udapp.externalHttpProviderText3":"<b>ВНИМАНИЕ:</b> Не безопасно использование флага --http.corsdomain с подстановочным символом: <b>--http.corsdomain *</b>",
"udapp.externalHttpProviderText4":"Для дополнительной информации: <a>Remix Docs на внешнем HTTP провайдере</a>",
"udapp.foundryProviderText1":"Примечание: Чтобы запустить Anvil в системе, запустите:",
"udapp.foundryProviderText2":"Для получения дополнительной информации, посетите <a>Документация по инструментарию разработки смарт-контрактов (Foundry) </a>",
"udapp.ganacheProviderText1":"Примечание: Чтобы запустить Ganache в системе, запустите:",
"udapp.ganacheProviderText2":"Для получения дополнительной информации, посетите: <a>Документация по Ganache</a>",
"udapp.hardhatProviderText1":"Примечание: Для запуска узла Hardhat в вашей системе, перейдите в папку hardhat проекта и запустите команду:",
"udapp.hardhatProviderText2":"Для получения дополнительной информации, посетите: <a>Документация по Hardhat</a>"
returncallback(`estimated gas for this transaction (${gasEstimation}) is higher than gasLimit set in the configuration (${gasLimit}). Please raise the gas limit.`)