Skip to content

Commit 462e824

Browse files
authored
feat: nv28 support for devnet (#6943)
1 parent e17a164 commit 462e824

9 files changed

Lines changed: 112 additions & 7 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929

3030
### Added
3131

32+
- [#6913](https://github.com/ChainSafe/forest/issues/6913): Added support for NV28 for devnets. Use `FOREST_FIREHORSE_HEIGHT` environment variable to set the upgrade height. Note that `FIP-0115` is not yet automatically activated with this change.
33+
3234
### Changed
3335

3436
### Removed

build/manifest.json

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2335,6 +2335,99 @@
23352335
"actor_list_cid": "bafy2bzacebtphhsu3tbrybn4gmjbbwhwhviwmeln4vgxhq7iuttfxzeryxvo4"
23362336
}
23372337
},
2338+
{
2339+
"network": {
2340+
"type": "devnet",
2341+
"name": "devnet"
2342+
},
2343+
"version": "v18.0.0-rc1",
2344+
"bundle_cid": "bafy2bzacedgr2tg3uadekvxcuxpazjss3e6nf5tocs6n6e4nbagm6ti2npfey",
2345+
"manifest": {
2346+
"actors": [
2347+
[
2348+
"system",
2349+
1,
2350+
"bafk2bzacea22c2zrjumofpcirjkyoo7cmr4symweilq3drrmgpm6265tbm7fo"
2351+
],
2352+
[
2353+
"init",
2354+
2,
2355+
"bafk2bzacecpmpf4k7a3lyqfjozyznvzs2qxwb3nbi3x6n4u5jk5p74uqkxgfs"
2356+
],
2357+
[
2358+
"cron",
2359+
3,
2360+
"bafk2bzacedwjj3ooxg6y4grohzeowxjgrdj5kedp64t7mbj56eseubykpmixe"
2361+
],
2362+
[
2363+
"account",
2364+
4,
2365+
"bafk2bzacedx7jbhdhhtolepjm5x7gzm6rplzfjdeiz44uno2jcozveuglu42e"
2366+
],
2367+
[
2368+
"storagepower",
2369+
5,
2370+
"bafk2bzacebgwwl5j7qbewhr3hejzy5d7td26n245ww5222unoqclgdf7seehc"
2371+
],
2372+
[
2373+
"storageminer",
2374+
6,
2375+
"bafk2bzaceamtc7wqpxthlrybxfydcqcjb37yrrhngu72xpm6ulp23v724tf3s"
2376+
],
2377+
[
2378+
"storagemarket",
2379+
7,
2380+
"bafk2bzacebrbc3f65nptladzpfq22f7hitmmojq3j744rmzoqgfrzf3ancfz2"
2381+
],
2382+
[
2383+
"paymentchannel",
2384+
8,
2385+
"bafk2bzaced5e4vhrno2b6hvc5zmvk5stx33qxyq4qntuiz5obka2no4bxtxie"
2386+
],
2387+
[
2388+
"multisig",
2389+
9,
2390+
"bafk2bzacecg7qzud3mvlgljgazspwvq4vvzp7sdzewb5ccocekc2r422oevxg"
2391+
],
2392+
[
2393+
"reward",
2394+
10,
2395+
"bafk2bzacedat6wbjrkkmfixoo6xqpbbvvtqd57u37owwmykdu3yeybyjj7vmi"
2396+
],
2397+
[
2398+
"verifiedregistry",
2399+
11,
2400+
"bafk2bzacedwssd5h4bmsoz2gfximmhm7kkvspc6zcx6y6trsnncbqsah454ty"
2401+
],
2402+
[
2403+
"datacap",
2404+
12,
2405+
"bafk2bzacedvxo5fgzxrplxzbg2y4krqvlnef6fvr3ckobgcwkseme5zxm3tf4"
2406+
],
2407+
[
2408+
"placeholder",
2409+
13,
2410+
"bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro"
2411+
],
2412+
[
2413+
"evm",
2414+
14,
2415+
"bafk2bzacedkqtsnb3he4s4yhlul52grqmebor4ri3yadlpv3lsxmfbx55yysc"
2416+
],
2417+
[
2418+
"eam",
2419+
15,
2420+
"bafk2bzaceakhdu24zwokc2ogsh2247bodudrin562tvq3i5qjemv5ntgnbk2o"
2421+
],
2422+
[
2423+
"ethaccount",
2424+
16,
2425+
"bafk2bzaced5vbq325rjgf3nwlqffu7whe4pvpbzcwwptaiyfqtvaybjoidana"
2426+
]
2427+
],
2428+
"actor_list_cid": "bafy2bzaced4qgmabr2qprgnp7c6v66dbry7adat75nqjpnootd3ggaw6crti6"
2429+
}
2430+
},
23382431
{
23392432
"network": {
23402433
"type": "mainnet"

scripts/devnet/.env

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
LOTUS_IMAGE=filecoin/lotus-all-in-one:v1.35.1-2k
1+
LOTUS_IMAGE=ghcr.io/chainsafe/lotus-devnet:2026-04-20-4f7bde5
22
FOREST_DATA_DIR=/forest_data
33
LOTUS_DATA_DIR=/lotus_data
44
FIL_PROOFS_PARAMETER_CACHE=/var/tmp/filecoin-proof-parameters
@@ -22,4 +22,5 @@ TUKTUK_HEIGHT=20
2222
TEEP_HEIGHT=22
2323
TOCK_HEIGHT=24
2424
GOLDEN_WEEK_HEIGHT=26
25-
TARGET_HEIGHT=30
25+
FIREHORSE_HEIGHT=28
26+
TARGET_HEIGHT=32

scripts/devnet/check.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ pushd "${PARENT_PATH}"
1010
source .env
1111

1212
# Forest check - assert that we sync past the genesis block.
13-
# Allow for 300 seconds of sync time.
13+
# Allow for 360 seconds of sync time.
1414
function get_sync_height {
1515
local port=$1
1616
curl --silent -X POST -H "Content-Type: application/json" \
@@ -26,7 +26,7 @@ function get_f3_latest_cert_instance {
2626
}
2727

2828
start_time=$(date +%s)
29-
timeout=$((start_time + 300)) # Set timeout to 5 minutes
29+
timeout=$((start_time + 360)) # Set timeout to 6 minutes
3030

3131
# Target height set so that all migrations are applied.
3232
target_height=$TARGET_HEIGHT

scripts/devnet/docker-compose.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ services:
2727
- LOTUS_TEEP_HEIGHT=${TEEP_HEIGHT}
2828
- LOTUS_TOCK_HEIGHT=${TOCK_HEIGHT}
2929
- LOTUS_GOLDENWEEK_HEIGHT=${GOLDEN_WEEK_HEIGHT}
30+
- LOTUS_FIREHORSE_HEIGHT=${FIREHORSE_HEIGHT}
3031
env_file:
3132
- lotus.env
3233
entrypoint: ["/bin/bash", "-c"]
@@ -77,6 +78,7 @@ services:
7778
- LOTUS_TEEP_HEIGHT=${TEEP_HEIGHT}
7879
- LOTUS_TOCK_HEIGHT=${TOCK_HEIGHT}
7980
- LOTUS_GOLDENWEEK_HEIGHT=${GOLDEN_WEEK_HEIGHT}
81+
- LOTUS_FIREHORSE_HEIGHT=${FIREHORSE_HEIGHT}
8082
ports:
8183
- ${LOTUS_RPC_PORT}:${LOTUS_RPC_PORT}
8284
- ${LOTUS_P2P_PORT}:${LOTUS_P2P_PORT}
@@ -121,6 +123,7 @@ services:
121123
- LOTUS_TEEP_HEIGHT=${TEEP_HEIGHT}
122124
- LOTUS_TOCK_HEIGHT=${TOCK_HEIGHT}
123125
- LOTUS_GOLDENWEEK_HEIGHT=${GOLDEN_WEEK_HEIGHT}
126+
- LOTUS_FIREHORSE_HEIGHT=${FIREHORSE_HEIGHT}
124127
ports:
125128
- ${MINER_RPC_PORT}:${MINER_RPC_PORT}
126129
env_file:
@@ -160,6 +163,7 @@ services:
160163
- LOTUS_TEEP_HEIGHT=${TEEP_HEIGHT}
161164
- LOTUS_TOCK_HEIGHT=${TOCK_HEIGHT}
162165
- LOTUS_GOLDENWEEK_HEIGHT=${GOLDEN_WEEK_HEIGHT}
166+
- LOTUS_FIREHORSE_HEIGHT=${FIREHORSE_HEIGHT}
163167
entrypoint: ["/bin/bash", "-c"]
164168
env_file:
165169
- lotus.env
@@ -209,6 +213,7 @@ services:
209213
- FOREST_TEEP_HEIGHT=${TEEP_HEIGHT}
210214
- FOREST_TOCK_HEIGHT=${TOCK_HEIGHT}
211215
- FOREST_GOLDEN_WEEK_HEIGHT=${GOLDEN_WEEK_HEIGHT}
216+
- FOREST_FIREHORSE_HEIGHT=${FIREHORSE_HEIGHT}
212217
networks:
213218
- devnet
214219
ports:
@@ -258,6 +263,7 @@ services:
258263
- FOREST_TEEP_HEIGHT=${TEEP_HEIGHT}
259264
- FOREST_TOCK_HEIGHT=${TOCK_HEIGHT}
260265
- FOREST_GOLDEN_WEEK_HEIGHT=${GOLDEN_WEEK_HEIGHT}
266+
- FOREST_FIREHORSE_HEIGHT=${FIREHORSE_HEIGHT}
261267
networks:
262268
- devnet
263269
ports:

scripts/devnet/lotus.dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Lotus binaries image, to be used in the local devnet with Forest.
2-
FROM golang:1.23-bookworm AS lotus-builder
2+
FROM golang:1.25-bookworm AS lotus-builder
33
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
44

55
RUN apt-get update && \
@@ -13,7 +13,7 @@ RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --no-modify-path --profile mini
1313

1414
ENV PATH="/root/.cargo/bin:${PATH}"
1515

16-
RUN git clone https://github.com/filecoin-project/lotus.git . && git reset --hard c41477
16+
RUN git clone https://github.com/filecoin-project/lotus.git . && git reset --hard d036ad9521d6621b5393d3d1b707a9994e94feed
1717

1818
# https://github.com/Filecoin-project/filecoin-ffi?tab=readme-ov-file#building-from-source
1919
RUN CGO_CFLAGS_ALLOW="-D__BLST_PORTABLE__" \

src/networks/actors_bundle.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ pub static ACTOR_BUNDLES: LazyLock<Box<[ActorBundleInfo]>> = LazyLock::new(|| {
9797
"bafy2bzacedlusqjwf7chvl2ve2fum5noyqrtjzcrzkhpbzpkg7puiru7dj4ug" @ "v15.0.0-rc1" for "devnet",
9898
"bafy2bzaceclp3wfrwdjgh6c3gee5smwj3zmmrhb4fdbc4yfchfaia6rlljx5o" @ "v16.0.1" for "devnet",
9999
"bafy2bzaceasvgkke3j4cs3xsxnjswpcdmokkvkiehzxzcgfox3ozlehimbuqk" @ "v17.0.0" for "devnet",
100+
"bafy2bzacedgr2tg3uadekvxcuxpazjss3e6nf5tocs6n6e4nbagm6ti2npfey" @ "v18.0.0-rc1" for "devnet",
100101
"bafy2bzaceb6j6666h36xnhksu3ww4kxb6e25niayfgkdnifaqi6m6ooc66i6i" @ "v9.0.3" for "mainnet",
101102
"bafy2bzacecsuyf7mmvrhkx2evng5gnz5canlnz2fdlzu2lvcgptiq2pzuovos" @ "v10.0.0" for "mainnet",
102103
"bafy2bzacecnhaiwcrpyjvzl4uv4q3jzoif26okl3m66q3cijp3dfwlcxwztwo" @ "v11.0.0" for "mainnet",

src/networks/devnet/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,8 @@ pub static HEIGHT_INFOS: LazyLock<HashMap<Height, HeightInfo>> = LazyLock::new(|
166166
),
167167
make_height!(
168168
FireHorse,
169-
get_upgrade_height_from_env("FOREST_FIREHORSE_HEIGHT").unwrap_or(9999999999)
169+
get_upgrade_height_from_env("FOREST_FIREHORSE_HEIGHT").unwrap_or(9999999999),
170+
get_bundle_cid("v18.0.0-rc1")
170171
),
171172
])
172173
});

src/state_migration/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ where
8585
(Height::TukTuk, nv24::run_migration::<DB>),
8686
(Height::Teep, nv25::run_migration::<DB>),
8787
(Height::GoldenWeek, nv27::run_migration::<DB>),
88+
(Height::FireHorse, nv28::run_migration::<DB>),
8889
]
8990
}
9091
}

0 commit comments

Comments
 (0)