BrowserEnv
Inherits: NetworkEnv
Description
A specialized environment for running in Jupyter notebooks that connects to browser wallets (MetaMask, etc.) via JavaScript. Enables direct interaction with user wallets for transaction signing.
Constructor
Parameters
address- Specific wallet address to use (optional, defaults to first available account)**kwargs- Additional arguments passed toNetworkEnv
Key Features
- Browser Integration - Uses
BrowserSignerto request wallet signatures through JavaScript - Auto Address Detection - Automatically discovers available wallet accounts
- Chain Switching - Can request users to switch networks via
set_chain_id()
Usage
import boa
# Set up browser environment
boa.set_browser_env()
# Deploy and interact with contracts
contract = boa.loads_partial("@external\ndef get() -> uint256: return 42").deploy()
The environment automatically handles wallet connection and transaction signing through the browser.