JavaScript 应用编程接口库

您所在的位置:网站首页 以太坊浏览器官方 JavaScript 应用编程接口库

JavaScript 应用编程接口库

#JavaScript 应用编程接口库 | 来源: 网络整理| 查看: 265

JavaScript 应用编程接口库

上次编辑: , Invalid DateTime

为了使软件应用程序能够与以太坊区块链进行交互(例如:读取区块链数据或发送交易信息到网络),软件必须连接到以太坊节点。

为此,每种以太坊客户端都实现了 JSON-RPC 规范,因而应用程序可以依赖一组统一的方法。

如果您想要用 JavaScript 连接到一个以太坊节点, 可以使用原生 JavaScript,不过生态系统中存在一些方便的库,使得这个事情变得更加容易。 通过这些库,开发者可以写下直观易懂甚至单行的代码就能初始化与以太坊的互动(背后使用 JSON RPC 请求)。

请注意,合并后,运行节点需要两种互联的以太坊软件 - 执行客户端和共识客户端。 请确保你的节点同时包含执行客户端和共识客户端。 如果你的节点不在本地计算机上(例如,你的节点在 AWS 实例上运行),请相应地更新教程中的 IP 地址。 有关更多信息,请参阅我们关于运行节点的页面。

前提条件

除了了解 JavaScript 外,了解以太坊堆栈和以太坊客户端也许是有帮助的。

为什么要使用库?

这些库降低了与一个以太坊节点直接交互的复杂性。 它们还提供实用功能(例如:将以太币转换为 Gwei),因此作为开发者,你可以花费更少的时间处理以太坊客户端的复杂问题,而将更多的时间集中于处理应用程序的独特功能。

库功能连接到以太坊节点

使用提供程序,这些库允许你连接到以太坊并读取它的数据,不管是通过 JSON-RPC、INFURA、Etherscan、Alchemy 还是 Metamask。

Ethers 示例

1// A Web3Provider wraps a standard Web3 provider, which is2// what MetaMask injects as window.ethereum into each page3const provider = new ethers.providers.Web3Provider(window.ethereum)4 5// The MetaMask plugin also allows signing transactions to6// send ether and pay to change state within the blockchain.7// 为此,我们需要帐户签名者...8const signer = provider.getSigner()9 📋 复制

Web3js 示例

1var web3 = new Web3("http://localhost:8545")2// or3var web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"))4 5// change provider6web3.setProvider("ws://localhost:8546")7// or8web3.setProvider(new Web3.providers.WebsocketProvider("ws://localhost:8546"))9 10// Using the IPC provider in node.js11var net = require("net")12var web3 = new Web3("/Users/myuser/Library/Ethereum/geth.ipc", net) // mac os path13// or14var web3 = new Web3(15 new Web3.providers.IpcProvider("/Users/myuser/Library/Ethereum/geth.ipc", net)16) // mac os path17// on windows the path is: "\\\\.\\pipe\\geth.ipc"18// on linux the path is: "/users/myuser/.ethereum/geth.ipc"19 显示全部📋 复制

一旦设置,你将能够查询区块链的以下内容:

区块号燃料估算智能合约事件网络 ID以及更多...钱包功能

这些库为你提供了创建钱包、管理密匙和签署交易的功能。

这里提供了 Ethers 中的一个示例

1// 从助记符创建一


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3