以太坊(7)Truffle 合约开发、部署、测试 --mac

本章主要介绍,私有链下truffle框架下进行简单的开发、部署、测试

前提条件: truffle 已经安装,详见我的上一篇文章;

1. 准备truffle 目录



注意: build目录是我编译后才有的,所以不用纠结;每个目录的基本介绍可以看上一张;

2. 使用remix-ide 编写简单的合约

   注意: 合约代码很简单,如果没有solidity开发基础的人,可以直接复制粘贴,体验truffle的整体过程;



testDemo .sol 文件内容如下

pragma solidity ^0.4.4;

扫描二维码关注公众号,回复: 1118662 查看本文章


contract testDemo{
    uint [] a = [1, 2, 3, 4, 5];
    
    function testDemo(){
        a[4] = 400;    
    }
    
    function getA(int b) constant public returns (uint){
        uint c;
        if (b == 1){
            c = 1000;
        } else {
            for(uint x = 0; x < a.length; x++) {
                c = a[x];
            }
        }
        return c;
        
    }
}


contract test1 is testDemo{
    
    function getAmount() constant returns (uint[]){
        return a;
    }
    
}

3. 配置私有链需要修改truffle.js

module.exports = {  

    networks: {  

        development: {  

            host: "localhost",  //ip

            port: 8090,  //端口

            network_id: 1138, //开发模式,本地的私有链网络

        }  

    }  

}; 


注意: 如果你已经学习了私有链的部署上面的不用说肯定都是小easy, 如果搞不明白,可以看我之前的文章;



4.  代码部署、

4.1 刚才开发的testDemo.sol 代码需要放在truffle框架的  contracts 下:


4.2   vim migrations/2_deploy_contracts.js


4.3  编译、部署

编译:truffle compile

Truffle仅默认编译自上次编译后被修改过的文件,来减少不必要的编译。如果你想编译全部文件,可以使用--compile-all选项


部署:truffle migrate

如果之前执行过truffle migrate命令,再次执行,只会部署新的js文件,如果没有新的js文件,不会起任何作用。如果使用--reset参数,则会重新的执行所有脚本的部署。

    

注意: 执行部署的时候需要挖矿才能成功将合约部署到私有链中,可能会遇到用户锁定的问题自己搞定即可很简单;


5. truffle console 控制台测试

5.1 trufflle console



5.2 编写脚本测试

var testDemo


testDemo.deployed().then(function(instance){testDemo = instance})







6.拓展(可以自己多学习了解):

在truffle的控制台可以查看合约的相关信息, 如





好了到此,本章结束,如果想要学习更深入可以参考官网学习,下章见;

猜你喜欢

转载自blog.csdn.net/weixin_41806245/article/details/80243605