区块链开发基础知识学习

随着区块链的火热相信很多同学已经跃跃欲试想投入到区块链开发队伍当中来,可是又感觉无从下手,本文就基于以太坊平台,轻松带大家入区块链技术开发应用的大门。
  区块链
  以太坊是什么
  我们要开发一个区块链应用,如果要从头开发一个区块链是不现实的,这时我们就需要以太坊这样的平台。 以太坊(Ethereum)是一个建立在区块链技术之上的应用平台。它允许任何人通过区块链技术运行的去中心化应用在平台中建立和使用。
  对这句话不理解的同学,暂且可以理解为以太坊是区块链里的Android,它是一个开发平台让我们就可以像基于Android Framework一样基于区块链技术写应用。
  在没有以太坊之前,写区块链应用是这样的:拷贝一份比特币代码,然后去改底层代码如加密算法、共识机制、网络协议等等(很多山寨币就是这样,改改就出来一个新币)。 对底层区块链技术进行了封装以太坊平台,可以直接基于以太坊平台进行开发让区块链应用开发者,开发者只要专注于应用本身的开发,从而大大降低了难度。
  以太坊是目前最流行的区块链应用平台,已经形成了一个较为完善围绕以太坊的开发生态圈:有众多开发框架、工具可以选择。
  智能合约是什么
  对区块链稍有了解的同学,肯定约到过这个词:智能合约,简单来说智能合约就是跑在区块链上的一段程序。
  智能合约英文是Smart Contract,和人工智能( AI:Artificial Intelligence )的智能并没有什么关系,智能合约的概念最早是尼克萨博在95年就提出的,它的概念很简单,就是将法律条文写成可执行代码。当时并没有区块链,不过智能合约与区块链几乎是天生一对,因为区块链上程序就像法律条文都是按规则运行。
  那如何来编写智能合约呢?以太坊上编写智能合约官方推荐的语言是Solidity,这个语言大家也许没有听说过,不用怕的,如果你对Python 或 Java 有一点点了解,那么学习Solidity就很简单。
  然而这样一段智能合约程序并不能称之为一个应用,我们平时看到应用,如微信、微博、知乎等都至少需要有一个和用户交互的界面以便用户来进行使用,不管这个界面是APP、Web、还是小程序,区块链应用既然是应用同样也需要有这样的交互UI。
  区块链(去中心化)应用
  区块链应用,由于其运行在去中心化区块链网络上,通常称为去中心化应用程序(Decentralized App)。 去中心化应用程序虽然每个人对它的定义不一样,通常认为如果一个应用的关键(核心)的数据存储在区块链网络中(不再由一个单一的机构掌握),这样的应用都可以认为是区块链应用。
  我们可以把区块链理解为一个存取应用数据的不可篡改的分布式数据库。
  总结
  我们来做一下总结,编写一个完整的区块链(去中心化)应用,归纳一下就是需要编写3个部分的代码:
  1:编写智能合约;
  2: 编写应用UI;
  3: 编写UI月合约交互代码。
  当然在实际开发过程,我们还会需要非常多的问题,如怎么搭建开发环境,怎么进行测试,怎么部署等等。

猜你喜欢

转载自blog.csdn.net/xxqkl_1/article/details/83094682