前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Truffle以太坊合约部署实战

Truffle以太坊合约部署实战

作者头像
Tiny熊
发布2020-07-14 15:13:33
5130
发布2020-07-14 15:13:33
举报

概述

代码语言:javascript
复制
truffle 是世界级的以太坊开发框架

•内置智能合约编译、连接、开发和二进制管理•快速开发的自动化合约测试•脚本、可扩展性部署和迁移框架•用于部署到任意数量的公网和私网的网络管理•为合约通信提供交互式控制台

创建项目

代码语言:javascript
复制
truffle init

目录结构

•contracts: 存放合约•migrations:存放部署脚本•test:测试文件•truffle-config.js: 配置文件,配置不同网络

创建合约

代码语言:javascript
复制
pragma solidity ^0.4.24;

contract SimpleStorage{
    uint storedData;

    function set(uint x) public{
        storedData =x;
    }


    function get() public view returns (uint){
        return storedData;
    }
}

编译合约

生成build/contract 编译文件

代码语言:javascript
复制
truffle compile

执行编译之后,会生成build文件夹,里面会有abi、bytecode、network

部署脚本

代码语言:javascript
复制
const SimpleStorage = artifacts.require("SimpleStorage");

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

部署网络

代码语言:javascript
复制
    //你所要部署的网络的名字
    ganacheNet: {
     host: "127.0.0.1",     // Localhost (default: none)
     port: 7545,            // Standard Ethereum port (default: none)
    network_id: "*",       // Any network (default: none)
    },

结果展示

代码语言:javascript
复制
truffle migrate --network ganacheNet
代码语言:javascript
复制
此时交易已经产生到ganache

通过remix测试

代码语言:javascript
复制
at address 用 ganache 里面的 create address

Git 地址 https://github.com/potaxie/truffle-init


本文作者:potaxie

作者主页:

https://learnblockchain.cn/people/633


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 深入浅出区块链技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 创建项目
  • 目录结构
  • 创建合约
  • 编译合约
    • 生成build/contract 编译文件
    • 部署脚本
    • 部署网络
    • 结果展示
    • 通过remix测试
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档