“ 注意:在本教程中我使用web3js 1.0版本 ”
大家好,我将解释如何从NodeJS后端发送交易。我将使用rinkeby testnet
并将创建一个路由器,还添加一些节点模块并使用infura http接口来完成教程。
我们需要web3js
,express
和ethereumjs-tx
模块来执行交易。之后你需要从Infura输入你自己的api key,登录到infura。
开始
首先,你需要为此项目创建一个空文件夹,以便更轻松地访问它。创建文件夹后,你需要在该文件夹中打开命令shell。我假设你的计算机上安装了npm
。npm是由nodejs分发的,所以如果你安装了nodejs,你也会得到npm。如果你没有从这个网站下载包含npm的nodejs。安装npm后你需要调用它。
npm init
如果要保留默认设置(包括默认名称,即文件夹名称),可以通过输入enter
键跳过所有行。在此过程结束时,你将拥有一个package.json
文件。
启动项目后,在文件夹中需要创建一个js文件,其中包含你想要的名称,这将是我们的后端。
获取模块
在我的代码中,你可以看到有模块要求,我们只需通过npm下载将它们包含到项目中。他们的npm调用:
npm install web3 --save
npm install express --save
npm install ethereumjs-tx --save
你需要从命令行单独调用此行以将它们安装到项目中。完成安装过程后,可以看到有一个文件夹名称是节点模块,它是模块下载的文件夹。
INFURA
完成下载模块后。你需要一个infura api密钥。Api 密钥是完成本教程的关键部分。你可以通过登录Infura来获得它。获得infura api密钥后,需要使用api密钥更改第7行(YOUR_API_KEY)。
顺便说一句,infura是非常好的接口。你也可以通过infura api访问