2

トリュフを使用しています:

truffle(development)> var hw  
undefined 
truffle(development)> HelloWorld.deployed().then(function(deployed){hw=deployed;}); 
undefined 
truffle(development)> hw.SayHello.call() 

Truffle で以下のエラーが発生しています

***Error: VM Exception while processing transaction: revert 
    at Object.InvalidResponse (C:\Users\dell\AppData\Roaming\npm\node_modules\truffle\build\cli.bundled.js:41484:16) 
    at C:\Users\dell\AppData\Roaming\npm\node_modules\truffle\build\cli.bundled.js:328866:36 
    at C:\Users\dell\AppData\Roaming\npm\node_modules\truffle\build\cli.bundled.js:324536:9 
    at XMLHttpRequest.request.onreadystatechange (C:\Users\dell\AppData\Roaming\npm\node_modules\truffle\build\cli.bundled.js:327565:7) 
    at XMLHttpRequestEventTarget.dispatchEvent (C:\Users\dell\AppData\Roaming\npm\node_modules\truffle\build\cli.bundled.js:176407:18)  
    at XMLHttpRequest._setReadyState (C:\Users\dell\AppData\Roaming\npm\node_modules\truffle\build\cli.bundled.js:176697:12) 
    at XMLHttpRequest._onHttpResponseEnd (C:\Users\dell\AppData\Roaming\npm\node_modules\truffle\build\cli.bundled.js:176852:12) 
    at IncomingMessage.<anonymous> (C:\Users\dell\AppData\Roaming\npm\node_modules\truffle\build\cli.bundled.js:176812:24) 
    at emitNone (events.js:111:20) 
    at IncomingMessage.emit (events.js:208:7) ***

1) 私の HelloWorld.sol
`

pragma solidity ^0.4.8;
contract HelloWorld { 
   function SayHello() public returns (string) { 
        return ("SomeHello"); 
    } 
} 

2) 私の 2_deploy_contracts.js

var ConvertLib = artifacts.require("./ConvertLib.sol");
var MetaCoin = artifacts.require("./MetaCoin.sol");
var HelloWorld = artifacts.require("./HelloWorld.sol");
var second = artifacts.require("./second.sol");

module.exports = function(deployer) { 
  deployer.deploy(ConvertLib);
  deployer.link(ConvertLib, MetaCoin); 
  deployer.deploy(MetaCoin); 
  deployer.deploy(HelloWorld);
  deployer.deploy(second);
}; 

3) 私の truffle.js

module.exports = { 
  networks: { 
    development: { 
      host: "localhost", 
      port: 8545, 
      network_id: "*" // Match any network id 
    } 
  } 
};

上記のエラーを修正する方法を教えてください。

`

4

1 に答える 1

0

あなたの例を実行したところ、うまくいきました。私が行った唯一の変更は、使用されていない他のスマート コントラクトを 2_deploy_contracts から削除したことです。トリュフコンソールを起動する前に、コマンドcompilemigrateコマンドを実行していることを確認してください。testrpcまた、Windows で実行している場合に備えて、名前を次のように変更truffle.jsします。truffle-config.js

$ truffle compile 
Compiling .\contracts\HelloWorld.sol... 
Writing artifacts to .\build\contracts

$ truffle migrate 
Using network 'development'.

Running migration: 2_deploy_contracts.js   
Deploying HelloWorld...   
... 0xef7e895758805a3c3c9aaed7dc7c97fe7b2278b0c0d6ee8105192183a86188c9 
HelloWorld: 0x54329ff919efda7920408084590d7480a6c88243 
Saving successful migration to network...   
... 0x0954625bf66275469c9475ca21f5db20bc4667efb716c5e19bfd98a9553f4a83 
Saving artifacts...

$ truffle console 
truffle(development)> var hw 
undefined 
truffle(development)> HelloWorld.deployed().then(function(deployed){hw=deployed;}); 
undefined 
truffle(development)> hw.SayHello.call() 
'SomeHello' 
truffle(development)>

2_deploy_contracts.js

var HelloWorld = artifacts.require("./HelloWorld.sol");

module.exports = function(deployer) {   deployer.deploy(HelloWorld); };
于 2017-12-17T16:54:59.423 に答える