ENV: 测试-RPC 松露
代码: 让source =" pragma solidity ^ 0.4.11; contract Calc {uint count; function add(uint a,uint b)return(uint){count ++;返回a + b;函数getCount()返回(uint){返回计数; }}&#34 ;;
让calc = web3.eth.compile.solidity(source);
终端告诉我: 松露(发展)GT;错误:错误:不支持方法eth_compileSolidity。 在GethApiDouble.handleRequest(/Users/user/.nvm/versions/node/v6.10.3/lib/node_modules/ethereumjs-testrpc/build/cli.node.js:101870:16) ......
答案 0 :(得分:1)
我猜你试图获得合同的ABI和/或字节码。 Web3库(您在松露控制台中需要然后实例化web3提供程序)自版本1.6.0起没有web3.eth.compile.solidity()
这里描述了使用Remix和solc编译器的编译方式:https://ethereum.stackexchange.com/questions/15435/how-to-compile-solidity-contracts-with-geth-v1-6
当松露编译你的代码时,它会使用一些固定版本的solc(取决于松露版本)。对于松露3.2.5 solc 0.4.11 + commit.68ef5810.Emscripten.clang使用。以下是如何获取当前版本的松露的解决方法(了解您在Etherscan上verifying code时的必要信息):https://ethereum.stackexchange.com/questions/18133/how-do-i-find-the-exact-solidity-compiler-version-used-by-truffle