
保存地址簿
Aave 生态系统智能合同地址的最新登记册,用于Solity和JavaScript/TypeScript项目或通过JSON API使用.
🔍 在线搜索地址
安装
创建
forge install aave-dao/aave-address-book
节点.js
npm install @aave-dao/aave-address-book
使用量
团结
import { AaveV3Ethereum } from "aave-address-book/AaveV3Ethereum.sol";
import { AaveV2Avalanche } from "aave-address-book/AaveV2Avalanche.sol";
import { AaveGovernanceV2 } from "aave-address-book/AaveGovernanceV2.sol";
contract Example {
function execute() external {
address pool = AaveV3Ethereum.POOL;
// ...
}
}
Java 脚本/ Type 脚本
import { AaveV3Ethereum, AaveV2Avalanche } from "@aave-dao/aave-address-book";
console.log(AaveV3Ethereum.POOL); // "0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2"
console.log(AaveV3Ethereum.CHAIN_ID); // 1
JSON API (英语)
最新地址簿也作为静态JSON与搜索UI同时出版:
manifest.json描述已部署的软件包版本、源输入、聚合和可用的模块.address-book.json包含每个导出地址簿模块.modules/<name>.json包含一个模块, 例如modules/AaveV3Ethereum.json。 。 。 .
显示路径与显示的 URL 相对, 模块名称对大小写敏感 :
const manifestUrl =
"https://aave-dao.github.io/aave-address-book/api/v1/manifest.json";
const manifest = await fetch(manifestUrl).then((response) => response.json());
const ethereum = manifest.modules.find(
(module: { name: string }) => module.name === "AaveV3Ethereum",
);
const addresses = await fetch(new URL(ethereum.path, manifestUrl)).then(
(response) => response.json(),
);
这个 /api/v1 URL 总是代表从 main用清单 commit 和SHA-256字段,以识别并核实确切内容。 未来对JSON结构或路径的突破性改变会使用新的API版本.
发展
生成地址
图书馆使用收藏 脚本 从各种链上登记册获取地址.
npm run generate:addresses
构建
npm run build
forge build
测试
该库包括一套测试,可以使用下列命令运行:
npm test
forge test
节点 测试套件 是一个收藏 sanity 测试,以确保视图函数返回预期值(例如,正确的池正在某个工厂中配置).
除此之外,还有一个 核查套件 以确保地址簿上列出的所有地址 都能通过我们喜欢的探险者验证.
添加新池
- 添加池配置为
scripts/configs/<type>/<network> - 运行
npm run generate:addresses - 提交生成的文件
配置
创建一个 .env 用于可靠 RPC 连接的文件 :
ETHERSCAN_API_KEY=your_key_here
EXPLORER_PROXY=your_proxy
## RPC configuration
# Per default the package uses the public rpcs available via viem
# You can opt in to use private/different rpcs by setting the following environment variables
RPC_<NETWORK>=your_rpc_url
ALCHEMY_API_KEY=your_key_here
QUICKNODE_ENDPOINT_NAME=your_quicknode_endpoint_name
QUICKNODE_TOKEN=your_quicknode_token
用户
交互式用户界面可见于 欧 软件包。 UI是一个反应应用程序,被编译为静态构建,因此可以在github页面上主机. 你可以罚款一个UI的例子 surch.onave.com (中文(简体) )
地址簿 API
每个版本作为静态JSON文件发布,供方案消费:
https://assets.aave.com/address-book/releases/latest/manifest.json
https://assets.aave.com/address-book/releases/latest/address-book.json
https://assets.aave.com/address-book/releases/latest/modules/AaveV3Ethereum.json
https://assets.aave.com/address-book/releases/v<version>/modules/AaveV3Ethereum.json
API包含一个汇总地址簿,每个包模块一个文件,以及包含
包的版本,承诺,字节大小,和SHA-256散列. 这个 latest 文件有短暂的缓存
寿命,而版本文件是不可改变的。 部署桶通过
STATICS_BUCKET GitHub 动作秘密 .
资源
许可证
麻省理工学院
维护者 实验室