# 智能合约开发

提到套路,大家第一感觉是不好。生活中有很多套路,比如小学生写作文的套路:先说一个自己曾经经历的事儿,然后来一句“那一刻,我明白了…..”。

套路容易让思维僵化,但写程序尤其是写智能合约却非常需要套路。套路不仅可以提高我们的学习效率,而且还可以大幅度提高我们写程序的质量。进一步来说掌握的套路越多,你就越逼近高手。

以前在带团队的时候,经常碰到一些程序员代码没有注释、格式乱七八糟、没有必要的错误处理,导致软件出现各种奇奇怪怪的问题,这都是因为没有经过正规训练。

由于智能合约不同于一般程序开发,对效率要求很高,而且升级比较麻烦,因此要成为一名合格的区块链开发工程师,必须先从掌握套路开始。

如果大家以后如果要做公链开发,一定要多多掌握套路,因为一个bug就可能导致巨大的经济损失。

比如美链(BeautyChain)就因为智能合约bug导致整个项目几乎归零。

2018年4月23日中午11点30分左右,黑客利用了Solidity语言的整形溢出漏洞,成功转走了两笔超大数量的BEC Token,导致市场上海量 BEC 被抛售,该数字货币价值几乎归零,给 BEC 市场交易带来了毁灭性打击。

讲这么多没有别的意思,就是希望大家明白智能合约开发与我们之前web开发不一样,大家需要严肃对待。

Fabric的开发主要包含智能合约(链码)开发和基于Fabric SDK的应用开发。

虽然Fabric链码开发支持Java、Node.js开发,但由于Fabric是基于Go语言开发的,因此本教程建议使用Go语言进行智能合约的开发。本章节主要讲解链码开发,关于应用开发会在第6章区块链溯源案例分析章节详细讲解。

搭建Fabric网络环境时,我们学习了在Ubuntu上安装Go语言环境以及Fabric网络搭建,已经初步具备chaincode的开发和调试能力。但由于在Fabric网络中测试链码需要不断的重启网络,会严重影响开发效率,同时也不便于chaincode的开发、测试。

本章节我们以Windows10为例(其它平台大同小异,有需要的朋友可以自行摸索),详细讲解怎样进行本地开发环境搭建、Golang核心知识、链码基本概念、链码开发、单元测试,方便开发者进行链码开发和调试。

本章主要内容:

Last Updated: 3/9/2020, 11:52:49 AM