Truffle - это совершенно новый фреймворк для создания ÐApps, и отладка может быть немного сложнее, чем просто поиск в Google StackOverflow. Чтобы сэкономить часы на ругательства и перелистывание таблиц, вот список методов отладки, которые вы всегда должны попробовать в первую очередь.

  1. Обновите Truffle: если ваши методы контракта выдают ошибки из-за недопустимого количества аргументов или недопустимых кодов операций, а функция darn даже не имеет параметров в своем определении, просто запустите $ npm install -g truffle и перезапустите приложение ÐApp.
  2. Удалите папку сборки: если она по-прежнему выдает ошибки с шага 1, возможно, в ваших файлах сборки есть некоторые сохраняющиеся ошибки. Удалите папку сборки и запустите $ truffle compile. Это создаст новую папку сборки с самыми последними файлами сборки.
  3. Обновите файлы ABI.js: если вы последовали моему совету из этой статьи и создали файлы экспорта ABI, вы можете получить ошибку виртуальной машины в консоли браузера, если ваш ABI не обновлен. Просто обновите файлы экспорта ABI массивами ABI из файлов сборки. Добавление или вычитание одного ключевого слова в вашем файле solidity может нарушить синхронизацию всего ABI с развернутым контрактом. Так что продолжайте и обновляйте файлы ABI.js, запускайте $ truffle develop, а затем truffle migrate.

Всегда сначала пробуйте эти шаги, и вы сэкономите много времени и сэкономите нервы. Если эти шаги не помогли, ваша проблема, скорее всего, в том, как вы используете методы библиотеки web3. Также возможно, что трюфель испорчен, и если это так, кто-то, вероятно, поднял проблему в репозитории трюфелей на GitHub. Команда разработчиков truffle умеет публиковать обходные пути и советы, которые помогут вам исправить ситуацию, пока они не выпустят исправление в следующем выпуске.

Если у вас есть какие-либо шаги по отладке, которые я пропустил, дайте мне знать в комментариях!