教程 | 你的第一个Truffle分布式app (1)

zzzhang   |     |   789 次阅读

在本系列文章中,我们将走过为以太坊(Ethereum)区块链创造第一个truffle分布式app的全过程。在此我也尝试给出一个Truffle入门指南。

你有很多理由喜欢Truffle的架构:

  • Truffle是一个以太坊的开发环境、测试框架以及资产传输通道。它的主要目标是让以太坊开发者的生活变得更简单。它也是以太坊社区里其一种应用得最广泛的整体开发者环境(IDE)
  • 自动化合约测试(使用Mocha测试框架以及Chai的断言机制)
  • 一个可编程的通道,既支持网页app,也支持控制台app
  • 易于与你的汇编合约工作的控制台
  • 支持JavaScript,Coffeescript,sass,ES6以及内嵌的JSX

别误会我的意思,Tfuffle有一些很棒的说明书,本文也无法与他们的第一手文献媲美。但当我第一次使用Truffle工作的时候,仍觉有个空白,因为大部分这些材料都是面向有经验的以太坊分布式app开发者的。没有为纯粹的小白写的东西。

作为试图填补这一空白的一个工具,以及推进我自己对这一架构的理解,我决定写些东西。有人说,最好的学习方法就是教别人。那么计划就简单了:写一系列当我第一次使用Truffle的时候希望其存在的文章。

这一系列文章最核心的抱负是尝试,以及成为一座桥梁。它将不会包含任何为理解Truffle架构而需要的细枝末节,它将包含为创造你的第一个Truffle分布式app你需要知道的一切,同时也帮助你成为一个自信的、独立的问题解决者。希望在这一系列文章结束的时候,你可以说“我明白怎么做出这些东西来了”。你感受到这种自信了吗?

这些话可能你早已听过了。每一个写作者都认为他们的作品将成为完美的参考材料并将改天换地。但至少给我一个机会。所以,请允许我建议:

  1. 准备好一大杯茶或者咖啡
  2. 找一个安静舒适的地方
  3. 用你希望的方式阅读完这一系列文章

这是一系列短文,但我将尽可能保证定期更新,这样在每次更新之间你就不会等太久。
让我们开始吧。一个小小的提醒:如果你更喜欢看视频而非阅读,告诉我;然后我会看看我是否有时间制作一系列包含相同主题的视频……全看用户需求。

前提

我已经读过许多技术指导,而且我也注意到作者们倾向于有点草率地使用“面向入门者”一词,所以,我希望明确说明,你不需要以下知识来阅读本文。

  1. 你不需要在之前对Truffle架构有经验。我将不会纠结Truffle到底是什么,我只会想你展示如何安装它以及如何尽快能快、尽可能简单地开始写代码;
  2. 你也不需要曾经开发过一个分布式app。有一些基本的以太坊分布式app发展理论我不会在本文中提到,但如果你主要是一名使用solidity的以太坊开发者,那会更好。在理解使用truffle架构开发分布式app的细节上,你应该不会有任何问题;
  3. 在这一过程中,你不需要查阅多个其他来源。当然,你可以任意查阅其他文章和指导意见,但这一系列文章将被设计为一个包罗万象的基础介绍,并将尝试只参考官方truffle文件图书馆。

但是,你将需要一些背景知识:
1. 你将需要对Solidity的基础性理解。这意味着你熟悉状态参数、函数、修饰符、事件和映射。你也不需要是个solidity忍者啦,只要熟悉基础就好;
2. 你将需要对以太坊区块链的基础理解。这意味着对以下概念比较熟悉:交易、承诺和调用。

要获得这些技能,我建议你阅读solidity的官方说明书和以太坊起步指导。

· Solidity Development Documentation
· Ethereum Project Website

为了这趟阅读旅程你需要准备的东西

好吧,要用truffle来开发,你并不需要太多东西。这看起来像是一个小细节,但你不会想到有多少人因为框架令人沮丧而麻烦的起步和运行而更换编程框架,否则每天只是在与框架作斗争,却无法写出一行代码。有了truffle以后,你将只需要很少一些东西了:

  1. 你需要一台配有主流操作系统的电脑,可以是Mac OSX,Windows,Linux。所有主流操作系统都受到同等的支持;
  2. 你需要一个文本编辑器。选择这个吧!我是sublime text3的粉丝——这是一个跨平台的编辑器,拥有大量的插件和提高效率的小工具。但正如我说的,这完全取决于你,不管你喜欢什么,坚持用它就好;
  3. 你需要一个相对现代化的网页浏览器。谷歌chrome是我选择的浏览器,并且,因为我们在这个系列中将一直使用它,如果你还没有的话,安装一个也许是有价值的。

最后,你还需要Truffle,我们将在下一篇文章中介绍如何安装。

最后一些话

我将做出一些尝试,并在每一篇推送中以该推送包含内容的综述作为结束,所以,举个例子,在这第一篇推送中,我们学到了:

  • Truffle是一个编程架构,让入门者着手为以太坊开发分布式app变得简单;
  • 要开始使用truffle,你并不需要很多背景知识,但你对solidity和智能合约知道得越多,就越有帮助;
  • 要开始使用truffle,你也不需要很多步骤,所以,在学习代码和写作代码之间的差距是非常小的。 随着这一系列文章的发布,我也将分享一些练习,你不需要完成这些练习——但是,在你按你的方式把握住了文章的核心之后,这些练习也许有助于你做一个回顾,在某种意义上这无疑值得尝试。时刻关注我们,因为在下一篇推送中我们就要开始啦。

原文链接: https://medium.com/@tapdev/your-first-truffle-dapp-an-attempt-at-a-beginners-guide-to-the-truffle-framework-c7edf0493b7
作者: Hugh Knight
翻译&校对: 阿剑 & Elisa

 
1 人喜欢