Skip to content

Commit dec112a

Browse files
chore: Devnet
Co-authored-by: Mitchell Tracy <mitchellftracy@gmail.com> Co-authored-by: Phil Windle <philip.windle@gmail.com>
1 parent a24c341 commit dec112a

File tree

12 files changed

+162
-1
lines changed

12 files changed

+162
-1
lines changed

.github/workflows/deploy-network.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ on:
3232
- staging-ignition
3333
- testnet
3434
- next-net
35+
- devnet
3536
semver:
3637
description: 'Semver version (e.g., 2.3.4)'
3738
required: true

.github/workflows/ensure-funded-environment.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ on:
3030
- next-net
3131
- staging-ignition
3232
- testnet
33+
- devnet
3334
low_watermark:
3435
description: 'Minimum ETH balance'
3536
required: false

.github/workflows/ensure-funded-environments.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,11 @@ jobs:
5555
low_watermark: ${{ inputs.low_watermark || '5.0' }}
5656
high_watermark: ${{ inputs.high_watermark || '10.0' }}
5757
secrets: inherit
58+
59+
fund-devnet:
60+
uses: ./.github/workflows/ensure-funded-environment.yml
61+
with:
62+
environment: devnet
63+
low_watermark: ${{ inputs.low_watermark || '5.0' }}
64+
high_watermark: ${{ inputs.high_watermark || '10.0' }}
65+
secrets: inherit

spartan/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ environments/*
1010
!environments/staging-public.env
1111
!environments/staging-ignition.env
1212
!environments/testnet.env
13+
!environments/devnet.env
1314
!environments/next-net.env
1415
!environments/next-scenario.env
1516
!environments/ignition-fisherman.env

spartan/environments/devnet.env

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
CREATE_ETH_DEVNET=false
2+
GCP_REGION=us-west1-a
3+
CLUSTER=aztec-gke-private
4+
NETWORK=devnet
5+
NAMESPACE=devnet
6+
ETHEREUM_CHAIN_ID=11155111
7+
ETHEREUM_RPC_URLS=REPLACE_WITH_GCP_SECRET
8+
ETHEREUM_CONSENSUS_HOST_URLS=REPLACE_WITH_GCP_SECRET
9+
ETHEREUM_CONSENSUS_HOST_API_KEYS=REPLACE_WITH_GCP_SECRET
10+
ETHEREUM_CONSENSUS_HOST_API_KEY_HEADERS=REPLACE_WITH_GCP_SECRET
11+
FUNDING_PRIVATE_KEY=REPLACE_WITH_GCP_SECRET
12+
LABS_INFRA_MNEMONIC=REPLACE_WITH_GCP_SECRET
13+
ROLLUP_DEPLOYMENT_PRIVATE_KEY=REPLACE_WITH_GCP_SECRET
14+
OTEL_COLLECTOR_ENDPOINT=REPLACE_WITH_GCP_SECRET
15+
VERIFY_CONTRACTS=false
16+
DEPLOY_INTERNAL_BOOTNODE=true
17+
STORE_SNAPSHOT_URL=
18+
TEST_ACCOUNTS=true
19+
SPONSORED_FPC=true
20+
SEQ_MIN_TX_PER_BLOCK=0
21+
SEQ_MAX_TX_PER_BLOCK=32
22+
DESTROY_NAMESPACE=true
23+
24+
AZTEC_LAG_IN_EPOCHS=0
25+
AZTEC_EPOCH_DURATION=8
26+
27+
VALIDATOR_REPLICAS=1
28+
VALIDATORS_PER_NODE=1
29+
TOTAL_VALIDATORS=$((VALIDATOR_REPLICAS * VALIDATORS_PER_NODE))
30+
VALIDATOR_INDICES=$(seq -s ',' 1 $TOTAL_VALIDATORS)
31+
PUBLISHERS_PER_VALIDATOR_KEY=1
32+
VALIDATOR_PUBLISHER_MNEMONIC_START_INDEX=5000
33+
34+
PUBLISHERS_PER_PROVER=1
35+
PROVER_PUBLISHER_MNEMONIC_START_INDEX=8000
36+
PROVER_REPLICAS=1
37+
PROVER_AGENTS_PER_PROVER=4
38+
39+
BOT_TRANSFERS_REPLICAS=0
40+
41+
BOT_SWAPS_REPLICAS=0
42+
43+
FLUSH_ENTRY_QUEUE=true
44+
45+
REAL_VERIFIER=false
46+
47+
RPC_INGRESS_ENABLED=true
48+
RPC_INGRESS_HOST=devnet.aztec-labs.com
49+
RPC_INGRESS_STATIC_IP_NAME=devnet-rpc-ip
50+
RPC_INGRESS_SSL_CERT_NAME=devnet-rpc-cert

spartan/scripts/deploy_network.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ PROVER_FAILED_PROOF_STORE=${PROVER_FAILED_PROOF_STORE:-}
7474
SEQ_MIN_TX_PER_BLOCK=${SEQ_MIN_TX_PER_BLOCK:-0}
7575
SEQ_MAX_TX_PER_BLOCK=${SEQ_MAX_TX_PER_BLOCK:-8}
7676
PROVER_REPLICAS=${PROVER_REPLICAS:-4}
77+
PROVER_AGENTS_PER_PROVER=${PROVER_AGENTS_PER_PROVER:-1}
7778
R2_ACCESS_KEY_ID=${R2_ACCESS_KEY_ID:-}
7879
R2_SECRET_ACCESS_KEY=${R2_SECRET_ACCESS_KEY:-}
7980

@@ -368,6 +369,8 @@ BOT_SWAPS_FOLLOW_CHAIN = "${BOT_SWAPS_FOLLOW_CHAIN}"
368369
BOT_TRANSFERS_L2_PRIVATE_KEY = "${BOT_TRANSFERS_L2_PRIVATE_KEY:-0xcafe01}"
369370
BOT_SWAPS_L2_PRIVATE_KEY = "${BOT_SWAPS_L2_PRIVATE_KEY:-0xcafe02}"
370371
372+
PROVER_AGENTS_PER_PROVER = ${PROVER_AGENTS_PER_PROVER}
373+
371374
RPC_INGRESS_ENABLED = ${RPC_INGRESS_ENABLED}
372375
RPC_INGRESS_HOST = "${RPC_INGRESS_HOST}"
373376
RPC_INGRESS_STATIC_IP_NAME = "${RPC_INGRESS_STATIC_IP_NAME}"

spartan/terraform/deploy-aztec-infra/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ locals {
193193
"agent.node.env.NETWORK" = var.NETWORK
194194
"agent.replicaCount" = var.PROVER_REPLICAS
195195
"agent.node.env.BOOTSTRAP_NODES" = "asdf"
196+
"agent.node.env.AGENT_COUNT" = var.PROVER_AGENTS_PER_PROVER
196197
}
197198
boot_node_host_path = "node.node.env.BOOT_NODE_HOST"
198199
bootstrap_nodes_path = "node.node.env.BOOTSTRAP_NODES"

spartan/terraform/deploy-aztec-infra/variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,3 +482,9 @@ variable "RPC_REPLICAS" {
482482
type = string
483483
default = 1
484484
}
485+
486+
variable "PROVER_AGENTS_PER_PROVER" {
487+
description = "Number of prover agents per prover"
488+
type = string
489+
default = 1
490+
}

spartan/terraform/gke-cluster/network-ingress.tf

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,25 @@ resource "google_compute_managed_ssl_certificate" "testnet_rpc_cert" {
4141
prevent_destroy = true
4242
}
4343
}
44+
45+
resource "google_compute_global_address" "devnet_rpc_ip" {
46+
name = "devnet-rpc-ip"
47+
description = "Static IP for devnet network RPC ingress"
48+
49+
lifecycle {
50+
prevent_destroy = true
51+
}
52+
}
53+
54+
resource "google_compute_managed_ssl_certificate" "devnet_rpc_cert" {
55+
name = "devnet-rpc-cert"
56+
description = "Managed SSL certificate for devnet RPC ingress"
57+
58+
managed {
59+
domains = ["devnet.aztec-labs.com"]
60+
}
61+
62+
lifecycle {
63+
prevent_destroy = true
64+
}
65+
}

yarn-project/cli/src/config/chain_l2_config.ts

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -409,6 +409,58 @@ export const ignitionL2ChainConfig: L2ChainConfig = {
409409
...DefaultNetworkDBMapSizeConfig,
410410
};
411411

412+
export const devnetL2ChainConfig: L2ChainConfig = {
413+
l1ChainId: 11155111,
414+
testAccounts: true,
415+
sponsoredFPC: true,
416+
p2pEnabled: true,
417+
p2pBootstrapNodes: [],
418+
seqMinTxsPerBlock: 0,
419+
seqMaxTxsPerBlock: 8,
420+
realProofs: false,
421+
snapshotsUrls: [],
422+
autoUpdate: 'config-and-version',
423+
autoUpdateUrl: '',
424+
publicIncludeMetrics,
425+
publicMetricsCollectorUrl: '',
426+
publicMetricsCollectFrom: [''],
427+
maxTxPoolSize: 100_000_000, // 100MB
428+
429+
// Deployment stuff
430+
/** How many seconds an L1 slot lasts. */
431+
ethereumSlotDuration: 12,
432+
/** How many seconds an L2 slots lasts (must be multiple of ethereum slot duration). */
433+
aztecSlotDuration: 36,
434+
/** How many L2 slots an epoch lasts. */
435+
aztecEpochDuration: 8,
436+
/** The target validator committee size. */
437+
aztecTargetCommitteeSize: 1,
438+
/** The number of epochs to lag behind the current epoch for validator selection. */
439+
lagInEpochs: 0,
440+
/** The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup */
441+
localEjectionThreshold: DefaultL1ContractsConfig.localEjectionThreshold,
442+
/** The number of epochs after an epoch ends that proofs are still accepted. */
443+
aztecProofSubmissionEpochs: 1,
444+
/** The deposit amount for a validator */
445+
activationThreshold: DefaultL1ContractsConfig.activationThreshold,
446+
/** The minimum stake for a validator. */
447+
ejectionThreshold: DefaultL1ContractsConfig.ejectionThreshold,
448+
/** The slashing round size */
449+
slashingRoundSizeInEpochs: DefaultL1ContractsConfig.slashingRoundSizeInEpochs,
450+
/** Governance proposing round size */
451+
governanceProposerRoundSize: DefaultL1ContractsConfig.governanceProposerRoundSize,
452+
/** The mana target for the rollup */
453+
manaTarget: DefaultL1ContractsConfig.manaTarget,
454+
/** The proving cost per mana */
455+
provingCostPerMana: DefaultL1ContractsConfig.provingCostPerMana,
456+
/** Exit delay for stakers */
457+
exitDelaySeconds: DefaultL1ContractsConfig.exitDelaySeconds,
458+
459+
...DefaultSlashConfig,
460+
461+
...DefaultNetworkDBMapSizeConfig,
462+
};
463+
412464
export function getL2ChainConfig(networkName: NetworkNames): L2ChainConfig | undefined {
413465
let config: L2ChainConfig | undefined;
414466
if (networkName === 'staging-public') {
@@ -421,6 +473,8 @@ export function getL2ChainConfig(networkName: NetworkNames): L2ChainConfig | und
421473
config = { ...ignitionL2ChainConfig };
422474
} else if (networkName === 'next-net') {
423475
config = { ...nextNetL2ChainConfig };
476+
} else if (networkName === 'devnet') {
477+
config = { ...devnetL2ChainConfig };
424478
}
425479
return config;
426480
}

0 commit comments

Comments
 (0)