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

本文详细介绍如何使用Truffle框架在私有链环境下进行智能合约的开发、部署与测试。包括合约编写、私有链配置、代码部署及控制台测试等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

1. 准备truffle 目录



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

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

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



testDemo .sol 文件内容如下

pragma solidity ^0.4.4;



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的控制台可以查看合约的相关信息, 如





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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值