主页 > 最新imtoken官网下载链接 > 以太坊钱包开发1——NodeJs

以太坊钱包开发1——NodeJs

最新imtoken官网下载链接 2023-03-29 05:20:35

以太坊官方提供了一些API(点我查看)供开发者使用,但是仅仅依靠这些API还不足以做出一个功能齐全的钱包。

如何制作一个功能齐全的以太坊钱包,主要是关于转账的。 出于安全考虑,在加密、解密、数字签名等方面不可能有现成的API供开发者使用。 官方给了我们一个NodeJs模块供我们使用! !

这个NodeJs模块叫做web3,主要是连接以太坊暴露的RPC层。 开发者使用 web3 连接到 RPC 层,以便他们可以与区块链进行交互。

开始建设

(本文开发环境为Mac/Linux,以太坊客户端为Go-ethereum,需要NodeJs环境)

节点安装

Nodejs官网,如何谷歌下载。

安装好nodejs环境后,会自带一个npm包管理器。

创建一个wallet目录以太坊钱包怎么交易,暂且称之为wallet

cd  wallet
npm  init     //初始化node模块,填写相关信息

在钱包目录中,创建一个名为 app.js 的新文件。

其内容如下:

var Web3 = require('web3');
if (typeof web3 !== 'undefined') {
    web3 = new Web3(web3.currentProvider);
} else {
    // set the provider you want from Web3.providers
    web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
}
var version = web3.version.api;
console.log(version);

然后

cd   wallet
node  app.js        //执行js文件

你会发现错误,无法连接到RPC层。 因为要使用这个 web3 模块,你必须在本地设置一个以太坊节点。 有关如何构建它,请参阅此处。

在本地构建以太坊节点后,记住启动节点的选项:

geth --rinkeby --rpc --rpcaddr 0.0.0.0 --rpcapi eth,net,web3 --syncmode fast --cache 1028 --datadir data --rpccorsdomain 'http://localhost:8080' console

这里--rinkeby表示连接测试链rinkeby(我用的是测试链,因为没钱买以太币,用这个测试链测试转账和收钱,和官方环境一样。 );

--rpc 表示启用HTTP-RPC服务器,这样你的web3模块就可以和这个本地节点进行交互,从而和全世界的以太坊区块链进行交互;

--rpcapi 表示HTTP-RPC提供的API;

--syncmode 表示同步模式,包括fast、full、light

--rpccorsdomain 表示允许跨域请求的域名列表,以逗号分隔

(更多Geth命令可以看这篇帖子)

启动本地节点后,再次执行命令:

node  app.js        //执行js文件

会有输出。

后续,如何转账,查询余额以太坊钱包怎么交易,查询交易等。