新闻详情

新闻详情

首页 / 资讯中心 / 详情

fuels-rs 测试钱包完整指南:用 WalletsConfig 批量配置多资产钱包一篇搞定

发布时间:2026/9/13 6:02:40来源:尧图网络
fuels-rs 测试钱包完整指南:用 WalletsConfig 批量配置多资产钱包一篇搞定
fuels-rs 测试钱包完整指南用 WalletsConfig 批量配置多资产钱包一篇搞定【免费下载链接】fuels-rsFuel Network Rust SDK项目地址: https://gitcode.com/GitHub_Trending/fu/fuels-rs在 fuels-rsFuel Network Rust SDK里写测试一个钱包往往不够用转账要发件方和收件方多代币场景还要让每个钱包持有指定数量、指定面值的资产。WalletsConfig就是为此准备的注资配方把钱包数量、资产清单、每个资产多少枚币、每枚币多少面值写清楚交给launch_custom_provider_and_get_wallets本地节点拉起后一批已注资的钱包会直接交到你手里。 为什么测试需要一批已注资的钱包真实链上拿钱包和给它注资是两件事测试里希望一步跳过。launch_custom_provider_and_get_wallets一次做完两件事启动本地节点按配方批量生成钱包并返回VecWallet。拿到列表就能直接下标取用——转账测试里wallets[0]转给wallets[1]不用再单独准备资金。 快速上手为 fuels-rs 测试钱包项目补齐 dev-dependencies在依赖 fuels 的项目里补上这三项即可官方示例 crate 的依赖声明见 examples/wallets/Cargo.toml[dev-dependencies] fuels { features [default, accounts-keystore] } rand 0.8 tokio { features [full] }注意launch_custom_provider_and_get_wallets是异步方法测试函数要标注#[tokio::test]才能跑。什么都不想传的话直接WalletsConfig::default()会返回 10 个开箱即用的钱包。用 WalletsConfig::new 快速配置一批基础资产钱包只注资 gas 支付用的基础资产时WalletsConfig::new就够用。三个参数全是Option传None的项取默认值参数含义为 None 时的默认值num_wallets生成的钱包数量10num_coins每个钱包持有的基础资产币数1coin_amount每枚币的面值1_000_000_000常量定义在 packages/fuels-test-helpers/src/wallets_config.rs。想精确一点——比如官方文档 docs/src/wallets/test-wallets.md 里5 个钱包、各 3 枚币、每枚 100的写法——就把三个值以Some传入。批量配置多资产钱包的步骤AssetConfig new_multiple_assets要覆盖多个自定义AssetId换用WalletsConfig::new_multiple_assets先用AssetConfig逐项描述资产再汇成 vec。示例创建 1 个钱包注入基础资产加 2 个随机资产随机 id 借助rand的Fill生成let mut rng rand::thread_rng(); let mut id1 AssetId::zeroed(); id1.try_fill(mut rng)?; let mut id2 AssetId::zeroed(); id2.try_fill(mut rng)?; // 必须手动加入基础资产否则钱包拿什么付 gas let assets vec![ AssetConfig { id: AssetId::zeroed(), num_coins: 2, coin_amount: 4 }, AssetConfig { id: id1, num_coins: 6, coin_amount: 8 }, AssetConfig { id: id2, num_coins: 10, coin_amount: 12 }, ]; let config WalletsConfig::new_multiple_assets(1, assets); let wallets launch_custom_provider_and_get_wallets(config, None, None).await?;一个易错点new_multiple_assets不会替你补基础资产必须手动把AssetId::zeroed()32 字节全零值连同币数和面值放进 assets。漏掉它钱包付不了 gas第一笔交易就会失败。配置写完后也可以用访问器num_wallets()和assets()先自检一遍。 结果验证get_asset_balance 与 get_balances 的断言写法钱包建好后用两个方法核对get_asset_balance查询单个资产的余额get_balances返回HashMapString, u128键是资产 ID 的十六进制字符串详见 docs/src/wallets/checking-balances-and-coins.md。断言口径很直接某资产余额 num_coins × coin_amount。e2e/tests/wallets.rs 里的test_wallet_balance_api_multi_asset正是这么断言的示例取值7 个资产、各 21 枚、每枚 11let number_of_assets 7; let coins_per_asset 21; let amount_per_coin 11; let balances wallet.get_balances().await?; assert_eq!(balances.len() as u64, number_of_assets); for asset_id in asset_ids { let balance wallet.get_asset_balance(asset_id).await?; assert_eq!(balance, (coins_per_asset * amount_per_coin) as u128); assert_eq!( *balances.get(asset_id.to_string()).unwrap(), (coins_per_asset * amount_per_coin) as u128 ); }两处断言各管一件事map 条目数等于配置的资产数、每个资产余额等于乘积。都通过注资才准确。️ 避坑指南三个容易忽略的细节确定性地址launch_provider_and_get_wallet或launch_custom_provider_and_get_wallets生成的钱包具有确定性地址多次运行看到相同地址不必奇怪。gas 只能由基础资产支付AssetId为 32 字节全零多资产配置时这是最容易忘的一项。币数上限若改走setup_multiple_assets_coins/setup_single_asset_coins这类 helper不经过WalletsConfig文档建议最多1_000_000枚币或1000枚币和资产同时不超过否则运行时间会明显拉长。文档示例中launch_custom_provider_and_get_wallets的后两个参数均传None日常照此即可。【免费下载链接】fuels-rsFuel Network Rust SDK项目地址: https://gitcode.com/GitHub_Trending/fu/fuels-rs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

SAP催收优先级管理与CDS视图技术解析 2026/9/13 7:29:48

SAP催收优先级管理与CDS视图技术解析

1. 理解SAP催收优先级管理的业务背景在企业的应收账款管理流程中,催收优先级(Collection Priority)是一个核心业务概念。想象一下财务部门每天面对数百个逾期客户账户时,如何决定先联系谁?这就是催收优先级要解决的问题…

阅读更多 →
DeepSeek Harness智能体开发:工具、MCP与Skill接入实战指南 2026/9/13 7:29:48

DeepSeek Harness智能体开发:工具、MCP与Skill接入实战指南

我断断续续用 DeepSeek Harness 做了不少智能体实验,说实话,这个框架最打动我的地方不是它有多能打,而是它把“接入”这件事做得非常舒服。过去调模型、接外部服务、写固定流程,每一步都要自己拿胶水代码去拼,结果往往…

阅读更多 →
软件测试中的勒索软件防御与实战策略 2026/9/13 7:29:48

软件测试中的勒索软件防御与实战策略

1. 勒索软件威胁与软件测试从业者的特殊挑战 2023年全球勒索软件攻击同比增长了37%,平均赎金要求达到惊人的54万美元。作为软件测试从业者,我们既是防御体系的关键构建者,又常常成为攻击者的首要目标——测试环境中的漏洞和弱配置往往成为入侵…

阅读更多 →
支付宝支付回调失败问题排查与解决方案 2026/9/13 7:29:48

支付宝支付回调失败问题排查与解决方案

1. 问题现象与背景分析最近在对接支付宝支付接口时,遇到一个典型的订单异常问题:当用户通过百度搜索进入我们的网站下单时,支付宝回调经常失败;而直接输入官网域名访问的用户却能正常完成支付。经过排查发现,这是由于百…

阅读更多 →
安卓应用权限滥用检测与优化实践 2026/9/13 7:29:48

安卓应用权限滥用检测与优化实践

1. 项目背景与核心问题在安卓应用生态中,权限管理一直是安全机制的核心组成部分。根据最新统计,平均每个安卓应用会申请15-20项系统权限,但其中约30%的权限与应用宣称的功能缺乏明显关联。这种现象不仅可能导致用户隐私泄露风险,还…

阅读更多 →
信息系统项目管理师案例真题解析与备考策略 2026/9/13 7:26:48

信息系统项目管理师案例真题解析与备考策略

1. 信息系统项目管理师案例真题解析概述作为信息系统项目管理领域的权威认证,信息系统项目管理师考试中的案例分析题一直是考生备考的重点和难点。这类题目通常模拟真实项目场景,要求考生运用项目管理知识体系(PMBOK)中的工具和技…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞