玩转Uniswap开发

如何通过外部 JavaScript程序调用和操作 uniswap的SDK,实现币价监控、自动交易、量化交易、套利等操作?

准备工作:

  • 区块链中文文档  全部 区块链文档 - 登链社区
  • SDK文档   http://uniswap.org/docs/v2/
  • etherjs   Documentation
  • alchemy Alchemy
  • 代码参照   https://github.com/guange2015/uniswap-bilibili/tree/main/sdk-demo
  • 安装 VScode: https://code.visualstudio.com/download

        安装组件:solidity ,typescript debugger ,typescript hero

玩转Uniswap开发_第1张图片

  • 安装node.js   Download | Node.js
  • NPM的使用:

NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用

npm -v   //查看版本

npm install npm -g  //更新最新版本

npm install -g cnpm --registry=https://registry.npm.taobao.org  //使用淘宝镜像

npm list -g   //查看全局安装模块

npx 就是在当前目录下面去寻找 node_module中./bin 中的$PATH,这样即使在全局中没有该命令,依然可以执行

npm init

通常我们使用npm init命令来创建一个npm程序时,会自动生成一个package.json文件。package.json文件会描述这个NPM包的所有相关信息,包括作者、简介、包依赖、构建等信息,格式是严格的JSON格式

npm的几种安装方式:

npm install moduleName # 安装模块到项目目录下
npm install -g moduleName # -g 的意思是将模块安装到全局,具体安装到磁盘哪个位置,要看 npm config prefix 的位置。
npm install --save moduleName # --save 的意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖。
npm install --save-dev moduleName # --save-dev 的意思是将模块安装到项目目录下,并在package文件的devDependencies节点写入依赖。

查看某个包的版本

npm info 包名 或者 npm view 包名 versions

重新安装 node-modules

1. 安装rimraf : cnpm install rimraf -g

2. 执行: rimraf node_modules  删除文件荚 

3. 清空缓存: npm cache clean --force

4. 重新安装淘宝镜像: npm install -g cnpm --registry=https://registry.npm.taobao.org

5. 再次执行:cnpm i

  • web3.js 和ether.js

Web3.js是以太坊官方的Javascript API,可以帮助智能合约开发者使用HTTP或者IPC与本地的或者远程的以太坊节点交互。实际上就是一个库的集合,主要包括下面几个库:

web3-eth用来与以太坊区块链和智能合约交互

web3-shh用来控制whisper协议与p2p通信以及广播

web3-bzz用来与swarm协议交互

web3-utils包含了一些Dapp开发有用的功能

Web3与geth通信使用的是 JSON-RPC ,这是一种轻量级的RPC(Remote Procedure Call)协议

ethers.js库旨在为以太坊区块链及其生态系统提供一个小而完整的 JavaScript API 库 它最初是与 ethers.io 一起使用,现在已经扩展为更通用的库。Ethers.js则是一个轻量级的web3.js替代品

  • 安装ethers.js

帮助文档:开始使用 — ethers.js 中文文档 — 深入浅出区块链

在当前项目目录下安装 ethers.js

npm install --save ethers

安装Hardhat

Hardhat是一个编译、部署、测试和调试以太坊应用的开发环境。

概述 | Hardhat | 为专业人士开发的以太坊开发环境 by Nomic Labs

npm install --save-dev hardhat

要使用本地安装的Hardhat,需要使用npx来运行它(如:npx hardhat)'

示例项目会要求安装hardhat-wafflehardhat-ethers,以便让Hardhat与Waffle构建的测试兼容。你可以这个指南中了解更多信息。

TIP

Hardhat会让提示你如何安装,但是,如果你错过了,你可以用npm install --save-dev @nomiclabs/hardhat-waffle ethereum-waffle chai @nomiclabs/hardhat-ethers ethers来安装它们。

在alchemyapi上注册,并获得key

 Alchemyhttps://dashboard.alchemyapi.io/

部署合约命令: 

npx hardhat run scripts/sample-script1.js   --network kovan

npx hardhat run  部署脚本文件  --network   网络名(mainnet,koven等)

合约文件,放在 contract目录下:

玩转Uniswap开发_第2张图片

 脚本文件:放在script目录下

测试文件:放在test目录下

为什么要用CNPM

NMP安装插件是从NPM官网下载对应的插件包,该网站的服务器在国外,经常会出现下载缓慢或出现异常,这时便需要找到另外的方法提供稳定的下载,这个方法就是CNPM。阿里巴巴的淘宝团队把NMP官网的插件都同步到了在中国的服务器,提供给我们从这个服务器上稳定下载资源。

CNMP同样是NMP的一个插件,要安装的话需要在CMD命令行控制台执行以下命令:

npm install cnpm -g --registry=https://registry.npm.taobao.org

安装完成后可以使用cnpm -v命令查看版本号,要使用cnmp命令的话最好在安装后重新打开CMD命令行控制台。

cnpm的用法和npm的用法一致,只是在执行命令的时候将npm改为cnpm。

你可能感兴趣的:(区块链笔记,vscode,区块链,node.js,typescript)