Я следую учебному пособию по настройке конвейера для компиляции и развертывания контрактов, и для этого я использую файл js, но в tuturial используется версия твердости 0.4.17, а загруженная мною версия является самой последней (5что-то), поэтому я искал вокруг и обнаружил, что мне нужно использовать эту функцию: loadRemoteVersion, чтобы я мог быть совместим с учебником.Однако я продолжаю получать сообщение об ошибке.Также я не уверен, правильно ли я установил некоторые зависимости.
Я использую node compile.js для запуска скрипта.
Это код, который я пытаюсь запустить длясоставление кода солидности:
const path = require('path');
const fs = require('fs');
const solc = require('solc');
const inboxPath = path.resolve(__dirname, 'contracts', 'Inbox.sol');
const source = fs.readFileSync(inboxPath, 'utf8').toString();
//console.log(solc.compile(source, 1));
solc.loadRemoteVersion('v0.4.1+commit.4fc6fc2c', function(err,
solcV04){
if (err) {
console.log("Oopsies");
}
console.log(solcV04.compile(source, 1));
});
Это код договора:
pragma solidity ^0.4.17;
contract Inbox {
string public message;
constructor (string initialMessage) public {
message = initialMessage;
}
function setMessage(string newMessage) public {
message = newMessage;
}
}
'''
I should be getting a class dump but instead I am getting this:
{"errors":[{"type":"SOLCError","component":"solcjs","severity":"error","message":"Invalid import callback supplied","formattedMessage":"Error: Invalid import callback supplied"}]}