Skip to content

Commit 75d2a5e

Browse files
committed
chore(build): trim and compress genesis CARs in build
Ref: filecoin-project/lotus-infra#1627 Ref: filecoin-project/lotus-infra#1628 * Remove WASM actors from butterflynet.car * Compress with zstd
1 parent 5b01850 commit 75d2a5e

13 files changed

+26
-9
lines changed

build/buildconstants/params_butterfly.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ var NetworkBundle = "butterflynet"
2222
var ActorDebugging = false
2323

2424
const BootstrappersFile = "butterflynet.pi"
25-
const GenesisFile = "butterflynet.car"
25+
const GenesisFile = "butterflynet.car.zst"
2626

2727
const UpgradeBreezeHeight = -1
2828
const BreezeGasTampingDuration = 120

build/buildconstants/params_calibnet.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ var NetworkBundle = "calibrationnet"
2626
var ActorDebugging = false
2727

2828
const BootstrappersFile = "calibnet.pi"
29-
const GenesisFile = "calibnet.car"
29+
const GenesisFile = "calibnet.car.zst"
3030

3131
const UpgradeBreezeHeight = -1
3232
const BreezeGasTampingDuration = 120

build/buildconstants/params_interop.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ var NetworkBundle = "caterpillarnet"
1919
var ActorDebugging = false
2020

2121
const BootstrappersFile = "interopnet.pi"
22-
const GenesisFile = "interopnet.car"
22+
const GenesisFile = "interopnet.car.zst"
2323

2424
const GenesisNetworkVersion = network.Version22
2525

build/buildconstants/params_mainnet.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ const ActorDebugging = false
3030
const GenesisNetworkVersion = network.Version0
3131

3232
const BootstrappersFile = "mainnet.pi"
33-
const GenesisFile = "mainnet.car"
33+
const GenesisFile = "mainnet.car.zst"
3434

3535
const UpgradeBreezeHeight abi.ChainEpoch = 41280
3636

build/genesis.go

+22-5
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,41 @@ package build
22

33
import (
44
"embed"
5+
"io"
56
"path"
67

78
logging "github.com/ipfs/go-log/v2"
9+
"github.com/klauspost/compress/zstd"
810

911
"github.com/filecoin-project/lotus/build/buildconstants"
1012
)
1113

1214
// moved from now-defunct build/paramfetch.go
1315
var log = logging.Logger("build")
1416

15-
//go:embed genesis
16-
var genesisfs embed.FS
17+
//go:embed genesis/*.car.zst
18+
var genesisCars embed.FS
1719

1820
func MaybeGenesis() []byte {
19-
genBytes, err := genesisfs.ReadFile(path.Join("genesis", buildconstants.GenesisFile))
21+
file, err := genesisCars.Open(path.Join("genesis", buildconstants.GenesisFile))
2022
if err != nil {
21-
log.Warnf("loading built-in genesis: %s", err)
23+
log.Warnf("opening built-in genesis: %s", err)
2224
return nil
2325
}
24-
return genBytes
26+
defer file.Close() //nolint
27+
28+
decoder, err := zstd.NewReader(file)
29+
if err != nil {
30+
log.Warnf("creating zstd decoder: %s", err)
31+
return nil
32+
}
33+
defer decoder.Close() //nolint
34+
35+
decompressedBytes, err := io.ReadAll(decoder)
36+
if err != nil {
37+
log.Warnf("reading decompressed genesis file: %s", err)
38+
return nil
39+
}
40+
41+
return decompressedBytes
2542
}

build/genesis/butterflynet.car

-8.36 MB
Binary file not shown.

build/genesis/butterflynet.car.zst

437 KB
Binary file not shown.

build/genesis/calibnet.car

-1.05 MB
Binary file not shown.

build/genesis/calibnet.car.zst

313 KB
Binary file not shown.

build/genesis/interopnet.car

-2.1 MB
Binary file not shown.

build/genesis/interopnet.car.zst

818 KB
Binary file not shown.

build/genesis/mainnet.car

-1.05 MB
Binary file not shown.

build/genesis/mainnet.car.zst

314 KB
Binary file not shown.

0 commit comments

Comments
 (0)