TestKek
TestKek 网络自动交互脚本
TestKek 是一个 EVM 兼容的测试网络,支持 DeFi 操作。本脚本支持代币交换、包装/解包装和添加流动性等功能,帮助用户自动化 TestKek 网络上的 DeFi 交互。
核心功能:
1. 代币交换(Swap) - 在不同代币之间进行交换
2. 包装(Wrap) - 将 BITCOIN 包装为 WBTC
3. 解包装(Unwrap) - 将 WBTC 解包装为 BITCOIN
4. 添加流动性(Add Liquidity) - 添加 BITCOIN-BERA 流动性池
5. 批量处理 - 支持多钱包自动执行
功能特性:
- 支持 6 种代币:BITCOIN, WBTC, HONEY, WETH, WBERA, BERA
- 自动授权(Approve)代币
- 可配置操作类型和参数
- 支持多次交易(每个钱包)
- 详细的执行日志
- 兼容 web3.py 6.11.3
使用说明:
【平台介绍】
TestKek:EVM 兼容测试网络
- RPC: https://block-chain-testkek.alt.technology
- Chain ID: 6231991
- 区块浏览器: https://explorer.block-chain.lol/
- 类型:DeFi 测试网
合约地址:
- Swap Router: 0x1d0A67bb7c1afD13849C4af930dD0fD4215110fE
- Liquidity Router: 0x57d065428cc9f8ca4C02bF7294Db4353685cb0c5
代币地址:
- BITCOIN: 0x12B0146068E8bC3935639e847B06c64737B34c7E
- WBTC: 0x12B0146068E8bC3935639e847B06c64737B34c7E(与 BITCOIN 相同)
- HONEY: 0x0458E6a7e3F8190AaB1e7862a57f47fc4b4e0315
- WETH: 0x8F5ecfe14FC9F1938a0C2875bfBA825C97700ADe
- WBERA: 0x89022599570c32a0754dAC2Fb5843980d15F03d3
- BERA: 0x92aEDDaBb4Eb2A5b17d90bF6fF70b58227098E03
【配置说明】
在 config.ini 中设置:
【Network Settings(网络设置)】
- rpc_url:RPC 节点地址(默认 https://block-chain-testkek.alt.technology)
- 如果默认 RPC 失效,需要修改为其他可用的 RPC
【Operation Settings(操作设置)】
- operation_type:操作类型(默认 swap)
- swap:代币交换
- wrap:包装(BITCOIN → WBTC)
- unwrap:解包装(WBTC → BITCOIN)
- liquidity:添加流动性(BITCOIN-BERA)
- transactions_per_wallet:每个钱包的交易次数(默认 1)
- 建议值:1 - 10 次
- 每个钱包会重复执行指定次数的操作
【Swap Settings(交换设置)】
仅当 operation_type = swap 时有效
- from_token:源代币(默认 BITCOIN)
- 可选:BITCOIN, HONEY, WETH, BERA, WBERA, WBTC
-
从哪个代币交换
-
to_token:目标代币(默认 HONEY)
- 可选:BITCOIN, HONEY, WETH, BERA, WBERA, WBTC
- 交换到哪个代币
-
不能与 from_token 相同
-
swap_amount:交换数量(默认 0.001)
- 建议值:0.001 - 0.01
- 单位:代币原生单位(如 ETH)
【Wrap Settings(包装设置)】
仅当 operation_type = wrap 时有效
- wrap_amount:包装数量(默认 0.001)
- 单位:BITCOIN
- 建议值:0.001 - 0.01
- 将 BITCOIN 包装为 WBTC
【Unwrap Settings(解包装设置)】
仅当 operation_type = unwrap 时有效
- unwrap_amount:解包装数量(默认 0.001)
- 单位:WBTC
- 建议值:0.001 - 0.01
- 将 WBTC 解包装为 BITCOIN
【Liquidity Settings(流动性设置)】
仅当 operation_type = liquidity 时有效
注意:添加流动性的数量是固定的:
- 0.001 BITCOIN
- 0.000026666666666666 BERA
这个比例是根据当前池子的价格计算的,不能自定义。
【Advanced Settings(高级设置)】
- request_timeout:交易确认超时时间,秒(默认 120)
【功能详细说明】
1. 代币交换(Swap)
功能:在不同代币之间进行交换(类似 Uniswap)
执行流程:
1. 检查是否是原生代币(BITCOIN)
2. 如果不是原生代币,先授权(Approve)Router 合约
3. 构建 Swap 交易数据(使用 exactInputSingle 方法)
4. 发送交易到 Swap Router
5. 等待交易确认
配置参数:
- from_token:源代币
- to_token:目标代币
- swap_amount:交换数量
- transactions_per_wallet:重复次数
注意事项:
- 源代币和目标代币不能相同
- 如果源代币不是 BITCOIN,需要先有该代币余额
- 交换会收取一定的手续费(约 0.3%)
- 确保钱包有足够的 BITCOIN 作为 Gas 费
使用示例:
operation_type = swap
from_token = BITCOIN
to_token = HONEY
swap_amount = 0.001
transactions_per_wallet = 3
2. 包装(Wrap)
功能:将原生 BITCOIN 包装为 WBTC(Wrapped Bitcoin)
执行流程:
1. 调用 WBTC 合约的 deposit 方法
2. 发送指定数量的 BITCOIN
3. 接收等量的 WBTC
4. 等待交易确认
配置参数:
- wrap_amount:包装数量
- transactions_per_wallet:重复次数
注意事项:
- 需要有足够的 BITCOIN 余额
- 包装是 1:1 的比例
- 包装后 BITCOIN 减少,WBTC 增加
- 可以通过 Unwrap 操作恢复
使用示例:
operation_type = wrap
wrap_amount = 0.001
transactions_per_wallet = 2
3. 解包装(Unwrap)
功能:将 WBTC 解包装回原生 BITCOIN
执行流程:
1. 调用 WBTC 合约的 withdraw 方法
2. 销毁指定数量的 WBTC
3. 接收等量的 BITCOIN
4. 等待交易确认
配置参数:
- unwrap_amount:解包装数量
- transactions_per_wallet:重复次数
注意事项:
- 需要先有 WBTC 余额(通过 Wrap 获得)
- 解包装是 1:1 的比例
- 解包装后 WBTC 减少,BITCOIN 增加
使用示例:
operation_type = unwrap
unwrap_amount = 0.001
transactions_per_wallet = 2
4. 添加流动性(Add Liquidity)
功能:向 BITCOIN-BERA 流动性池添加流动性
执行流程:
1. 授权(Approve)BERA 代币给 Liquidity Router
2. 构建添加流动性交易数据
3. 发送 BITCOIN 和 BERA 到流动性池
4. 接收 LP Token(流动性凭证)
5. 等待交易确认
固定数量:
- 0.001 BITCOIN
- 0.000026666666666666 BERA
配置参数:
- transactions_per_wallet:重复次数
注意事项:
- 需要同时有 BITCOIN 和 BERA 余额
- 添加流动性的比例是固定的(根据当前池子价格)
- 会获得 LP Token 作为流动性凭证
- 可以通过移除流动性来赎回(本脚本不包含此功能)
使用示例:
operation_type = liquidity
transactions_per_wallet = 1
【使用步骤】
第一步:获取测试币
1. 准备 EVM 钱包私钥
2. 访问 TestKek 水龙头获取 BITCOIN(原生代币)
3. 确保每个钱包有足够的 BITCOIN(至少 0.01 BITCOIN)
第二步:配置参数
1. 在 config.ini 中选择操作类型(swap/wrap/unwrap/liquidity)
2. 根据操作类型设置相应的参数
3. 设置每个钱包的交易次数
4. 检查 RPC URL 是否可用
第三步:准备私钥
1. 在 UI 中加载 EVM 私钥
2. 确保私钥格式正确(不带 0x 前缀)
3. 钱包需要有 TestKek 网络的 BITCOIN
第四步:执行脚本
1. 点击「开始执行」
2. 查看日志输出
3. 等待所有钱包完成操作
4. 在区块浏览器查看交易结果
【操作建议】
操作类型选择:
- Swap:最常用,增加 DEX 交易量
- Wrap/Unwrap:体验包装功能,简单快速
- Liquidity:体验 LP 功能,需要多种代币
交易次数建议:
- 测试:1 次(了解流程)
- 正常:3-5 次(增加交互次数)
- 积极:10 次(最大化交互)
代币选择建议(Swap):
- BITCOIN → HONEY:最常用组合
- BITCOIN → WETH:另一常用组合
- 其他组合:根据需要选择
批量处理建议:
- 钱包数量:5-20 个
- 钱包间延迟:5-10 秒
- 使用「按顺序」执行
- 确保每个钱包都有足够 BITCOIN
【重要提示】
-
网络要求
- TestKek 是测试网,可能不稳定
- 需要稳定的网络连接
- RPC 可能会失效,需要更换
- 交易确认时间约 10-30 秒 -
余额管理
- 每个操作都需要 Gas 费(BITCOIN)
- 建议每个钱包留 0.005 BITCOIN 作为 Gas 储备
- Swap 会消耗源代币
- Wrap 会消耗 BITCOIN,获得 WBTC
- Unwrap 会消耗 WBTC,获得 BITCOIN
- Liquidity 需要同时有 BITCOIN 和 BERA -
Gas 费说明
- Approve:约 0.0001 - 0.001 BITCOIN
- Swap:约 0.0005 - 0.002 BITCOIN
- Wrap/Unwrap:约 0.0001 - 0.0005 BITCOIN
- Liquidity:约 0.0005 - 0.001 BITCOIN
- Gas Price 会自动从网络获取 -
测试网特性
- 测试网可能随时重置
- 测试币没有实际价值
- 用于测试和学习 DeFi 操作
- 不要发送真实资产到测试网 -
错误处理
- 余额不足:会自动跳过该钱包
- 授权失败:会停止后续操作
- 交易失败:会记录错误继续下一个
- 网络超时:会等待最多 120 秒
- RPC 失效:需要手动更换 -
授权机制
- 非原生代币的 Swap 需要先授权
- Liquidity 需要授权 BERA
- 授权只需执行一次(除非额度不足)
- 授权后代币可以被 Router 合约使用
【常见问题】
Q: 什么是 TestKek?
A: TestKek 是一个 EVM 兼容的测试网络,用于测试 DeFi 应用和智能合约。
Q: BITCOIN 是什么?
A: BITCOIN 是 TestKek 网络的原生代币(类似以太坊的 ETH),用于支付 Gas 费和进行交易。
Q: WBTC 和 BITCOIN 有什么区别?
A: WBTC 是包装后的 BITCOIN,是 ERC20 代币,可以在 DeFi 协议中使用。BITCOIN 是原生代币。两者可以 1:1 互换。
Q: 为什么需要授权(Approve)?
A: 授权允许智能合约代表你使用你的代币。这是 ERC20 标准的安全机制,需要用户明确授权。
Q: Swap 手续费是多少?
A: Swap 通常收取 0.3% 的手续费(类似 Uniswap),另外还需要支付 Gas 费。
Q: 添加流动性有什么好处?
A: 添加流动性可以获得 LP Token,代表你在池子中的份额。实际项目中可以获得交易手续费分成和流动性挖矿奖励。
Q: 可以自定义添加流动性的数量吗?
A: 本脚本中添加流动性的数量是固定的,以确保比例正确。如果需要自定义,需要根据池子当前价格计算。
Q: 交易失败怎么办?
A: 检查余额是否足够、RPC 是否可用、Gas 是否足够。查看日志了解具体错误原因。
Q: 为什么交易很慢?
A: 测试网可能比较拥堵,交易确认时间较长。建议耐心等待或更换 RPC 节点。
Q: 如何查看交易详情?
A: 访问区块浏览器 https://explorer.block-chain.lol/ 输入交易哈希查看详情。
依赖库:
- web3:以太坊交互库(版本 6.11.3)
官方信息:
- 项目:TestKek
- 类型:EVM 兼容测试网
- RPC: https://block-chain-testkek.alt.technology
- Chain ID: 6231991
- 浏览器: https://explorer.block-chain.lol/
适用场景:
- TestKek 网络 DeFi 交互
- 代币交换测试
- 包装/解包装操作
- 流动性添加测试
- 批量钱包管理