#javascript #node.js #solidity
Вопрос:
Всем привет, я работаю над своим курсом udemy, и у меня возникла проблема при компиляции с node.js файл солидности с моим компилятором, использующим терминальную машину Windows… это ошибка, которую я получаю:
сообщение об ошибке компилятора
и чтобы было ясно, я покажу свой код солидности и JavaScript, чтобы у вас, ребята, был лучший обзор, и было бы неплохо, если бы вы могли просто объяснить мне подробнее, что я делаю не так… извините, что я могу дать не так много информации, но я надеюсь, что вы, ребята, понимаете мою проблему.
compile.js файл:
const path = require('path');
// fs = file system module
const fs = require('fs');
const solc = require('solc');
// give a path to a compiler the file you want to compile:
// "__dirname" means it will start the path from the files folder root in this project root folder is "Inbox"
const inboxPath = path.resolve(__dirname, 'contracts', 'Inbox.sol');
const source = fs.readFileSync(inboxPath, 'utf8');
console.log(solc.compile(source, 1));
и файл solidity.sol
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.4.17;
contract Inbox{
string public message;
constructor(string initialMessage) public {
message = initialMessage;
}
function setMessage(string newMessage) public {
message = newMessage;
}
}
Комментарии:
1. Пожалуйста, не включайте код в изображения.
2. конечно, только что исправил это, извините, я здесь новенький
Ответ №1:
Вам нужно передать options
в функцию объект, закодированный в JSON compile()
, а не только исходный код (это то, что делает ваш текущий код).
Пример кода вы можете найти в solc
файле readme пакета.
Комментарии:
1. спасибо, сэр, я ценю ваш ответ, я решил эту проблему