首先要开发以太坊的智能合约,需要EVM(以太坊虚拟机),也就是需要运行的环境,我们可以通过 geth 来设置开发环境:
geth --datadir testNet --dev console 2>> test.log
命令参数说明(更多命令详解可阅读Geth命令用法-参数详解篇):
–dev 启用开发者网络(模式),开发者网络会使用POA共识,默认预分配一个开发者账户并且会自动开启挖矿。
–datadir 后面的参数是区块数据及秘钥存放目录。
第一次输入命令后,它会放在当前目录下新建一个testNet目录来存放数据。
console 进入控制台
2>> test.log 表示把控制台日志输出到test.log文件
然后就进入了以太坊客户端 console 界面。
在 console 里,你可以通过相关命令来建立账户、挖矿、转账、查看区块高度等。
接着,建立智能合约:
pragma solidity >=0.4.22 <0.6.0; contract man { uint amount; constructor(uint i) public { amount = i; } function say(uint s) public returns (uint) { amount += s; return amount; } }
可以在 remix (在线 solidity 编译器)编译你的代码
选择编译器版本,然后编译,再点击 detail ,弹出详细信息,
将文本复制起来,修改其中的变量,from 地址等,然后在 geth console 中输入,则部署成功
运行合约,发现error
解决方式:
eth.defaultAccount=eth.coinbase;
原文:https://www.cnblogs.com/linguoguo/p/10165495.html