码迷,mamicode.com
首页 > 其他好文 > 详细

Eth 部署智能合约

时间:2018-12-23 22:16:38      阅读:409      评论:0      收藏:0      [点我收藏+]

标签:编译   界面   详细   return   分配   image   模式   客户端   开发   

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

标签:编译   界面   详细   return   分配   image   模式   客户端   开发   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!