十步搞定HelloWorld--部署和测试Solidity第一个合约

   最近正在学习以太坊Solidity智能合约,学习过程遇到很多问题。看了很多的博客,经过多次试错解决。终于让我成功部署和测试了第一个Solidity合约,于是激动的写下来。

准备

  •     LinuxMint
  •     Node.js 
  •     安装truffle和testrpc测试环境

apt-get命令安装Node.js

    命令如下,其他安装方式请参考Nodejs

$ sudo apt-get install nodejs 
$ sudo apt-get install npm

安装Truffle

$ npm install -g truffle

安装TestRPC

$ npm install -g ethereumjs-testrpc
$ testrpc 

  如果提示找不到上面命令,还需进行软连接的配置(具体nodejs安装目录下):

$ ln -s /app/softwares/nodejs/bin/truffle /urs/local/bin/
$ ln -s /app/softwares/nodejs/bin/testrpc /urs/local/bin/

创建工程

      1、使用命令创建一个工程项目:

$ mkdir ContractDemo
$ cd ContractDemo/
$ truffle init

     创建完成后可以在相应目录下看到如下内容:


    2、contracts目录下创建一个HelloWorld.sol 文件 ,写入以下内容:

pragma solidity ^0.4.4;

contract HelloWorld {
    function sayHello() public returns (string) {
        return ("Hello World");
    }
}
    创建完成后:


     3、打开 truffle.js文件,输入以下内容:

module.exports={
  networks:{
    development:{
      host:"localhost",
      port:8545,
      network_id:"*"//匹配任何netword id
    }
  }
};

    4、migrations目录下创建一个2_initial_contract.js 文件 ,写入以下内容:

var HelloWorld = artifacts.require("./HelloWorld.sol");

module.exports = function(deployer) {
    deployer.deploy(HelloWorld);
} 

    完成后如下,文件如下:



编译工程

    5、当创建完成,进入工程根目录下,在终端中进行编译:

$ truffle compile 

      有个警告,暂时先不管。编译是成功了的

测试部署

    6、启动安装好的EthereumJS RPC客户端

$ testrpc

    7、重新打开一个终端,部署刚刚写好的合约:

$ truffle migrate


    此时我们发现testrpc终端有变化:



    说明合约部署成功!恭喜,那么怎么利用控制台与合约进行交互呢?

    8、使用 truflle console功能:

$ truffle console


    9、  接着输入

HelloWorld.deployed().then(instance => contract = instance)    

    10、最后,见证奇迹的时刻:

contract.sayHello.call()

    

 这就是调用合约成功,希望你能成功!!!具体还有更多好玩的内容,笔者也在学,后续再写。











  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值