Skip to content
Merged
Show file tree
Hide file tree
Changes from 76 commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
fe61ae5
fix: status
redpanda-f Jan 2, 2026
c0299c7
update: status
redpanda-f Jan 2, 2026
23490fe
fix: readme
redpanda-f Jan 2, 2026
0fed12d
fix: adv
redpanda-f Jan 2, 2026
10cf2d1
fix: CI fixed, default repo links fixed, should work
redpanda-f Jan 2, 2026
3d2fb43
setup docker
redpanda-f Jan 2, 2026
088f4aa
fix: tar prerequisite
redpanda-f Jan 2, 2026
8d00ea6
fix: manual artifacts/ dir creation
redpanda-f Jan 2, 2026
fe31ba7
fix: default update
redpanda-f Jan 2, 2026
067dce7
fix: defaults
redpanda-f Jan 2, 2026
de84035
update: docker login
redpanda-f Jan 2, 2026
c9a5e42
add: docker images cache
redpanda-f Jan 2, 2026
5ef5f5b
fix: naming for builder image
redpanda-f Jan 2, 2026
16a65e4
add: rust cache
redpanda-f Jan 2, 2026
1e753e9
CI fixes for disk
redpanda-f Jan 2, 2026
ac4f4ce
fix: disk issues
redpanda-f Jan 2, 2026
0cde656
update: CI
redpanda-f Jan 2, 2026
0799a3f
fix: start should be parallel
redpanda-f Jan 2, 2026
ac60492
fix: more robust CI
redpanda-f Jan 2, 2026
6428156
yaml validity
redpanda-f Jan 2, 2026
0c7bdc2
add: backoff logic and retry
redpanda-f Jan 2, 2026
142ae91
fix: retry to defaults
redpanda-f Jan 2, 2026
77b6d88
fix: CI, privileged operations
redpanda-f Jan 2, 2026
edd90a7
fix: ci.yml
redpanda-f Jan 2, 2026
74595fc
fix: compute version hashes
redpanda-f Jan 2, 2026
97928d1
fix: ci
redpanda-f Jan 2, 2026
c2b16a7
fix: ci
redpanda-f Jan 2, 2026
0523ed4
remove: chain progression checks from curio
redpanda-f Jan 5, 2026
318f43b
add: CI
redpanda-f Jan 5, 2026
46c392c
fix: CI
redpanda-f Jan 5, 2026
3f56890
fix: CI
redpanda-f Jan 5, 2026
a5a9b88
remove: writing to file
redpanda-f Jan 5, 2026
9c8ef9b
fix: docker and execution
redpanda-f Jan 5, 2026
dfa8fbc
fix: build
redpanda-f Jan 5, 2026
e5ac3ef
add: userdel
redpanda-f Jan 5, 2026
5905bc0
fix: bunch of issues
redpanda-f Jan 5, 2026
ae992dd
fix: CI
redpanda-f Jan 5, 2026
01a4481
fix: stuff
redpanda-f Jan 5, 2026
0af7e4b
fix: retry proof parameters download
redpanda-f Jan 5, 2026
9a9ac4a
fix: CI downloads proof params from AWS S3
redpanda-f Jan 5, 2026
e9f9c2f
add: debugging
redpanda-f Jan 5, 2026
73e0569
fix: proof params
redpanda-f Jan 5, 2026
a037a69
add: debug logging
redpanda-f Jan 5, 2026
f2e6d23
add: debug logging
redpanda-f Jan 5, 2026
2befd01
Add link to Portainer UI in README
BigLep Jan 6, 2026
3953a29
nit around "Need More" section.
BigLep Jan 6, 2026
30398aa
remove: proof-params SHA check
redpanda-f Jan 7, 2026
d4f2eae
fix: docker images and container names use constant now
redpanda-f Jan 7, 2026
cf0038b
fix: cleanup does not delete previously known docker images for no_do…
redpanda-f Jan 7, 2026
ea521d7
add: deployment fixes
redpanda-f Jan 7, 2026
c744c28
fix: docker images and container names
redpanda-f Jan 7, 2026
637a04b
fix: CI
redpanda-f Jan 7, 2026
e54ef1b
fix: retry logic for PDP retry
redpanda-f Jan 7, 2026
bdacf0b
increase storage attach wait time
redpanda-f Jan 7, 2026
29c1162
fix: constants, view into downloaded code
redpanda-f Jan 7, 2026
ce5d328
update: CI for docker logs dump
redpanda-f Jan 7, 2026
7ae5217
Update ci.yml
redpanda-f Jan 7, 2026
1b898fe
fixes
redpanda-f Jan 8, 2026
d424e64
fix: CI teardown
redpanda-f Jan 8, 2026
15f8d64
add: self hosted runner integration
redpanda-f Jan 12, 2026
c60b43d
add: openssl dependency
redpanda-f Jan 12, 2026
13f6a29
add: openssl-dev dependency
redpanda-f Jan 12, 2026
96c5ef6
CI: lists logs files
redpanda-f Jan 12, 2026
ca9b143
add: synapse updates
redpanda-f Jan 12, 2026
2669472
makehappy: fmt
redpanda-f Jan 12, 2026
71f3c86
fix: curio default
redpanda-f Jan 12, 2026
4ea9d4e
update: bump lotus version to 1.34.4-rc1
redpanda-f Jan 12, 2026
dc47706
fix: branch names
redpanda-f Jan 12, 2026
2797ae5
fix: clippy
redpanda-f Jan 12, 2026
6a05363
add: sysinfo
redpanda-f Jan 12, 2026
334ed27
add: sysinfo
redpanda-f Jan 12, 2026
f4b60ce
add: bigrunner
redpanda-f Jan 13, 2026
ec34f23
chore: update for merged curio and synapse-sdk PRs (#27)
rvagg Jan 15, 2026
9daed7c
update: CI
redpanda-f Jan 15, 2026
be754bf
fix: runs-on
redpanda-f Jan 15, 2026
1aa0628
change: instance type for CI
redpanda-f Jan 15, 2026
debccb6
update: dependents
redpanda-f Jan 16, 2026
342d864
update: CI for V1
redpanda-f Jan 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# foc-localnet - AI Coding Instructions
# foc-devnet - AI Coding Instructions

## Project Overview

**foc-localnet** is a Rust CLI tool for managing local Filecoin networks with FOC (Filecoin Onchain Contracts) support for warm storage services. It orchestrates Docker containers running Lotus nodes, miners, databases, and deploys smart contracts using Foundry (Forge/Cast).
**foc-devnet** is a Rust CLI tool for managing local Filecoin networks with FOC (Filecoin Onchain Contracts) support for warm storage services. It orchestrates Docker containers running Lotus nodes, miners, databases, and deploys smart contracts using Foundry (Forge/Cast).

**Key Technologies**: Rust, Docker, Filecoin Lotus, FEVM (Filecoin EVM), Foundry, YugabyteDB, Solidity

Expand Down Expand Up @@ -59,10 +59,10 @@ foc-curio # Second-gen miner (WIP)
## Directory Structure & Conventions

### User Data Directories
All persistent data lives under `~/.foc-localnet/` (see `src/paths.rs`):
All persistent data lives under `~/.foc-devnet/` (see `src/paths.rs`):

```
~/.foc-localnet/
~/.foc-devnet/
├── artifacts/
│ ├── bin/ # Built Lotus/Curio binaries
│ └── docker/volumes/ # Container persistent data
Expand All @@ -82,11 +82,11 @@ All persistent data lives under `~/.foc-localnet/` (see `src/paths.rs`):
```

### Key Path Functions (src/paths.rs)
- `foc_localnet_home()` - Root directory `~/.foc-localnet/`
- `foc_localnet_docker_volumes()` - Docker volumes directory
- `foc_localnet_lotus_keys()` - BLS key storage
- `foc_devnet_home()` - Root directory `~/.foc-devnet/`
- `foc_devnet_docker_volumes()` - Docker volumes directory
- `foc_devnet_lotus_keys()` - BLS key storage
- `contract_addresses_file()` - JSON file with deployed contracts
- `foc_localnet_bin()` - Built binaries directory
- `foc_devnet_bin()` - Built binaries directory

## Smart Contract Deployment

Expand Down Expand Up @@ -226,7 +226,7 @@ Deletes: BLS keys, genesis sectors, genesis config, blockchain data, contract ad
**Files Deleted**:
- `lotus-keys/key-1`, `lotus-keys/key-2`, `lotus-keys/prefunded-*`
- `genesis-sectors/`
- `genesis/foc-localnet.json`
- `genesis/foc-devnet.json`
- `lotus-data/`, `lotus-miner-data/`

### Reset (Chain Reset Only)
Expand Down Expand Up @@ -275,7 +275,7 @@ docker run --rm --network host \

### Port Conflicts
**Problem**: Container fails to start due to port already in use
**Solution**: Check with `lsof -i :1234` or use `foc-localnet stop` to clean up
**Solution**: Check with `lsof -i :1234` or use `foc-devnet stop` to clean up

### Volume Permission Issues
**Problem**: Container can't write to mounted volumes
Expand Down Expand Up @@ -319,7 +319,7 @@ Use descriptive error messages with context:
```rust
return Err(format!(
"Lotus container is not running. FOC deployment requires Lotus to be running with FEVM enabled. \
Run 'foc-localnet start' to start Lotus first."
Run 'foc-devnet start' to start Lotus first."
).into());
```

Expand Down Expand Up @@ -359,7 +359,7 @@ const MOCK_USDFC_INITIAL_SUPPLY: &str = "1000000000000000000000000";
## When Making Changes

1. **Adding New Steps**: Implement the `Step` trait, add to startup sequence in correct order
2. **Modifying Dockerfiles**: Update embedded assets, rebuild with `foc-localnet init --rebuild`
2. **Modifying Dockerfiles**: Update embedded assets, rebuild with `foc-devnet init --rebuild`
3. **Changing Paths**: Update `src/paths.rs` and ensure backward compatibility
4. **Contract Updates**: Update embedded asset, test deployment manually first
5. **Error Handling**: Always provide context (which container, which file, which command failed)
Loading