16个版本
0.4.5 | 2024年6月26日 |
---|---|
0.4.2 | 2024年2月17日 |
0.4.0-alpha.4 | 2023年12月5日 |
0.4.0-alpha.2 | 2023年11月22日 |
0.2.0 | 2023年5月31日 |
#7 in #avalanche
57 每月下载量
用于 ash_cli
170KB
3.5K SLoC
ash_sdk
库
ash-rs
是用于 Avalanche 和 Ash 工具的 Rust SDK。
它提供了比 avalanche-types-rs 更高级别的抽象,并附带一个简化与 Avalanche 网络交互的 CLI。
有偏见的结构体布局
该库提供了一种有偏见的布局来表示 Avalanche 网络、子网和区块链。布局可以表示如下
AvalancheNetwork
└── subnets
├── AvalancheSubnet 1
│ ├── blockchains
│ │ ├── AvalancheBlockchain 1
│ │ └── AvalancheBlockchain 2
│ └── validators
│ ├── AvalancheSubnetValidator 1
│ └── AvalancheSubnetValidator 2
└── AvalancheSubnet 2
├── blockchains
│ ├── AvalancheBlockchain 3
│ └── AvalancheBlockchain 4
└── validators
├── AvalancheSubnetValidator 1
└── AvalancheSubnetValidator 2
Avalanche 网络
AvalancheNetwork
是一个顶级结构体,表示一个 Avalanche 网络。它包含其 AvalancheSubnet
的列表。大多数更新方法都实现在此结构体上(例如,update_subnet
、update_blockchains
等)。
Avalanche 子网和验证者
AvalancheSubnet
是一个表示 Avalanche 子网的结构体。它包含所有子网元数据、其 AvalancheBlockchain
的列表以及其验证者(作为 AvalancheSubnetsValidator
)的列表。
Avalanche 区块链
AvalancheBlockchain
是一个表示 Avalanche 区块链的结构体。它包含所有区块链元数据。
Avalanche 节点
AvalancheNode
是一个表示 Avalanche 节点的结构体。一个 AvalancheNode
并不直接与一个 AvalancheNetwork
相关联,因为它的元数据直接从其端点检索。
配置
该库依赖于包含已知 Avalanche 网络列表的 YAML 配置文件。对于每个网络,至少需要提供 P-Chain 配置(在主网络中)及其 ID 和 RPC 端点。所有其他子网/区块链都将从 P-Chain 检索/丰富。
默认配置已嵌入库中(见conf/default.yaml)并包含以下网络
mainnet
和fuji
使用默认的Avalanche公共端点mainnet-ankr
和fuji-ankr
使用Ankr的Avalanche公共端点mainnet-blast
和fuji-blast
使用Blast的Avalanche公共端点
配置示例
# Default configuration of the mainnet network
avalancheNetworks:
- name: mainnet
subnets:
- id: 11111111111111111111111111111111LpoYY
controlKeys: []
threshold: 0
blockchains:
- id: 11111111111111111111111111111111LpoYY
name: P-Chain
vmType: PlatformVM
rpcUrl: https://api.avax.network/ext/bc/P
- id: 2q9e4r6Mu3U68nU1fYjgbR6JvwrRx36CohpAX5UQxse55x1Q5
name: C-Chain
vmID: mgj786NP7uDwBCcq6YwThhaN8FLyybkCa4zBWTQbNgmK6k9A6
vmType: Coreth
rpcUrl: https://api.avax.network/ext/bc/C/rpc
- id: 2oYMBNV4eNHyqk2fjjV5nVQLDbtmNJzq5s3qs3Lo6ftnC6FByM
name: X-Chain
vmID: jvYyfQTxGMJLuGWa55kdP2p2zSUYsQ5Raupu4TW34ZAUBAbtq
vmType: AvalancheVM
rpcUrl: https://api.avax.network/ext/bc/X
注意:您可以使用ash conf init
命令通过CLI生成配置文件。
用法
可以通过查看CLI代码来查看如何使用库的示例。
模块
有关更多详细信息,请参阅docs.rs文档。
依赖项
~48–66MB
~1.5M SLoC