Пробный прогон контракта Solidity с миграцией по сравнению с реальной

Краткое описание: Использование трюфеля для развертывания в ринкеби через инфуру.

Я только что развернул краудсейл, и, похоже, это удалось. Однако трюфель не показывает мне контрактный адрес, что вызывает беспокойство. Я замечаю Migrations dry-run (simulation) вверху, что заставляет меня задуматься, не развертывается ли он, а просто тестирует ... это что-то? Как мне заставить его развернуться?

Поделитесь своим контрактом, truffle.js, версией Truffle, которую вы используете, и командой, которую вы только что запустили.

Zulhilmi Zainudin 13.09.2018 17:11

Я проверю ваши сценарии миграции, вы используете async / await или обещания? Есть открытый вопрос по этому поводу github.com/trufflesuite/truffle/issues/501

Ismael 13.09.2018 17:31

Привет, ребята, спасибо, ответили на мой вопрос

amlwwalker 13.09.2018 18:22
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
3
1 198
3

Ответы 3

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

  1. Я был проинформирован об использовании новейшего трюфеля с последними краями, чтобы использовать версию 1.0.0-web3one.0truffle-hdwallet-provider.
  2. Как только я установил это, я смог пройти симуляцию. При переходе на сети rinkeby / live, перед фактическим развертыванием будет предпринята попытка моделирования. Кажется, это нигде не задокументировано, и, поскольку трюфель висел после завершения моделирования, это была настоящая задача ....
  3. Хотя сейчас это кажется очевидным, если есть какой-либо код, связанный со временем (например, время начала краудсейла), его развертывание должно происходить через несколько минут в будущем. Не что-то очевидное при использовании ганаша - у меня был мой на 20 секунд в будущее, но к тому времени, когда он должен был быть развернут, это было теперь в прошлом, что привело к возврату моих контрактов

У меня неплохие успехи с новой версией 1.0 инструментов Ethereum и бета-версией трюфеля, так что кричите, если я могу помочь!

Как вы получили предупреждение? У меня была такая же проблема с truffle-hdwallet-provider ^1.0.5, и после изменения версии на 1.0.0-web3one.0 она начала работать.

Hải Nguyễn 24.04.2019 09:22

Вы можете использовать Etherlime для развертывания смарт-контрактов. На самом деле вы можете использовать его для всего, вместо трюфеля. Это проще и с большим количеством информации. На мой взгляд, это лучший инструмент. Он основан на ethersjs, который намного лучше, чем web3js. Вот ссылка на документация

Советовать кому-то использовать другой инструмент на самом деле не помогает решить проблему.

Gareth Oates 18.09.2018 22:18

Почему нет? Вы пробовали развертывать контракты в основной сети с помощью Truffle? Мое предложение решит их проблему и сделает их жизнь намного проще.

maptuhec 26.09.2018 18:06

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

Gareth Oates 28.09.2018 21:03

Попробуй выложить в раздел сети, опция skipDryRun: true

module.exports = {

  networks: {
    ...

    ropsten:{
     provider: () => new HDWalletProvider(mnemonics, endpoint),
     network_id: 3,
     gas: 5000000,
     confirmation: 2, 
     timeoutBlocks: 200,
     skipDryRun: true
    },
    ...
  }
}

Другие вопросы по теме