nirjhor iftahaj Ответов: 0

Как решить проблему версии компилятора


I am using Truffle v5.1.34 (core: 5.1.34)
Solidity v0.5.16 (solc-js)
Node v12.18.2
Web3.js v1.2.1node index.js
Using npm install solc --save command I insatalled solc: + solc@0.6.11

  errors:
      component: 'general',
      errorCode: '5333',
      formattedMessage: 'HelloWorld.sol:1:1: ParserError: Source file requires different compiler version (current compiler is 0.6.11+commit.5ef660b1.Emscripten.clang) - note that nightly builds are considered to be strictly less than the released version\n' +
        'pragma solidity ^0.5.10;\n' +


Что я уже пробовал:

Я попробовал ниже код Node.js
const fs = require('fs'); // Built-in dependency for file streaming.
const solc = require('solc'); // Our Solidity compiler

const content = fs.readFileSync('HelloWorld.sol', 'utf-8'); // Read the file...

// Format the input for solc compiler:
const input = {
  language: 'Solidity',
  sources: {
    'HelloWorld.sol' : {
      content, // The imported content
    }
  },
  settings: {
    outputSelection: {
      '*': {
        '*': ['*']
      }
    }
  }
}; 

const output = JSON.parse(solc.compile(JSON.stringify(input)));

console.log(output); // Log the result

И

Код солидности

pragma solidity ^0.5.10;

contract HelloWorld {
  string myName = "Tristan";
  
  // Add this function:
  function getMyName() public view returns(string memory) {
    return myName;
  }
  
  function changeMyName(string memory _newName) public {
    myName = _newName;
  }
}

Richard MacCutchan

Зайдите на сайт компилятора и найдите правильную версию. Кроме того, проверьте документацию, чтобы увидеть, что неверно в вашем коде.

0 Ответов