使用solidity创建契约但不执行

问题描述 投票:0回答:1
    I'am building a local blockchain using etherium.I wrote a smart contract   "Hello" that allows to display a phrase. when I execute truffle.compile an error occurs:  No visibility specified. Did you intend to add "public"?

    pragma solidity ^0.4.15;
    contract Hello{
       string public message;
       function Hello() {
       message = "Hello, World : This is a Solidity Smart Contract on the Private Ethereum Blockchain ";
       }
    }

Compiling your contracts...

Compiling ./contracts/Hello.sol
Compiling ./contracts/Migrations.sol

/home/mohamed/Projects/Stage/Truffle/contracts/Hello.sol:1:1: SyntaxError: Source file requires different compiler version (current compiler is 0.5.0+commit.1d4f565a.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
pragma solidity ^0.4.15;
^----------------------^
,/home/mohamed/Projects/Stage/Truffle/contracts/Hello.sol:4:4: SyntaxError: No visibility specified. Did you intend to add "public"?
   function Hello1() {
   ^ (Relevant source part starts here and spans across multiple lines).

Error: Truffle is currently using solc 0.5.0, but one or more of your contracts specify "pragma solidity ^0.4.15".
Please update your truffle config or pragma statement(s).
(See https://truffleframework.com/docs/truffle/reference/configuration#compiler-configuration for information on
configuring Truffle to use a specific solc compiler version.)

Compilation failed. See above.
Truffle v5.0.12 (core: 5.0.12)

所以v8.9.4

ethereum truffle
1个回答
1
投票

在您的松露配置文件中添加以下内容:

module.exports = {
  // your existing config goes here
  // don't forget to put comma on the last element before proceeding to next line

  compilers: {
    solc: {
      version: "0.4.25"
    }
  }
}

阅读有关配置here的更多信息。所有Solidity版本都可以找到here

© www.soinside.com 2019 - 2024. All rights reserved.