-
npm install
-
npm audit fix
(可选,用于修复一些 vulnerabilities)如果此时接着执行 npm start 会提示
'PORT' is not recognized as an internal or external command
,因此需要先按照第三步修改 -
修改
package.json
:添加 PORT 设置"scripts": { ... "start": "set PORT=3113 && razzle start", ... },
-
npm start
例子:http://localhost:3113/api/candles/ALP?preferableChainId=56&period=1h&from=1650234954&to=1650378658&preferableSource=chainlink
http://localhost:3113/api/candles
:表示 api 地址ALP
: token symbol,目前合法的有ALP
preferableChainId=56
: 目前只支持 BSC mainnet,以56
表示(未来可能会增加其他链)period=1h
:有如下 6 种时间粒度,从src/routes.js
可以看到:
const periodsMap = {
'5m': 60 * 5,
'15m': 60 * 15,
'1h': 60 * 60,
'4h': 60 * 60 * 4,
'1d': 60 * 60 * 24,
'1w': 60 * 60 * 24 * 7
}
-
from=1650234954&to=1650378658
:以 unix timestamp 表示的时间,表示获取 from ~ to 时间段内的价格 -
(固定不变)
preferableSource=chainlink
:表示以 chainlink 作为价格的来源
-
src/routes.js
:- 涉及 api 的处理
- 从 subgraph 获取价格,并保存在数据库中
-
src/chainlinkAddr.js
:包含 token 地址 -
数据库相关:
database.js
:定义了 sqlite 的连接方式及数据库保存的地方PricesModel.js
:定义了有关价格的 table
database.js
:可以修改 storage(比如deploy.sqlite
)和密码(尽管数据没有保密的需要)chainlink_cache/
:不再需要该文件夹