Использование отладчика командной строки Truffle

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

truffle develop
compile
test ./test/NameOfMyTestCaseFile.sol

Это возвращает ошибку в конкретном тестовом примере.

Руководство по ОТЛАДКЕ ВАШИХ КОНТРАКТОВ гласит:

truffle debug <transaction hash>

Я не вижу никакого вывода хэша транзакции на моей консоли. Как использовать отладчик для пошагового выполнения кода?

Ответы (1)

Вы можете использовать Ganache и Remix для получения хэшей транзакций для конкретных транзакций. Чтобы использовать Ganache, перейдите к файлу truffle.js и включите ссылку на него в module.exports:

module.exports = {
// See <http://truffleframework.com/docs/advanced/configuration>
// to customize your Truffle configuration!
    networks: {
        development: {
            host: "127.0.0.1",
            port: 7545,
            network_id: "*"
        }
    }
};

В Remix запустите с использованием параметра среды провайдера Web3, и если вы используете Ganache, конечная точка — http://127.0.0.1:7545 . Затем вы можете использовать truffle или Remix для отладки кода. Надеюсь это поможет!

Спасибо за Ваш ответ. Это требует выхода в интернет? Я не пишу производственный код. Это домашнее задание, которое я пытаюсь отладить! Могу ли я не делать это в автономном режиме?
Я новичок в этой среде. Не могли бы вы поделиться более подробной информацией?
Нет, это позволяет вам запустить полностью приватный блокчейн с фиктивными учетными записями, чтобы вы могли проверить свою функциональность. Вы можете скачать ганаш здесь: truffleframework.com/ganache . Remix — это онлайн-IDE для смарт-контрактов Solidity. Когда вы изменяете файл truffle.js, вы, по сути, сообщаете ему, что он должен указывать на учетные записи, настроенные Ganache. Затем, настроив Remix так, чтобы он тоже указывал на него, все синхронизируется для работы с фиктивными учетными записями. Remix — это IDE, которая позволяет вам компилировать, запускать и тестировать ваши смарт-контракты без необходимости настраивать внешний интерфейс.
Если вы тестируете смарт-контракты на функциональность и пишете для этого тестовые примеры, вы можете просто использовать remix ide с виртуальной машиной JavaScript, а затем написать свои тестовые файлы и использовать truffle, чтобы подтвердить, что они проходят. Вы можете найти больше информации о Remix в их документации: remix.readthedocs.io/en/latest/run_tab.html#run-setup .