Repository navigation
Expand file tree
/
Copy pathicp.yaml
More file actions
42 lines (39 loc) · 1.84 KB
/
Copy pathicp.yaml
File metadata and controls
42 lines (39 loc) · 1.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
canisters:
- name: backend
recipe:
type: "@dfinity/rust@v3.4.0"
# evm_rpc is only deployed locally. On ICP mainnet the shared EVM RPC canister
# (7hfb6-caaaa-aaaar-qadga-cai) is used instead — the ic environment below
# restricts deployment to [backend] only and injects its principal via env vars.
- name: evm_rpc
build:
steps:
- type: pre-built
url: https://github.com/dfinity/evm-rpc-canister/releases/download/evm_rpc-v2.8.0/evm_rpc.wasm.gz
# nodesInSubnet controls how many cycles the EVM RPC canister charges per request
# (each node in a subnet independently makes the HTTPS outcall, so cost scales with N).
# Using the production value (28) locally validates that the cycle amounts in the
# backend are sufficient for a real subnet, even though PocketIC only runs 1 node.
init_args: "(record { nodesInSubnet = 28 })"
environments:
# Local: deploys both backend and evm_rpc (pre-built).
# icp-cli auto-injects PUBLIC_CANISTER_ID:evm_rpc into the backend after deploying evm_rpc.
- name: local
network: local
# IC mainnet: deploys only the backend; the shared EVM RPC canister is already running
# on ICP mainnet at 7hfb6-caaaa-aaaar-qadga-cai.
#
# Default configuration uses Sepolia testnet with test_key_1, suitable for development
# and testing on ICP mainnet with free Sepolia ETH from a faucet.
#
# For a production deployment on Ethereum mainnet, change init_args to:
# "(opt record {ethereum_network = opt variant {Mainnet}; ecdsa_key_name = opt \"key_1\"})"
- name: ic
network: ic
canisters: [backend]
init_args:
backend: "(opt record {ethereum_network = opt variant {Sepolia}; ecdsa_key_name = opt \"test_key_1\"})"
settings:
backend:
environment_variables:
"PUBLIC_CANISTER_ID:evm_rpc": "7hfb6-caaaa-aaaar-qadga-cai"