-
Notifications
You must be signed in to change notification settings - Fork 10
docs: add Testnet Bradbury network #356
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,7 +2,7 @@ import { Callout } from 'nextra-theme-docs' | |
|
|
||
| # Network Configuration | ||
|
|
||
| GenLayer supports three different networks, each serving specific purposes in the development lifecycle: | ||
| GenLayer supports multiple networks, each serving specific purposes in the development lifecycle: | ||
|
|
||
| ## Localnet | ||
|
|
||
|
|
@@ -55,46 +55,71 @@ genlayer deploy --contract contracts/my_contract.py | |
|
|
||
| ## TestnetAsimov | ||
|
|
||
| **Purpose**: Production-like testing environment | ||
| - **When to use**: For final testing | ||
| **Purpose**: Infrastructure testing and stress testing | ||
| - **When to use**: For infrastructure stability testing, scalability testing, and stress tests | ||
| - **Setup**: Connect using network configuration | ||
| - **Benefits**: | ||
| - Production-like environment | ||
| - Stable for testing dApp integrations | ||
| - Stable infrastructure testing environment | ||
| - Scalability and stress testing | ||
| - Shared testnet for community testing | ||
|
|
||
| ### Using TestnetAsimov | ||
|
|
||
| ```bash | ||
| # Set network to testnet | ||
| genlayer network testnet-asimov | ||
|
|
||
| # Deploy to testnet | ||
| genlayer deploy --contract contracts/my_contract.py | ||
| ``` | ||
|
|
||
| ## TestnetBradbury | ||
|
|
||
| **Purpose**: Production-like testing environment with real AI/LLM use cases | ||
| - **When to use**: For deploying and testing intelligent contracts with real LLM models | ||
| - **Setup**: Connect using network configuration | ||
| - **Benefits**: | ||
| - Real AI workloads using powerful LLM models | ||
| - Production-like environment for intelligent contract testing | ||
| - Real use cases and contracts deployed | ||
| - Shared testnet for community testing | ||
|
|
||
| <Callout emoji="ℹ️"> | ||
| Testnet Bradbury configuration details will be available when the network goes live. The faucet and RPC endpoints are shared with Testnet Asimov. | ||
| </Callout> | ||
|
Comment on lines
+76
to
+89
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Separate Bradbury preview copy from live deployment guidance. This section says Bradbury config details will only be available once the network goes live, but the same page immediately tells users to switch to Also applies to: 93-103, 120-123 🤖 Prompt for AI Agents |
||
|
|
||
| ### Getting Testnet Tokens | ||
|
|
||
| Before deploying to TestnetAsimov, you'll need testnet tokens. Use the [faucet](https://testnet-faucet.genlayer.foundation/) to get free GEN tokens. | ||
| Before deploying to TestnetBradbury, you'll need testnet tokens. Use the [faucet](https://testnet-faucet.genlayer.foundation/) to get free GEN tokens. | ||
|
|
||
| ### Using TestnetAsimov | ||
| ### Using TestnetBradbury | ||
|
|
||
| ```bash | ||
| # Set network to testnet | ||
| genlayer network testnet-asimov | ||
| genlayer network testnet-bradbury | ||
|
|
||
| # Deploy to testnet | ||
| genlayer deploy --contract contracts/my_contract.py | ||
| ``` | ||
|
|
||
| ## Network Comparison | ||
|
|
||
| | Feature | Localnet | Studionet | TestnetAsimov | | ||
| |---------|----------|-----------|---------------| | ||
| | **Setup Complexity** | Medium | None | Low | | ||
| | **Control Level** | Full | Limited | Limited | | ||
| | **Persistence** | Local only | Temporary | Persistent | | ||
| | **Collaboration** | No | Yes | Yes | | ||
| | **Performance** | Fast | Medium | Production-like | | ||
| | **Best for** | Development | Prototyping | Pre-production testing | | ||
| | Feature | Localnet | Studionet | TestnetAsimov | TestnetBradbury | | ||
| |---------|----------|-----------|---------------|-----------------| | ||
| | **Setup Complexity** | Medium | None | Low | Low | | ||
| | **Control Level** | Full | Limited | Limited | Limited | | ||
| | **Persistence** | Local only | Temporary | Persistent | Persistent | | ||
| | **Collaboration** | No | Yes | Yes | Yes | | ||
| | **Performance** | Fast | Medium | Production-like | Production-like | | ||
| | **Best for** | Development | Prototyping | Infrastructure testing | AI/LLM testing | | ||
|
|
||
| ## Development Workflow | ||
|
|
||
| We recommend following this progression: | ||
|
|
||
| 1. **Start with Localnet**: Develop and test your contracts locally with full control | ||
| 2. **Test on Studionet**: Validate contracts in a shared environment | ||
| 3. **Deploy to TestnetAsimov**: Final testing in a production-like environment | ||
| 3. **Deploy to TestnetBradbury**: Final testing in a production-like environment with real AI workloads | ||
|
|
||
| ## Managing Network Settings | ||
|
|
||
|
|
@@ -123,8 +148,9 @@ This command will show you available networks and let you choose: | |
| ``` | ||
| ? Select a network: | ||
| ❯ localnet | ||
| studionet | ||
| studionet | ||
| testnet-asimov | ||
| testnet-bradbury | ||
| custom | ||
| ``` | ||
|
|
||
|
|
@@ -134,6 +160,7 @@ This command will show you available networks and let you choose: | |
| genlayer network localnet | ||
| genlayer network studionet | ||
| genlayer network testnet-asimov | ||
| genlayer network testnet-bradbury | ||
| ``` | ||
|
|
||
| ### Network Switching Workflow | ||
|
|
@@ -148,7 +175,7 @@ genlayer network studionet | |
| genlayer deploy --contract contracts/my_contract.py | ||
|
|
||
| # Pre-production workflow | ||
| genlayer network testnet-asimov | ||
| genlayer network testnet-bradbury | ||
| genlayer deploy --contract contracts/my_contract.py | ||
| ``` | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🌐 Web query:
In the current GenLayerJS docs or source, when deploying ontestnetAsimovandtestnetBradbury, which receipt field contains the deployed contract address? IstxDataDecoded.contractAddressused for both testnets, or only for Bradbury?💡 Result:
testnetBradbury: the deployed contract address is inreceipt.data.contract_address(same as localnet/studionet). (docs.genlayer.com)testnetAsimov: the deployed contract address is in(receipt.txDataDecoded as DecodedDeployData).contractAddress. (docs.genlayer.com)So
txDataDecoded.contractAddressis not used for Bradbury in the current GenLayerJS docs—it’s used for Asimov only. (docs.genlayer.com)Citations:
Fix inverted receipt field logic affecting both testnet deployments.
The code branches only on
testnetBradburybut has the condition logic inverted: it readsreceipt.data.contract_addressfor Asimov andtxDataDecoded.contractAddressfor Bradbury. According to GenLayerJS docs, the fields are swapped—Asimov usestxDataDecoded.contractAddresswhile Bradbury usesreceipt.data.contract_address. This causes Asimov deployments to read the wrong field, resulting in missing or incorrect contract addresses.Use a feature-detect approach instead of chain-specific branching:
♻️ Suggested fix
Also applies to: 153-157, 237-241
🤖 Prompt for AI Agents