首页 > 其他 > 详细

Eth 部署智能合约

时间:2018-12-23 21:08:54      阅读:154      评论:0      收藏:0      [点我收藏+]

首先要开发以太坊的智能合约,需要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;

Eth 部署智能合约

原文:https://www.cnblogs.com/linguoguo/p/10165495.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!