在本系列中,我将向您展示如何利用NodeJS中创建一个简单的加密货币应用程序,同时该应用程序可用于返回有关区块链的数据。此应用程序可以进一步扩展到创建区块链浏览器,钱包,以及其他用例。 先决条件 在继续之前,请确保您首先满足以下先决条件: 1. Node version 8.9.0+ 2. NPM version 6.9.0+ 3. Postman 7.1.1+ 环境配置 开始着手创建一个新项目。对于这个例子,我使用node-rpc-tutorial作为我的项目名称。 在本教程中,我们将使用Divi Project的Divi Core区块链。https://diviproject.org/ Mac,Windows,Linux 下载适用于您的操作系统的最新版Divi。 基于ARM的机器 如果您使用的是ARM体系结构,请下载此版本。https://github.com/DiviProject/divi-smart-node/releases 配置Divi 如果你直接从./divid目录运行,守护程序将返回以下错误: Error: To use divid, or the -server option to divi-qt, you must set an rpcpassword in the configuration file: /Users/99darwin/Library/Application Support/DIVI/divi.conf It is recommended you use the following random password: rpcuser=divirpc rpcpassword=3PfKoXerwDMCA7vHv95WbecWsHzL664sfnNpottDH8Uz (you do not need to remember this password) The username and password MUST NOT be the same. If the file does not exist, create it with owner-readable-only file permissions. It is also recommended to set alertnotify so you are notified of problems; for example: alertnotify=echo %s | mail -s "DIVI Alert" [email protected] 这里的关键部分是我用粗体突出显示的部分。 打开另一个终端选项卡或窗口,并找到到操作系统的相关divi数据目录。在您最喜欢的文本编辑器中打开divi.conf文件,并使用上面错误响应中生成的rpcuserand rpcpassword进行以下编辑: # divi.conf rpcuser=divirpc rpcpassword=UseYourRandomlyGeneratedPWHere daemon=1 现在回到第一个终端窗口,您可以运行 ./divid -addressindex -txindex addressindex和txindex标志确保您的节点将同步整个网络中的所有事务和地址信息。 配置应用程序 您的节点需要一段时间才能同步,因此在此期间,我们可以设置应用程序。 让我们在编写任何代码之前获取文件系统。 安装依赖项 通过从项目的根目录运行npm init来初始化新的package.json文件,并安装以下依赖项。 npm install --save body-parser path divid-rpc express request request-promise 打开package.json并添加一个启动脚本。 # package.json { ... "scripts": { "start": "node index.js" } ... } 构建文件结构 在项目的根目录中创建以下文件: · keys.js · index.js · src/config.js · src/api.js 如果您使用的是OSX或Linux,则可以复制/粘贴以下行。 touch keys.js index.js && mkdir -p src && touch src/config.js src/api.js 配置验证 在文本编辑器中打开keys.js,并将rpcuser和rpcpassword添加到模块导出的键/值对,如下例所示。 # keys.js module.exports = { user: 'YOUR_RPCUSERNAME', pass: 'YOUR_RPCPASSWORD' } 打开src / config.js并配置divid-rpc以使用本地节点。 # config.js const keys = require('../keys') module.exports = { config: { protocol: 'http', user: keys.user, pass: keys.pass, host: '127.0.0.1', port: '51473' } } 现在您的项目已经准备好使用javascript以编程方式向divi守护进程发送/接收RPC消息。 构建API 现在已经配置了应用程序,我们可以开始编写一些将用于我们的区块链资源管理器的端点。让我们从简单的事情开始吧。 / blockcount端点将返回我们的节点当前已同步的当前块数。 配置服务器 打开index.js并使用Express配置一个简单的服务器 通过从根目录运行npm start来测试服务器。 您应该收到以下回复: App listening on port: 1337 测试API 在继续之前,请确保divid和服务器都在正常运行。如果在遵循本教程的过程中随时停止守护进程,请返回存储divi可执行文件的解压目录并运行/divid。 打开postman并开始新的GET请求。 在“输入请求URL”字段中,输入 localhost:1337/blockcount 按“sent”,postman将返回类似如下的响应: { "blockcount": 384339 } 到此,您已成功在区块链上创建了API应用。 —- 编译者/作者:不详 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
如何使用JavaScript构建区块链应用
2019-07-10 不详 来源:网络
LOADING...
相关阅读:
- Tether封锁$ 300K USDT并将其交付给州2020-10-26
- 瑞波首席执行官布拉德·加林豪斯(Brad Garlinghouse)反对Coinbase的“不政2020-10-26
- Pionex派网携手币安,全新交易工具开启「区块链券商」新赛道 - 律动B2020-10-26
- Binance Launchpad添加了游戏宠物宇宙Axie Infinity2020-10-26
- 物联网区块链平台 IoTeX 将于 11 月 3 日上线「销毁空投」计划,将共销毁2020-10-26