ape-foundry:Foundry的Ape网络提供程序
项目描述
快速开始
Foundry网络提供程序插件用于Ape。Foundry是一个用Rust编写的Ethereum开发框架,包括本地网络实现。
依赖关系
安装
通过pip
您可以通过pip
安装最新版本
pip install ape-foundry
通过setuptools
您可以将仓库克隆并使用setuptools
来获取最新版本
git clone https://github.com/ApeWorX/ape-foundry.git
cd ape-foundry
python3 setup.py install
快速使用
使用--network ethereum:local:foundry
命令行标志来使用foundry网络(如果它还没有配置为默认网络)。
此网络提供程序需要额外的Foundry特定配置选项。要使用它们,请在您的项目的ape-config.yaml
中添加这些配置
foundry:
host: https://127.0.0.1:8555
要选择随机端口,请使用“auto”值
foundry:
host: auto
这对于多进程和启动多个提供程序很有用。
您还可以调整请求超时设置
foundry:
request_timeout: 20 # Defaults to 30
fork_request_timeout: 600 # Defaults to 300
主网分叉
《ape-foundry》插件还包括主网分叉提供程序。它需要使用另一个可以访问主网的提供程序。
像这样在大多数命令中使用它
ape console --network :mainnet-fork:foundry
在您的ape-config.yaml
中指定上游存档数据提供程序
foundry:
fork:
ethereum:
mainnet:
upstream_provider: alchemy
否则,它默认为主网提供程序插件。您还可以指定block_number
和evm_version
。
如果指定了区块号,但没有指定EVM版本,它将根据已知网络的高度自动设置。
注意:请确保您已经安装了ape的上游提供程序插件。
ape plugins install alchemy
远程Anvil节点
要连接到远程anvil节点,设置您的配置如下
foundry:
host: https://anvil.example.com
现在,它将尝试连接到远程anvil节点,并使用此插件作为ape接口,而不是启动本地进程。
要使用环境变量连接到远程anvil节点,请设置APE_FOUNDRY_HOST
export APE_FOUNDRY_HOST=https://your-anvil.example.com`
模拟账户
您可以使用《ape-foundry》插件来模拟账户。要模拟一个账户,请按照以下操作执行
import pytest
@pytest.fixture
def whale(accounts):
return accounts["example.eth"]
为了进行交易,您的模拟账户必须具有余额。您可以通过使用分叉网络并模拟一个具有余额的账户来实现这一点。或者,您可以将您的节点的基础费用和优先费用设置为0
。
要程序化设置账户的余额,请执行以下操作
from ape import accounts
account = accounts["example.eth"]
account.balance = "1000 ETH" # This calls `anvil_setBalance` under-the-hood.
基础费用和优先费用
使用ape-config.yaml
文件配置您的节点的基准费用和优先费用。
foundry:
base_fee: 0
priority_fee: 0
自动挖矿
默认情况下,Anvil节点会自动挖矿。但是,您可以通过配置foundry插件来在启动时禁用自动挖矿
foundry:
auto_mine: false
否则,您可以使用提供程序实例禁用自动挖矿
from ape import chain
anvil = chain.provider
anvil.auto_mine = False # calls `anvil_setAutomine` RPC.
按间隔挖矿
默认情况下,Anvil会在提交交易时挖掘新块。要按间隔挖掘,请设置block_time
配置
foundry:
block_time: 10 # mine a new block every 10 seconds
EVM版本(硬分叉)
要更改本地foundry网络的EVM版本,请使用evm_version
配置
foundry:
evm_version: shanghai
要更改分叉网络的EVM版本,请设置特定的分叉网络配置
foundry:
fork:
ethereum:
mainnet:
evm_version: shanghai
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
构建分发版
ape-foundry-0.8.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ba8e838cec06115ecfa67db6c5e953ded7ba677305ace834576ffaed45bae998 |
|
MD5 | 17f9b7c2b19851d019d56ac3e5f74264 |
|
BLAKE2b-256 | de785ae9a1392389af6c17d1d7100d1e9381b85cf816e88261a2d725a1dd5df8 |
ape_foundry-0.8.4-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | de7b3fde5fb0b887a541bbd3d9e3166b837df7ad3e5c39b47396e29287956333 |
|
MD5 | 21bad9f7f50b5ce6b027554844297f1e |
|
BLAKE2b-256 | 9ca4dd3f16b1fe0ebe448abd8baa736c5e1157bea8669fe1a863126a79221ce4 |