From d73fd29e854fa42dde976d7a83ed2562b3cbef34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iva=CC=81n=20Raskovsky?= Date: Sun, 8 Mar 2026 18:30:25 -0300 Subject: [PATCH 1/2] docs: add Testnet Bradbury network alongside Asimov Add TestnetBradbury as a new network option across all developer-facing docs while keeping TestnetAsimov for infrastructure/stress testing. Examples default to Bradbury; both networks listed as options with Asimov first. Co-Authored-By: Claude Opus 4.6 --- pages/api-references/genlayer-cli.mdx | 6 +- pages/api-references/genlayer-js.mdx | 19 +++--- pages/api-references/genlayer-test.mdx | 15 ++++- .../intelligent-contracts/deploying.mdx | 5 +- .../deploying/cli-deployment.mdx | 2 +- .../deploying/deploy-scripts.mdx | 16 ++--- .../deploying/network-configuration.mdx | 65 +++++++++++++------ pages/validators/setup-guide.mdx | 4 +- 8 files changed, 85 insertions(+), 47 deletions(-) diff --git a/pages/api-references/genlayer-cli.mdx b/pages/api-references/genlayer-cli.mdx index 4f6266ee5..56a18cdf2 100644 --- a/pages/api-references/genlayer-cli.mdx +++ b/pages/api-references/genlayer-cli.mdx @@ -200,7 +200,7 @@ COMMANDS: EXAMPLES: genlayer network set # Interactive selection menu genlayer network set localnet # Set network to localnet - genlayer network set testnet-asimov # Set network to testnet-asimov + genlayer network set testnet-bradbury # Set network to testnet-bradbury genlayer network info # Show current network details genlayer network list # List available networks ``` @@ -364,7 +364,7 @@ OPTIONS (delegation-info): --delegator
Delegator address (defaults to signer) COMMON OPTIONS: - --network Network to use (localnet, testnet-asimov) + --network Network to use (localnet, testnet-asimov, testnet-bradbury) --rpc RPC URL for the network --staking-address Override staking contract address @@ -496,7 +496,7 @@ EXAMPLES: ### Staking Operations (Testnet) -Manage staking for validators and delegators on testnet-asimov. +Manage staking for validators and delegators on testnet. ```bash USAGE: diff --git a/pages/api-references/genlayer-js.mdx b/pages/api-references/genlayer-js.mdx index 0913c49c7..d61b8a97b 100644 --- a/pages/api-references/genlayer-js.mdx +++ b/pages/api-references/genlayer-js.mdx @@ -10,7 +10,7 @@ Creates a new GenLayer client instance with various configuration options. ```typescript import { createClient } from 'genlayer-js'; -import { localnet, studionet, testnetAsimov } from 'genlayer-js/chains'; +import { localnet, studionet, testnetAsimov, testnetBradbury } from 'genlayer-js/chains'; // Basic client with localnet chain const client = createClient({ @@ -38,7 +38,7 @@ const client = createClient({ ``` **Parameters:** -- `chain`: The chain configuration (localnet, studionet, testnetAsimov) +- `chain`: The chain configuration (localnet, studionet, testnetAsimov, testnetBradbury) - `account`: (Optional) Can be either: - An account object (from `createAccount()`) for direct signing with private key - A string address (e.g., '0x1234...') for external signing (MetaMask) @@ -572,31 +572,32 @@ console.log('Cancelled:', result); GenLayerJS provides several chain configurations for different environments: - **localnet**: Local development network -- **studionet**: Staging environment network -- **testnetAsimov**: Test network for production testing +- **studionet**: Staging environment network +- **testnetAsimov**: Test network for infrastructure and stress testing +- **testnetBradbury**: Test network for AI/LLM use cases ```typescript -import { localnet, studionet, testnetAsimov } from 'genlayer-js/chains'; +import { localnet, studionet, testnetAsimov, testnetBradbury } from 'genlayer-js/chains'; // Use the appropriate chain for your environment const client = createClient({ - chain: localnet, // or studionet, testnetAsimov + chain: testnetBradbury, // or localnet, studionet, testnetAsimov }); ``` ## Staking (Testnet) -The SDK provides staking functionality for validators and delegators on testnet-asimov. +The SDK provides staking functionality for validators and delegators on testnet. ### Setup ```typescript -import { testnetAsimov } from 'genlayer-js/chains'; +import { testnetBradbury } from 'genlayer-js/chains'; import { createClient, createAccount } from "genlayer-js"; const account = createAccount(); const client = createClient({ - chain: testnetAsimov, + chain: testnetBradbury, account, }); ``` diff --git a/pages/api-references/genlayer-test.mdx b/pages/api-references/genlayer-test.mdx index e4fad593d..dc893e0ab 100644 --- a/pages/api-references/genlayer-test.mdx +++ b/pages/api-references/genlayer-test.mdx @@ -37,6 +37,14 @@ networks: - "${ACCOUNT_PRIVATE_KEY_3}" from: "${ACCOUNT_PRIVATE_KEY_2}" # Optional: specify default account + testnet_bradbury: # Test network configuration (pre-configured) + # Pre-configured network - requires accounts to be specified + accounts: + - "${ACCOUNT_PRIVATE_KEY_1}" + - "${ACCOUNT_PRIVATE_KEY_2}" + - "${ACCOUNT_PRIVATE_KEY_3}" + from: "${ACCOUNT_PRIVATE_KEY_2}" # Optional: specify default account + custom_network: # Custom network configuration id: 1234 url: "http://custom.network:8545" @@ -59,7 +67,8 @@ environment: .env # Path to your environment file containing private keys and o - Pre-configured networks: - `localnet`: Local development network with auto-generated test accounts - `studionet`: GenLayer Studio network with auto-generated test accounts - - `testnet_asimov`: Public test network (requires account configuration) + - `testnet_asimov`: Public test network for infrastructure testing (requires account configuration) + - `testnet_bradbury`: Public test network for AI/LLM use cases (requires account configuration) - Network configurations can include: - `url`: The RPC endpoint for the network (optional for pre-configured networks) - `id`: Chain ID (optional for pre-configured networks) @@ -629,7 +638,7 @@ gltest --network localnet gltest --network studionet # Run tests on testnet -gltest --network testnet_asimov +gltest --network testnet_bradbury ``` Set a custom RPC endpoint: @@ -659,5 +668,5 @@ When enabled, deployments and write operations run only on the leader node. On u **Note:** All configuration options can be combined. For example: ```bash -gltest -v --network testnet_asimov --default-wait-interval 1000 +gltest -v --network testnet_bradbury --default-wait-interval 1000 ``` diff --git a/pages/developers/intelligent-contracts/deploying.mdx b/pages/developers/intelligent-contracts/deploying.mdx index 28c017e21..b902414b0 100644 --- a/pages/developers/intelligent-contracts/deploying.mdx +++ b/pages/developers/intelligent-contracts/deploying.mdx @@ -68,7 +68,8 @@ Deploy to different networks based on your development stage: |---------|---------|-------------| | **Localnet** | Local development | Development, debugging, initial testing | | **Studionet** | Hosted development | Team collaboration, quick prototyping | -| **TestnetAsimov** | Pre-production testing | Final validation (requires faucet tokens) | +| **TestnetAsimov** | Infrastructure testing | Stability, scalability, and stress testing | +| **TestnetBradbury** | AI/LLM testing | Real AI workloads and intelligent contract testing | [Explore Network Configuration →](./deploying/network-configuration) @@ -78,7 +79,7 @@ Follow this recommended progression: 1. **Develop locally** on `localnet` with full control 2. **Test collaboratively** on `studionet` with your team -3. **Validate thoroughly** on `testnetAsimov` in a production-like environment +3. **Validate thoroughly** on `testnetBradbury` in a production-like environment with real AI workloads Start with CLI deployment for simple contracts, then graduate to deploy scripts as your projects become more complex. diff --git a/pages/developers/intelligent-contracts/deploying/cli-deployment.mdx b/pages/developers/intelligent-contracts/deploying/cli-deployment.mdx index 418cdf6ec..1121d4244 100644 --- a/pages/developers/intelligent-contracts/deploying/cli-deployment.mdx +++ b/pages/developers/intelligent-contracts/deploying/cli-deployment.mdx @@ -51,7 +51,7 @@ genlayer deploy --rpc https://custom-network.com/api **Alternative: Set default network first** ```bash # Set network then deploy -genlayer network testnet-asimov +genlayer network testnet-bradbury genlayer deploy --contract contracts/my_contract.py ``` diff --git a/pages/developers/intelligent-contracts/deploying/deploy-scripts.mdx b/pages/developers/intelligent-contracts/deploying/deploy-scripts.mdx index 4d294d4a4..6d2e71a85 100644 --- a/pages/developers/intelligent-contracts/deploying/deploy-scripts.mdx +++ b/pages/developers/intelligent-contracts/deploying/deploy-scripts.mdx @@ -36,7 +36,7 @@ import { DecodedDeployData, GenLayerChain } from "genlayer-js/types"; -import { testnetAsimov } from "genlayer-js/chains"; +import { testnetBradbury } from "genlayer-js/chains"; export default async function main(client: GenLayerClient) { // Read the contract file @@ -66,9 +66,9 @@ export default async function main(client: GenLayerClient) { throw new Error(`Deployment failed. Receipt: ${JSON.stringify(receipt)}`); } - // Receipt structure differs between TestnetAsimov and localnet/studionet + // Receipt structure differs between testnet and localnet/studionet const deployedContractAddress = - (client.chain as GenLayerChain).id !== testnetAsimov.id + (client.chain as GenLayerChain).id !== testnetBradbury.id ? receipt.data.contract_address : (receipt.txDataDecoded as DecodedDeployData)?.contractAddress; @@ -93,7 +93,7 @@ import { DecodedDeployData, GenLayerChain } from "genlayer-js/types"; -import { testnetAsimov } from "genlayer-js/chains"; +import { testnetBradbury } from "genlayer-js/chains"; export default async function main(client: GenLayerClient) { console.log("🚀 Starting deployment process..."); @@ -150,9 +150,9 @@ async function deployContract( throw new Error(`Deployment failed for ${contractPath}. Receipt: ${JSON.stringify(receipt)}`); } - // Receipt structure differs between TestnetAsimov and localnet/studionet + // Receipt structure differs between testnet and localnet/studionet const deployedContractAddress = - (client.chain as GenLayerChain).id !== testnetAsimov.id + (client.chain as GenLayerChain).id !== testnetBradbury.id ? receipt.data.contract_address : (receipt.txDataDecoded as DecodedDeployData)?.contractAddress; @@ -234,9 +234,9 @@ export default async function main(client: GenLayerClient) { throw new Error(`Deployment failed: ${JSON.stringify(receipt)}`); } - // Receipt structure differs between TestnetAsimov and localnet/studionet + // Receipt structure differs between testnet and localnet/studionet const deployedContractAddress = - (client.chain as GenLayerChain).id !== testnetAsimov.id + (client.chain as GenLayerChain).id !== testnetBradbury.id ? receipt.data.contract_address : (receipt.txDataDecoded as DecodedDeployData)?.contractAddress; diff --git a/pages/developers/intelligent-contracts/deploying/network-configuration.mdx b/pages/developers/intelligent-contracts/deploying/network-configuration.mdx index c55516e88..884d0c239 100644 --- a/pages/developers/intelligent-contracts/deploying/network-configuration.mdx +++ b/pages/developers/intelligent-contracts/deploying/network-configuration.mdx @@ -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,23 +55,48 @@ 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 + + + Testnet Bradbury configuration details will be available when the network goes live. The faucet and RPC endpoints are shared with Testnet Asimov. + + ### 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 @@ -79,14 +104,14 @@ 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 @@ -94,7 +119,7 @@ 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 ``` diff --git a/pages/validators/setup-guide.mdx b/pages/validators/setup-guide.mdx index a1288eb3e..947685276 100644 --- a/pages/validators/setup-guide.mdx +++ b/pages/validators/setup-guide.mdx @@ -125,7 +125,7 @@ genlayer staking wizard The wizard guides you through: 1. **Account setup** - Create or select your owner account -2. **Network selection** - Choose testnet-asimov +2. **Network selection** - Choose testnet-asimov or testnet-bradbury 3. **Balance verification** - Confirms you have at least 42,000 GEN 4. **Operator setup** - Create and export an operator keystore for your validator server 5. **Stake amount** - Enter how much GEN to stake (minimum 42,000) @@ -264,7 +264,7 @@ rollup: genlayerchainwebsocketurl: "TODO: Set your GenLayer Chain ZKSync WebSocket RPC URL here" # GenLayer Chain WebSocket URL # consensus contracts configuration consensus: - # Testnet - Phase 5 + # Testnet Asimov or Bradbury consensus contract consensusaddress: "0xe66B434bc83805f380509642429eC8e43AE9874a" # AddressManager Smart Contract Address genesis: 17326 # (Optional) Genesis block number for this consensus deployment. If not provided, it will be auto-detected by searching for the first log from the ConsensusMain contract. # data directory From 5e861fb45827cdbc2be2b807107a6f2f9286467f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iva=CC=81n=20Raskovsky?= Date: Wed, 11 Mar 2026 09:41:06 -0300 Subject: [PATCH 2/2] docs: address PR review feedback from Darien - Add both testnet-asimov and testnet-bradbury examples in CLI reference - Keep validators defaulting to testnet-asimov - Add Bradbury consensus contract address as commented-out alternative Co-Authored-By: Claude Opus 4.6 --- pages/api-references/genlayer-cli.mdx | 3 ++- pages/validators/setup-guide.mdx | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pages/api-references/genlayer-cli.mdx b/pages/api-references/genlayer-cli.mdx index 56a18cdf2..d5d02a3ce 100644 --- a/pages/api-references/genlayer-cli.mdx +++ b/pages/api-references/genlayer-cli.mdx @@ -200,7 +200,8 @@ COMMANDS: EXAMPLES: genlayer network set # Interactive selection menu genlayer network set localnet # Set network to localnet - genlayer network set testnet-bradbury # Set network to testnet-bradbury + genlayer network set testnet-asimov # Set network to testnet-asimov + genlayer network set testnet-bradbury # Set network to testnet-bradbury genlayer network info # Show current network details genlayer network list # List available networks ``` diff --git a/pages/validators/setup-guide.mdx b/pages/validators/setup-guide.mdx index 947685276..d90c28f3c 100644 --- a/pages/validators/setup-guide.mdx +++ b/pages/validators/setup-guide.mdx @@ -125,7 +125,7 @@ genlayer staking wizard The wizard guides you through: 1. **Account setup** - Create or select your owner account -2. **Network selection** - Choose testnet-asimov or testnet-bradbury +2. **Network selection** - Choose testnet-asimov 3. **Balance verification** - Confirms you have at least 42,000 GEN 4. **Operator setup** - Create and export an operator keystore for your validator server 5. **Stake amount** - Enter how much GEN to stake (minimum 42,000) @@ -264,9 +264,11 @@ rollup: genlayerchainwebsocketurl: "TODO: Set your GenLayer Chain ZKSync WebSocket RPC URL here" # GenLayer Chain WebSocket URL # consensus contracts configuration consensus: - # Testnet Asimov or Bradbury consensus contract + # Testnet Asimov consensus contract consensusaddress: "0xe66B434bc83805f380509642429eC8e43AE9874a" # AddressManager Smart Contract Address genesis: 17326 # (Optional) Genesis block number for this consensus deployment. If not provided, it will be auto-detected by searching for the first log from the ConsensusMain contract. + # Testnet Bradbury consensus contract (use this instead of the above for Bradbury) + # consensusaddress: "0x0112Bf6e83497965A5fdD6Dad1E447a6E004271D" # AddressManager Smart Contract Address # data directory datadir: "./data/node" # logging configuration