解决和说明> eth.getCompilers() Error: The method eth_getCompilers does not exist/is not available

来源:互联网 发布:mysql.sock 编辑:程序博客网 时间:2024/05/16 19:08

想把自己的智能合约部署在链上(一般是以太坊的私有链)


很多例子是eth.getCompilers()返回solidity 或者配置solc


然后会报Error: The method eth_getCompilers does not exist/is not available的错误


因为1.6以后已经移除了这个方法 使用低版本的geth也不可取


值得一提的是admin.setSolc方法也被取消了,tab出来的列表中并没有这个方法了,很多老的资料(包括更新日期很新的英文资料)仍然使用这个方法来设置solc编译路径,已经无效了


启动一个以太坊节点 (例如geth私有链之类的或者testrpc)。 


用solc编译智能合约。(这里推荐网页版的remix链接是https://ethereum.github.io/browser-solidity ) => 获得二进制代码。 


编译好的合约部署到网络。(这一步会消耗以太币,还需要使用你的节点的默认地址或者指定地址来给合约签名。) => 获得合约的区块链地址和ABI(合约接口的JSON表示,包括变量,事件和可以调用的方法)。ABI是合约接口的二进制表示。


eb3.js提供的JavaScript API来调用合约。(根据调用的类型有可能会消耗以太币。)

阅读全文
1 0
原创粉丝点击