如果我们希望构造一个去中心化应用(DApp),除了智能合约的开发, 通常还需要使用其他开发语言为用户提供操作智能合约的用户接口,例如 开发一个网页、一个手机App或者一个桌面应用。这些代码都需要与以太坊 进行交互。
以太坊规定了每个节点需要实现的JSON RPC API 应用开发接口,该接口是传输无关的,应用程序可以通过HTTP、websocket或IPC等多种 通信机制来使用该接口协议操作以太坊节点:
理论上你可以使用任何语言基于JSON RPC接口开发出以太坊之上的 去中心化应用,不过为了提高开发效率,更好的办法是 使用特定语言的JSON RPC封装库,这些库封装了JSON RPC的协议细节, 有助于开发人员聚焦在业务逻辑的实现上。
Nethereum是以太坊官方推荐的.Net开发包,用于支持在.Net应用中访问 以太坊。在本课程中,我们将主要基于Nethereum开发包,使用C#语言来开发支持以太坊的.Net应用。
本课程的目的是帮助.Net工程师快速掌握开发以太坊应用的技能,同时穿插 讲解以太坊的一些核心概念,例如:账户、交易和智能合约等。
1.Hi,以太坊
这一章将通过一个简单的.Net应用的开发来讲解使用 C#进行以太坊应用开发的最简流程,通过这一部分的学习,你就可以在自己 的.Net应用中引入基本的以太坊支持了。
2.账户管理
这一章将详细介绍以太坊的账户管理接口。如果你 对开发中心化钱包应用感兴趣,或者需要在自己的网站中动态创建账户(例如,你 希望为网站增加对以太坊支付的支持),那么这部分内容会有很大的帮助。
3.理解状态与交易
这一章主要讲解以太坊的交易操作接口,同时也介绍一些 重要的概念,例如状态、裸交易、gas等。这部分内容将帮助你理清.Net 应用与以太坊交互