truffle是的最流行的以太坊DApp开发框架,它的一大优势就是支持众多的DApp开发模板,这些开发模板被称为box,其中可以包含solidity合约、前端视图库等,可以极大地简化以太坊DApp的开发。本文将介绍truffle官方提供的各种box。
要快速掌握以太坊应用开发,推荐这个教程:以太坊智能合约与DApp开发入门
在安装各种box之前,需要首先全局安装truffle和ganache-cli仿真器:
~$ npm install -g truffle
~$ npm install -g ganache-cli
drizzle box
drizzle开发模板包含了在react应用中使用Drizzle访问以太坊智能合约的所有依赖。它包含drizzle、drizzle-react和drizzle-react-components。
image
安装drizzle模板很简单,进入一个空的项目目录,执行如下命令即可:
~/drizzle-app$ truffle unbox drizzle
Drizzle是truffle提供的用于访问以太坊智能合约的react库,如果你不希望在react应用中引入额外的依赖,可以使用下面的react开发模板。
react box
react开发模板包含了在react应用中访问以太坊智能合约的所有依赖。不同于drizzle,这个react模板不需要使用Drizzle。
image
安装react模板很简单,进入一个空的项目目录,执行如下命令即可:
~/react-app$ truffle unbox react
react-auth box
如果你的react应用需要鉴权功能,react-auth开发模板会更适合,它除了Webpack和React之外,还包含了react-router、redux和redux-auth-wrapper,可以方便地实现基于智能合约的身份验证。
image
与之前类似的方法安装react-atuh开发模板:
~/react-auth-app$ truffle unbox react-auth
tutorialtoken box
tutorialtoken开发模板包含了一个完整的ERC20代币实现项目,基于Open Zepplin的智能合约库实现。
image
与之前类似的方法安装tutorialtoken开发模板:
~/tutorialtoken-app$ truffle unbox tutorialtoken
react-uport box
react-uport开发模板除了包含Webpack和React,补充了以下内容:react-router、redux和基于UPort的redux-auth-wrapper,是上手UPort的最简单方式。
image
与之前类似的方法安装react-uport开发模板:
~/react-uport-app$ truffle unbox react-uport
pet-shop box
pet-shap开发模板提供了一个宠物商店DApp的完整项目代码。
image
与之前类似的方法安装pet-shopt开发模板:
~/pet-shop-app$ truffle unbox pet-shop
blueprint box
blueprint开发模板是一个特殊的模板,用于开发你自己的模板。
image
metacoin box
metacoin开发模板包含了一个简单的以太坊代币实现。
image
与之前类似的方法安装metacoin开发模板:
~/metcoin-app$ truffle unbox metacoin
webpack box
webpack开发模板适用于使用Webpack的前端项目,包含合约、迁移、测试、用户界面和webpack构建流水线。
image
与之前类似的方法安装webpack开发模板:
~/webpack-app$ truffle unbox webpack
endless-nameless-inc/cheshire
cheshire开发模板支持快速的加密猫(CryptoKitties)开发,它包含了加密猫智能合约和web api的本地实现。
image
cheshire的特性如下:
- 运行加密猫智能合约的以太坊测试网
- 运行加密猫 web api的最小实现http服务:
- /kitties
- /kitties/:id
- /user/:address
- 简单的nodejs框架用来启动应用
与之前类似的方法安装cheshire开发模板:
~/cheshire-app$ truffle unbox endless-nameless-inc/cheshire
DOkwufulueze/eth-vue
eth-vue开发模板适合使用vue框架进行dapp开发的用户。
与之前类似的方法安装eth-vue开发模板:
~/eth-vue-app$ truffle unbox DOkwufulueze/eth-vue
分享更多的课程:
- EOS教程,本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。
- java以太坊开发教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
- python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
- php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和交易等内容。
- 以太坊开发进阶教程,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
- C#以太坊,主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和交易等。
- java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
- php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。
- tendermint区块链开发详解,本课程适合希望使用tendermint进行区块链开发的工程师,课程内容即包括tendermint应用开发模型中的核心概念,例如ABCI接口、默克尔树、多版本状态库等,也包括代币发行等丰富的实操代码,是go语言工程师快速入门区块链开发的最佳选择。