以太坊开发之一切从脚手架truffle开始

查看更多文章: https://alili.tech

这个礼拜开始学习区块链开发,为了公司区块链项目开始之前有一定的知识储备.
在博客做一下知识复盘.

truffle是什么

Truffle是针对基于以太坊的Solidity语言的一套开发框架。本身是基于Javascript实现的。
虽然是使用我们熟悉的Javascript实现,
但是truffle主要还只是一个编译与发布智能合约的一个工具(当然还有其他的功能).

Solidity是什么

在区块链应用的开发中,Solidity语言你或许大致的可以理解为编写后台的一种语言. 在专业术语里,这种后台代码叫做 智能合约

truffle的主要作用

Truffle在区块链应用的开发中,主要是提供两个重要的功能.

  1. 编译智能合约
  2. 发布智能合约

安装

跟普通的npm包一样,用npm直接安装

# 全局安装truffle
$ npm i truffle -g

初始化你的项目

# 我们新建一个目录 
$ mkdir myproject
$ cd myproject

#初始化
$ truffle init
# 执行命令后
Downloading...
Unpacking...
Setting up...
Unbox successful. Sweet!

Commands:
# truffle的其他操作 编译,发布,测试
  Compile:        truffle compile
  Migrate:        truffle migrate
  Test contracts: truffle test

完成之后你会看到以下目录

    contract/ - 智能合约Solidity代码
    migrations/ - 智能合约发布的脚本
    test/ - 测试文件
    truffle.js - Truffle的配置文件

下面是初始化自动生成的Solidity代码,以后一部分开发工作主要就是写这东西.
编译完成之后,再使用前端js调用这些方法.

pragma solidity ^0.4.17;

contract Migrations {
  address public owner;
  uint public last_completed_migration;

  modifier restricted() {
    if (msg.sender == owner) _;
  }

  function Migrations() public {
    owner = msg.sender;
  }

  function setCompleted(uint completed) public restricted {
    last_completed_migration = completed;
  }

  function upgrade(address new_address) public restricted {
    Migrations upgraded = Migrations(new_address);
    upgraded.setCompleted(last_completed_migration);
  }
}

编译 Solidity

$ truffle compile

执行命令后会多出一个 build文件夹
里面就是我们编译完成的Solidity代码,最终会是json形式.

build/
  contracts/
    Migrations.json

这个json文件就是我们以后经常能用到的智能合约
在区块链的前端开发中,会在前端代码里引入这个json文件,并且调用里面的方法.


公众号“ Alili丶前端大爆炸”,关注后提供海量学习资料

图 1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值