LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 如何使用JavaScript构建区块链应用

如何使用JavaScript构建区块链应用

2019-07-10 不详 来源:网络
在本系列中,我将向您展示如何利用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应用。

—-

编译者/作者:不详

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...