如何通过外部 JavaScript程序调用和操作 uniswap的SDK,实现币价监控、自动交易、量化交易、套利等操作?
安装组件:solidity ,typescript debugger ,typescript hero
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
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是以太坊官方的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
npm install --save ethers
Hardhat是一个编译、部署、测试和调试以太坊应用的开发环境。
概述 | Hardhat | 为专业人士开发的以太坊开发环境 by Nomic Labs
npm install --save-dev hardhat
要使用本地安装的Hardhat,需要使用npx
来运行它(如:npx hardhat
)'
示例项目会要求安装hardhat-waffle
和hardhat-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目录下:
脚本文件:放在script目录下
测试文件:放在test目录下
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。