#task #solidity #execute #chainlink #hardhat
Вопрос:
Я бы поставил это на переполнение стека, но это специфично для хакатона. Это для урока по хардхату. Я пытаюсь выполнить свою функцию получения номера в своем смарт — контракте. Мой контракт завершен. Это моя команда: npx жестко получить номер-контракт 0x5FbDB2315678afecb367f032d93F642f64180aa3. Это ошибка, которую я получаю: Ошибка: исключение возврата вызова (метод=»getNumber()», errorArgs=null, имя ошибки=null, значение ошибки=null, причина=null, код=ИСКЛЮЧЕНИЕ CALL_EXCEPTION, версия=abi/5.5.0). Любые мысли помогут…Спасибо.
Вот в чем заключается задача
task("get-number", "Reads the number")
.addParam("contract", "The contract's address")
.setAction(async (taskArgs) => {
const contractAddr = taskArgs.contract;
const MyFirstContract = await ethers.getContractFactory('MyFirstContract');
const accounts = await ethers.getSigners();
const signer = accounts[0];
const myFirstContract = await new ethers.Contract(contractAddr, MyFirstContract.interface, signer);
let result = BigInt(await myFirstContract.getNumber()).toString();
console.log('Stored number is: ' result);
});
module.exports = {};
Ответ №1:
У меня была аналогичная ошибка, когда я следовал этому учебнику по хакатону.
Мое исправление состояло в том, чтобы указать --network
при выполнении моей задачи get-номер. Итак, в вашем примере:
npx hardhat get-number --network localhost --contract 0x5FbDB2315678afecb367f032d93F642f64180aa3
Это позволит выполнить задачу с помощью сети Hardhat, которую вы должны были запустить при запуске демо-версии npx hardhat node
См.раздел Запуск автономного документа
Я спросил на хакатоне Discord, почему демо-версия не прошла это, но все еще работала, но пока не получила ответа.
Комментарии:
1. Я попытался, но получил ошибку 🙁 . Это ошибка, которую я получил Ошибка HH108: Не удается подключиться к локальному хосту сети. Пожалуйста, убедитесь, что ваш узел запущен, и проверьте конфигурацию вашего подключения к Интернету и сетей. И мой узел был запущен. Вы сделали что-нибудь особенное с конфигурацией вашей сети?
2. Я попробовал сеть кована, и код работает идеально. idk.
Ответ №2:
У меня та же проблема, и я решил ее так: начать с жесткого диска npx hardhat node --hostname 0.0.0.0
вместо npx hardhat node
Вам также нужно будет развернуть контракт на локальном хосте: npx hardhat run scripts/deploy.js --network localhost
Затем используйте npx hardhat --network localhost
для вызова 2 функций.
Комментарии:
1. спасибо, я попробую. Было бы хорошо иметь местную жесткую среду. Я только что запустил сеть kovan, и она отлично работает. Спасибо за продолжение.