以太坊是备受关注的区块链。它构建了一个基于密码学技术和P2P通信技术的去中心化平台。所有交易同步存储在各个节点,区块单向级联成链。 ,以太坊有效保证了交易不可篡改:#### 智能合约平台以太坊是第一个实现虚拟机的区块链,因此为智能合约的运行提供了良好的支撑环境。也正是因此,以太坊被称为区块链2.0,以区别于以比特币为代表的以数字加密货币为核心特征的区块链1.0。智能合约可以理解为机器之间的合约,在满足一定条件时自动执行约定的逻辑。例如,在保险理赔过程中,如果满足理赔条件,赔偿金将自动发放给保险公司。这个过程可以使用智能合约来实现。开发以太坊智能合约有多种语言,但到目前为止最常用的是类似于 .在本课程中,将解释智能合约的发展。 #### JSON RPC 如果我们想要构建一个去中心化应用(`DApp`),除了智能合约的开发之外,通常还需要使用其他开发语言为用户提供操作智能的用户界面合同,例如开发网页、移动应用程序或桌面应用程序。
这些代码都需要与以太坊进行交互。以太坊规定了每个节点需要实现的[JSON RPC API]()应用程序开发接口。该接口与传输无关。应用程序可以使用该接口协议通过HTTP或IPC等各种通信机制来操作以太坊节点。 : 理论上,您可以使用任何语言在以太坊上基于 JSON RPC 接口开发去中心化应用程序。不过,为了提高开发效率,更好的做法是使用特定语言的 JSON RPC 封装库。这些库封装了JSON RPC的协议细节,帮助开发人员专注于业务逻辑的实现。虽然以太坊的官方客户端geth是使用Go语言开发的,但是直接使用geth提供的接口对于DApp开发来说过于重量级和碎片化。更好的办法是给DApp开发增加一层抽象,屏蔽掉。不必要的细节,例如使用课程提供的开发套件。 ####课程内容概述本课程的目的是帮助Go开发工程师快速掌握开发以太坊应用的技巧,同时穿插讲解以太坊的一些基本概念,例如:账户、交易和智能合约开发等。
__第二章 Hi,以太坊__ 本章将通过开发一个简单的Go应用程序来讲解使用Go语言开发以太坊应用程序的最简单流程。通过这部分的学习,您可以在自己的 Go 应用程序中引入基本的以太坊支持。 __第三章账户管理__本章将详细介绍以太坊的账户管理界面。如果您有兴趣开发集中式钱包应用程序,或者需要在网站上动态创建帐户(例如,如果您想向网站添加对以太坊支付的支持),本节将会很有帮助。 __第四章了解状态和交易__本章主要讲解以太坊的交易操作接口,同时也介绍了一些重要的概念,比如状态、裸交易、gas等。本节将帮助你梳理Go应用程序与以太坊交互的大部分问题。 __第五章智能合约的开发、部署和交互__本章将通过代币合约的开发、编译、代码生成、部署和交互的完整过程来讲解如何使用Go语言来操作合约。如果您想向您的网站添加令牌支持,则需要此部分。 __第六章过滤器、发布订阅和事件__本章主要讲解以太坊的通知机制以及如何在Go应用程序中使用过滤器和发布订阅机制来监控区块和交易的生成以及合约事件的触发。课程为每个知识点提供了对应的预设代码,您可以在实验环境的`~/repo`目录中查看。课程链接:【Go以太坊开发详解—汇智网】()