web3.js 教程

开发以太坊区块链应用程序,包含两部分内容:

  • 智能合约开发 – 使用solidity语言编写代码,部署到区块链。
  • 网站或客户端开发 – 与区块链中的智能合约进行交互,读写数据。

web3.js 是一组用来和本地或远程以太坊节点进行交互的 Javascript 库,它可以使用 HTTP 或 IPC 协议建立与以太坊节点旳连接。

所以我们在开发网站或客户端软件时,就需要用到 web3.js 库。


 

1. web3.js 用途

例如:web3.js 可以执行下面的任务:

  • 以太币转账
  • 读写智能合约中的数据
  • 创建智能合约

 

2. 谁适合阅读本教程?

阅读本教程,需要你有 web 前端开发背景,对 Javascript 语法和 Ajax 运行机制有所了解。

如果你对 Ajax 与 web 服务器进行通信的机制很熟悉,那么使用 web3.js 完全没有问题。web3.js 与 Ajax 类似,可以使用 Web3.js 读写以太坊区块链。

 

3. web3.js 工作流程

区块链网络是一个点对点的对等网络,网络由各个节点相互连接构成,智能合约的代码与数据存储在区块链中。使用 web3.js 可以向区块链网络中某个以太坊节点发出请求,与区块链网络进行交互。

此过程如下图所示:

web3.js原理

web3.js 使用 JSON RPC 与 Ethereum 区块链通信(JSON RPC:JSON 远程调用),对区块链网络进行数据读写。这有点像使用 jQuery ajax 库来读写 Web 服务器上的数据。

搭建 web3.js 开发环境,就需要安装首先 web3.js,然后启动以太坊节点,或者申请免费的以太坊网络节点。web3.js 包的安装和升级,最好使用 NPM 进行管理。 1. NPM首先要安装Nod ...