Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
179 commits
Select commit Hold shift + click to select a range
76ea4dd
add monad config
UlysseCorbeil Jan 13, 2026
096007c
add localhost for monad-x
UlysseCorbeil Jan 13, 2026
27cf3d3
add flag for firehose endpoint
UlysseCorbeil Jan 13, 2026
897d6ff
add skip for monad
UlysseCorbeil Jan 13, 2026
c39db29
add monad gas fee
UlysseCorbeil Jan 13, 2026
f20b9af
get rpc url from hardhat config
UlysseCorbeil Jan 13, 2026
87c2c9a
another skip monad
UlysseCorbeil Jan 13, 2026
99063ca
add localnet test addr
UlysseCorbeil Jan 15, 2026
2c3e04b
bump gas lim
UlysseCorbeil Jan 16, 2026
b5365dd
enable opt
UlysseCorbeil Jan 16, 2026
0f84c81
disable yul
UlysseCorbeil Jan 16, 2026
a9d2c91
revert
UlysseCorbeil Jan 16, 2026
197b9f1
update config
UlysseCorbeil Jan 16, 2026
d50454d
bump gas limit for monad-dev
UlysseCorbeil Jan 16, 2026
80261b0
increase to 30M
UlysseCorbeil Jan 16, 2026
4ff42f1
test
UlysseCorbeil Jan 21, 2026
4ed76a5
remove old useless skips
UlysseCorbeil Jan 21, 2026
6f88d98
test
UlysseCorbeil Jan 23, 2026
fab91bd
dis gas lim change
UlysseCorbeil Jan 23, 2026
2783da6
re-add test
UlysseCorbeil Jan 23, 2026
caf4773
gas change
UlysseCorbeil Jan 23, 2026
438d216
add monad dev check and test possible gasLimit overwride
UlysseCorbeil Jan 23, 2026
dc46c8b
indent
UlysseCorbeil Jan 23, 2026
4e26052
test
UlysseCorbeil Jan 23, 2026
ba98fbf
merge master
UlysseCorbeil Jan 26, 2026
a8074ee
add monad to list
UlysseCorbeil Jan 26, 2026
42a61ee
oops
UlysseCorbeil Jan 26, 2026
7cc355a
test
UlysseCorbeil Jan 26, 2026
72a8a0a
test 2
UlysseCorbeil Jan 26, 2026
7c01808
increase balance test
UlysseCorbeil Jan 26, 2026
0a40f87
revert
UlysseCorbeil Jan 26, 2026
59bd00c
rm skip
UlysseCorbeil Jan 27, 2026
f027736
change tmp message reg
UlysseCorbeil Jan 28, 2026
664f7b6
debug
UlysseCorbeil Jan 28, 2026
e240812
add hashes
UlysseCorbeil Jan 28, 2026
aed08fa
test hash issue
UlysseCorbeil Jan 28, 2026
bae90ed
rm custom gas lim
UlysseCorbeil Jan 29, 2026
8d71741
try n fix defaultDeployerBalance
UlysseCorbeil Jan 29, 2026
8c2010f
fix fct call
UlysseCorbeil Jan 29, 2026
6de9df0
test
UlysseCorbeil Jan 29, 2026
10bba2f
use defaults
UlysseCorbeil Jan 29, 2026
09c7cbf
force legacy as test
UlysseCorbeil Jan 29, 2026
df23d9d
rm
UlysseCorbeil Jan 29, 2026
81e6ed9
try with more eth...
UlysseCorbeil Jan 29, 2026
30bd403
add skip
UlysseCorbeil Feb 20, 2026
1a3006f
console log
UlysseCorbeil Feb 20, 2026
13f4895
test
UlysseCorbeil Feb 20, 2026
978d827
change
UlysseCorbeil Feb 20, 2026
eaf91eb
uncheckl
UlysseCorbeil Feb 20, 2026
99a1227
revert
UlysseCorbeil Feb 20, 2026
143204e
ord
UlysseCorbeil Feb 20, 2026
e39bc2a
revert
UlysseCorbeil Feb 20, 2026
7a53ff2
revert
UlysseCorbeil Feb 20, 2026
266454a
scripts
UlysseCorbeil Feb 20, 2026
48b9bf8
change
UlysseCorbeil Feb 20, 2026
c5a795b
run
UlysseCorbeil Feb 20, 2026
fc540dc
fix path
UlysseCorbeil Feb 20, 2026
5d740ad
paths
UlysseCorbeil Feb 20, 2026
24b9059
changes
UlysseCorbeil Feb 20, 2026
c0ca709
fix script path
UlysseCorbeil Feb 20, 2026
94b472c
add cd into logs
UlysseCorbeil Feb 20, 2026
472dda1
more paths
UlysseCorbeil Feb 20, 2026
0688dae
add cp
UlysseCorbeil Feb 20, 2026
ee23272
shutdown previous
UlysseCorbeil Feb 20, 2026
ece1efa
test with cp
UlysseCorbeil Feb 20, 2026
cecf00e
clean firehose
UlysseCorbeil Feb 20, 2026
db769f5
wait more time
UlysseCorbeil Feb 20, 2026
cd83b18
rm cleanup for now
UlysseCorbeil Feb 20, 2026
5ba9f22
change exports
UlysseCorbeil Feb 20, 2026
96e3b24
fixes
UlysseCorbeil Feb 20, 2026
46077a7
sleep longer
UlysseCorbeil Feb 20, 2026
98e9991
try smoketest
UlysseCorbeil Feb 20, 2026
b6786eb
sleep
UlysseCorbeil Feb 20, 2026
49f145c
add configs to battlefields
UlysseCorbeil Feb 20, 2026
cac0a65
add forkpoint
UlysseCorbeil Feb 20, 2026
52dde09
30 secs
UlysseCorbeil Feb 20, 2026
bfecb13
update forkpoint genesis
UlysseCorbeil Feb 20, 2026
e258b71
match with conf
UlysseCorbeil Feb 20, 2026
0a73147
validator epoch
UlysseCorbeil Feb 20, 2026
3d19fb1
move
UlysseCorbeil Feb 20, 2026
a3912e5
cleanup
UlysseCorbeil Feb 20, 2026
3876438
revert
UlysseCorbeil Feb 20, 2026
09b7fcc
remove copies
UlysseCorbeil Feb 20, 2026
8bf62af
add exports
UlysseCorbeil Feb 20, 2026
97f3455
silence creating
UlysseCorbeil Feb 20, 2026
97560f4
change ord
UlysseCorbeil Feb 20, 2026
a4efb5d
revert
UlysseCorbeil Feb 20, 2026
57f5196
remove monad dev from snapsh
UlysseCorbeil Feb 20, 2026
26e0535
update scripts and refactor
UlysseCorbeil Feb 23, 2026
ac08907
fix paths
UlysseCorbeil Feb 23, 2026
2144a13
more paths
UlysseCorbeil Feb 23, 2026
a421e21
fix profile json
UlysseCorbeil Feb 23, 2026
b850e19
stop firehose containers before
UlysseCorbeil Feb 23, 2026
8f781e9
update images
UlysseCorbeil Feb 23, 2026
817ef3a
add a local git ignore
UlysseCorbeil Feb 23, 2026
5db9e01
change order
UlysseCorbeil Feb 23, 2026
50137a0
add genesis
UlysseCorbeil Feb 23, 2026
be5645f
add monad check
UlysseCorbeil Feb 23, 2026
a7bafbc
remove nested schemas
UlysseCorbeil Feb 24, 2026
539970d
add back validator
UlysseCorbeil Feb 24, 2026
f83b626
fix gitignore
UlysseCorbeil Feb 24, 2026
c192313
remove valids
UlysseCorbeil Feb 24, 2026
27bce31
ignore forkpoitn gensis
UlysseCorbeil Feb 24, 2026
1277d26
add --remove-orphans flag
UlysseCorbeil Feb 24, 2026
764abdb
remvoe triedb
UlysseCorbeil Feb 24, 2026
9143729
remove orphans flag, too aggressive
UlysseCorbeil Feb 24, 2026
91a6bb3
remove genesis from git cache
UlysseCorbeil Feb 24, 2026
6cd3603
change node.toml values
UlysseCorbeil Feb 24, 2026
08adc38
copy forkpoints
UlysseCorbeil Feb 24, 2026
855f8f4
remove copy
UlysseCorbeil Feb 24, 2026
f46ef9f
rm orphans
UlysseCorbeil Feb 24, 2026
95c9d10
test empty
UlysseCorbeil Feb 24, 2026
4d3286a
minimal validator sets
UlysseCorbeil Feb 24, 2026
0f01c41
add peer
UlysseCorbeil Feb 24, 2026
8678ad0
try expand
UlysseCorbeil Feb 24, 2026
00aa349
revert
UlysseCorbeil Feb 24, 2026
76b3d44
rm delete
UlysseCorbeil Feb 24, 2026
c6e3e87
revert
UlysseCorbeil Feb 24, 2026
780a063
ping
UlysseCorbeil Feb 24, 2026
fa5cc6d
reset genesis
UlysseCorbeil Feb 24, 2026
1e33dcf
remove file before copy
UlysseCorbeil Feb 24, 2026
95faaf5
Merge branch 'master' into feature/add-monad
UlysseCorbeil Feb 25, 2026
8bbdd2c
test without fields
UlysseCorbeil Feb 25, 2026
49281bc
test
UlysseCorbeil Feb 25, 2026
e80a227
remove fields
UlysseCorbeil Feb 25, 2026
8141f87
revert
UlysseCorbeil Feb 25, 2026
ba16950
revert
UlysseCorbeil Feb 25, 2026
895f512
try again
UlysseCorbeil Feb 25, 2026
7b3d95d
fix typo
UlysseCorbeil Feb 25, 2026
d31b41f
test
UlysseCorbeil Feb 25, 2026
854ef57
revert
UlysseCorbeil Feb 25, 2026
e58dd26
ttry with diff account
UlysseCorbeil Feb 25, 2026
23f68bd
test
UlysseCorbeil Feb 25, 2026
9e539a7
script test
UlysseCorbeil Feb 25, 2026
6197bcd
revert back
UlysseCorbeil Feb 25, 2026
e187be3
remove
UlysseCorbeil Feb 25, 2026
7eac2af
add debug
UlysseCorbeil Feb 25, 2026
499d317
console logs
UlysseCorbeil Feb 25, 2026
c321951
try new fields
UlysseCorbeil Feb 25, 2026
f2cc4e7
remove console log
UlysseCorbeil Feb 25, 2026
90bcc66
ordinals
UlysseCorbeil Feb 25, 2026
ad08fa3
test
UlysseCorbeil Feb 25, 2026
d19b568
funds test
UlysseCorbeil Feb 25, 2026
5a9c556
useless flag
UlysseCorbeil Feb 25, 2026
c81c45d
add back old conf
UlysseCorbeil Feb 25, 2026
9169916
add funds
UlysseCorbeil Feb 25, 2026
64fab71
remove gas values for monad as test
UlysseCorbeil Feb 27, 2026
d83dbe5
revert
UlysseCorbeil Feb 27, 2026
2fe6ae6
monad-dev snapshot base
UlysseCorbeil Mar 3, 2026
5d8c276
contract transfers
UlysseCorbeil Mar 4, 2026
c19361f
top level flags
UlysseCorbeil Mar 6, 2026
8f8ffb1
update pb temporary with :local
UlysseCorbeil Mar 6, 2026
3a696ad
add exclude for new pb field
UlysseCorbeil Mar 6, 2026
8ae2cc0
update contract transfers with custom reason
UlysseCorbeil Mar 6, 2026
b1f75f3
calls
UlysseCorbeil Mar 6, 2026
5df48e4
deploys --need-retouch
UlysseCorbeil Mar 6, 2026
1675cc5
Merge branch 'master' into feature/add-monad
UlysseCorbeil Mar 10, 2026
003eda4
Logs
UlysseCorbeil Mar 10, 2026
b221937
Pure transfers
UlysseCorbeil Mar 10, 2026
2745e01
Suicide --need-ordinals-retouch
UlysseCorbeil Mar 10, 2026
0d0dddf
Storages
UlysseCorbeil Mar 10, 2026
c21b089
Gas
UlysseCorbeil Mar 12, 2026
015d0bb
Merge branch 'master' into feature/add-monad
UlysseCorbeil Mar 31, 2026
8963f70
update proto
UlysseCorbeil Apr 2, 2026
e79dfe5
Merge branch 'master' into feature/add-monad
UlysseCorbeil Apr 2, 2026
06ec44d
change name to right one and prague/cancun disable
UlysseCorbeil Apr 2, 2026
9da9a00
add new port to config
UlysseCorbeil Apr 3, 2026
9e576b2
add another missing port
UlysseCorbeil Apr 3, 2026
8ff98bd
update record sig with new generated
UlysseCorbeil Apr 3, 2026
352eb88
update again
UlysseCorbeil Apr 3, 2026
8749570
add looping logic
UlysseCorbeil Apr 3, 2026
548c3be
better detection for firehose readiness
UlysseCorbeil Apr 3, 2026
cb459e0
remove dead code
UlysseCorbeil Apr 7, 2026
b40a222
snapshots update
UlysseCorbeil Apr 8, 2026
6bcc5ab
changes
UlysseCorbeil Apr 9, 2026
2e411a6
latest imasge
UlysseCorbeil Apr 9, 2026
b5a7b26
prague monad guards
UlysseCorbeil Apr 9, 2026
de256af
add more funds
UlysseCorbeil Apr 9, 2026
676b1da
updated battlefield for monad
UlysseCorbeil Apr 13, 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
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ Battlefield supports testing across various forks of Ethereum. Usually, you need
| Polygon (fh 3.0) | `./scripts/run_firehose_polygon.sh` | `pnpm test:fh3.0:polygon-dev`, ` ./scripts/polygon-bridge` | Heavy on dependencies (kurtosis, cast, polycli, bats...) |
| Besu (fh 3.0) | `./scripts/run_firehose_besu_devnet.sh` | `pnpm test:fh3.0:besu-devnet` | Requires [besu](https://besu.hyperledger.org/) binary, [builder-playground](https://github.com/flashbots/builder-playground) |
| Optimism Devnet (fh 3.0) | `./scripts/optimism/run_optimism_devnet.sh` then `./scripts/run_firehose_optimism_devnet.sh`. | `pnpm test:fh3.0:optimism-devnet` | Requires [builder-playground](https://github.com/flashbots/builder-playground) |
| Monad (fh 3.0) | `./scripts/run_monad_devnet.sh` | `pnpm test:fh3.0:monad-dev` | Requires Monad node with event ring enabled |

After each test, you should also run:

Expand Down
8 changes: 8 additions & 0 deletions hardhat.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,14 @@ const config: HardhatUserConfig = {
"polygon-dev": firehoseNetwork([]),
"optimism-devnet": { ...firehoseNetwork([]), url: "http://127.0.0.1:8547" },
"besu-devnet": { ...firehoseNetwork([]), url: "http://127.0.0.1:8545" },
"monad-dev": {
Comment thread
UlysseCorbeil marked this conversation as resolved.
...firehoseNetwork([]),
url: "http://127.0.0.1:18080",
// accounts: [
// ^ // Foundry pre-funded account with massive balance on localnet
// "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80",
// ],
},
},

mocha: {
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"test:fh3.0:optimism-geth-dev": "cross-env SNAPSHOTS_TAG=fh3.0/optimism-geth-dev hardhat test --network optimism-geth-dev",
"test:fh3.0:besu-devnet": "cross-env SNAPSHOTS_TAG=fh3.0/besu-devnet hardhat test --network besu-devnet",
"test:fh3.0:amoy": "cross-env SNAPSHOTS_TAG=fh3.0/amoy hardhat test --network amoy",
"test:fh3.0:monad-dev": "cross-env SNAPSHOTS_TAG=fh3.0/monad-dev bash scripts/run_monad_devnet.sh",
"test:fh2.3:arbitrum-geth-dev": "cross-env SNAPSHOTS_TAG=fh2.3/arbitrum-geth-dev hardhat test --network arbitrum-geth-dev"
},
"keywords": [],
Expand Down Expand Up @@ -65,4 +66,4 @@
"pnpm": {
"onlyBuiltDependencies": ["c-kzg", "keccak", "secp256k1"]
}
}
}
50 changes: 47 additions & 3 deletions pb/sf/ethereum/type/v2/type_pb.ts

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions scripts/lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ private_key_to_fund="${PRIVATE_KEY_TO_FUND:-"0x52e1cc4b9c8b4fc9b202adf06462bdcc2
# FIXME: Ideally we would derive the address from the private key to fund directly, for now, they must both match
address_to_fund="${ADDRESS_TO_FUND:-"0x821b55d8abe79bc98f05eb675fdc50dfe796b7ab"}"

monad_devnet_genesis_private_key="${MONAD_DEVNET_GENESIS_PRIVATE_KEY:-"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"}"

fireeth="${FIREETH_BINARY:-fireeth}"
geth="${GETH_BINARY:-geth}"
nitro="${NITRO_BINARY:-nitro}"
Expand Down Expand Up @@ -220,6 +222,15 @@ check_sd() {
fi
}

check_monad() {
if ! command -v "monad" &> /dev/null; then
echo ""
echo "The 'monad' binary could not be found."
echo ""
exit 1
fi
}

check_builder_playground() {
if ! command -v builder-playground &> /dev/null; then
echo "The 'builder-playground' command is required for this script, please install it"
Expand Down
46 changes: 46 additions & 0 deletions scripts/monad-devnet/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Monad Devnet Setup for Battlefield Testing

Before running the Monad battlefield tests, ensure you have a monad node configured. ([Monad docs](https://docs.monad.xyz/node-ops/full-node-installation))
## Configuration Files

This directory contains pre-configured files for running Monad devnet:

[For all docs related](https://docs.monad.xyz/node-ops/)
- **node/node.toml** - Node configuration (peer discovery, statesync settings)
- **node/forkpoint.toml** - Genesis configuration
- **node/validators.toml** - Validator set configuration
- **node/id-bls** - BLS identity key
- **node/id-secp** - SECP256k1 identity key
- **node/profile.json** - Seccomp security profile
- **compose.yaml** - Docker Compose configuration for Monad services
- **compose.prebuilt.yaml** - Docker image overrides for images
- **docker-compose.localnet-firehose.yml** - Firehose and Substreams infrastructure

### Configuration Origins

Configuration files can be obtained from:

Validators: `https://bucket.monadinfra.com/validators/devnet/validators.toml`
Forkpoint: `https://bucket.monadinfra.com/forkpoint/devnet/forkpoint.toml`
Comment on lines +19 to +24
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are those "source" configs? This section is not super clear to me.


## Running Tests

Once setup is complete, run the Monad battlefield tests:
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it's docker, we should the instruction to run it (and the machine we use internally should use the same instructions).


```bash
pnpm test:fh3.0:monad-dev
```

The script will:
1. Validate your environment and prerequisites
2. Start Monad devnet containers
3. Wait for Monad RPC to be ready
4. Wait for the event ring to be created
5. Start Firehose infrastructure
6. Run the battlefield test suite

## Docker Images

- **monad-execution**: `ghcr.io/streamingfast/monad-execution:73ef8ec`
- **monad-node**: `ghcr.io/streamingfast/monad-node:eede85a`
- **monad-rpc**: `ghcr.io/streamingfast/monad-rpc:eede85a`
11 changes: 11 additions & 0 deletions scripts/monad-devnet/compose.prebuilt.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
services:
build_triedb:
image: ghcr.io/streamingfast/monad-execution:cb8a4ce
build_genesis:
image: ghcr.io/streamingfast/monad-execution:cb8a4ce
monad_execution:
image: ghcr.io/streamingfast/monad-execution:cb8a4ce
monad_node:
image: ghcr.io/streamingfast/monad-node:d090722
monad_rpc:
image: ghcr.io/streamingfast/monad-rpc:d090722
114 changes: 114 additions & 0 deletions scripts/monad-devnet/compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
services:
build_triedb:
image: monad-execution-builder:latest
command: monad-mpt --storage /monad/triedb/test.db --create
volumes:
- /dev/hugepages/monad-localnet:/monad/event-ring
- ./node:/monad
security_opt:
- "seccomp:./node/config/profile.json"

build_genesis:
image: monad-execution-builder:latest
depends_on:
build_triedb:
condition: service_completed_successfully
volumes:
- /dev/hugepages/monad-localnet:/monad/event-ring
- ./node:/monad
security_opt:
- "seccomp:./node/config/profile.json"
command:
monad
--chain monad_devnet
--db /monad/triedb/test.db
--block_db /monad/ledger
--nblocks 0
--log_level ERROR
ulimits:
memlock:
soft: "16770785280"
hard: "16770785280"

monad_execution:
image: monad-execution-builder:latest
depends_on:
build_triedb:
condition: service_completed_successfully
build_genesis:
condition: service_completed_successfully
volumes:
- /dev/hugepages/monad-localnet:/monad/event-ring
- ./node:/monad
security_opt:
- "seccomp:./node/config/profile.json"
command: |
monad
--chain monad_devnet
--db /monad/triedb/test.db
--block_db /monad/ledger
--statesync /monad/statesync.sock
--exec-event-ring /monad/event-ring/monad-events
--trace-calls
--log_level ERROR
ulimits:
memlock:
soft: "16770785280"
hard: "16770785280"

monad_node:
image: monad-node:latest
depends_on:
- build_triedb
- monad_execution
environment:
- RUST_LOG=
volumes:
- /dev/hugepages/monad-localnet:/monad/event-ring
- ./node:/monad
security_opt:
- "seccomp:./node/config/profile.json"
command: |
monad-node
--secp-identity /monad/config/id-secp
--bls-identity /monad/config/id-bls
--node-config /monad/config/node.toml
--forkpoint-config /monad/config/forkpoint.genesis.toml
--validators-path /monad/config/validators.toml
--statesync-ipc-path /monad/statesync.sock
--wal-path /monad/wal
--mempool-ipc-path /monad/mempool.sock
--control-panel-ipc-path /monad/controlpanel.sock
--ledger-path /monad/ledger
--triedb-path /monad/triedb
--persisted-peers-path /monad/peers
ulimits:
memlock:
soft: "16770785280"
hard: "16770785280"

monad_rpc:
image: monad-rpc:latest
depends_on:
- build_triedb
- monad_node
volumes:
- /dev/hugepages/monad-localnet:/monad/event-ring
- ./node:/monad
security_opt:
- "seccomp:./node/config/profile.json"
ports:
- "18080:8080"
command: |
monad-rpc
--ipc-path /monad/mempool.sock
--triedb-path /monad/triedb
--node-config /monad/config/node.toml
ulimits:
memlock:
soft: "16770785280"
hard: "16770785280"

networks:
default:
driver: bridge
108 changes: 108 additions & 0 deletions scripts/monad-devnet/docker-compose.localnet-firehose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
version: "3.9"

services:
localnet-firehose:
image: ghcr.io/streamingfast/evm-firehose-tracer-rs/monad:d05cc89
container_name: monad-localnet-extended-firehose
environment:
- MONAD_TRACER_LOG=1
entrypoint: ["/app/fireeth"]
command:
- start
- reader-node
Comment on lines +10 to +12
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Who runs the merger here exactly? Also, here is very little gain in having all the component separated in the case of simple tests like this.

It would be good though if you could bring this more extensive deployment to the firehose-docs repository, improving the HA component (but using dummy-blockchain as demo).

- --config-file=
- --log-to-file=false
- --data-dir=/data/firehose
- --common-first-streamable-block=76
- --common-one-block-store-url=file:///data/firehose/storage/one-blocks
- --reader-node-path=/app/monad-firehose-tracer
- --reader-node-data-dir=/data/firehose/reader
- --reader-node-working-dir=/data/firehose/work
- --reader-node-grpc-listen-addr=:9000
- --reader-node-manager-api-addr=:8081
- --reader-node-blocks-chan-capacity=1000
- --reader-node-arguments=--debug --chain-id=20143 --network-name=monad-localnet --monad-event-ring-path=/dev/hugepages/monad-localnet/monad-events --buffer-size=524288
- --metrics-listen-addr=:9102
volumes:
- ../../localnet-firehose-data:/data/firehose
- /dev/hugepages/monad-localnet:/dev/hugepages/monad-localnet:ro
ports:
- "10000:9000"
- "10102:9102"
restart: unless-stopped

localnet-firehose-api:
image: ghcr.io/streamingfast/evm-firehose-tracer-rs/monad:d05cc89
container_name: monad-localnet-extended-firehose-api
entrypoint: ["/app/fireeth"]
command:
- start
- firehose
- --config-file=
- --log-to-file=false
- --data-dir=/data/firehose
- --common-first-streamable-block=76
- --advertise-chain-name=monad-localnet
- --ignore-advertise-validation
- --common-one-block-store-url=file:///data/firehose/storage/one-blocks
- --common-live-blocks-addr=localnet-firehose:9000
- --firehose-grpc-listen-addr=:20028
- --metrics-listen-addr=:9103
volumes:
- ../../localnet-firehose-data:/data/firehose
ports:
- "20028:20028"
- "10103:9103"
depends_on:
- localnet-firehose
restart: unless-stopped

localnet-substreams-tier2:
image: ghcr.io/streamingfast/evm-firehose-tracer-rs/monad:d05cc89
container_name: monad-localnet-substreams-tier2
entrypoint: ["/app/fireeth"]
command:
- start
- substreams-tier2
- --config-file=
- --log-to-file=false
- --data-dir=/data/substreams
- --common-first-streamable-block=76
- --common-one-block-store-url=file:///data/firehose/storage/one-blocks
- --common-merged-blocks-store-url=file:///data/firehose/storage/merged-blocks
- --common-live-blocks-addr=
- --substreams-tier2-grpc-listen-addr=:10017
volumes:
- ../../localnet-firehose-data:/data/firehose
- ../../localnet-substreams-data:/data/substreams
ports:
- "10017:10017"
restart: unless-stopped

localnet-substreams-tier1:
image: ghcr.io/streamingfast/evm-firehose-tracer-rs/monad:d05cc89
container_name: monad-localnet-substreams-tier1
entrypoint: ["/app/fireeth"]
command:
- start
- substreams-tier1
- --config-file=
- --log-to-file=false
- --data-dir=/data/substreams
- --common-first-streamable-block=76
- --common-one-block-store-url=file:///data/firehose/storage/one-blocks
- --common-merged-blocks-store-url=file:///data/firehose/storage/merged-blocks
- --common-live-blocks-addr=
- --ignore-advertise-validation
- --substreams-tier1-grpc-listen-addr=:10016
- --substreams-tier1-subrequests-endpoint=localnet-substreams-tier2:10017
- --substreams-tier1-subrequests-plaintext
- --substreams-tier1-block-type=sf.ethereum.type.v2.Block
volumes:
- ../../localnet-firehose-data:/data/firehose
- ../../localnet-substreams-data:/data/substreams
ports:
- "10016:10016"
depends_on:
- localnet-substreams-tier2
restart: unless-stopped
14 changes: 14 additions & 0 deletions scripts/monad-devnet/node/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
ledger/
triedb/
event-ring/

config/*.rlp
config/*.rlp.*
config/forkpoint.toml.*
config/forkpoint.genesis.toml
config/forkpoint.genesis.toml.*
config/validators.toml.*

*.sock

wal_*
13 changes: 13 additions & 0 deletions scripts/monad-devnet/node/config/forkpoint.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
root = "0x0000000000000000000000000000000000000000000000000000000000000000"
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be good to have the recipe to recreate those files or how they were created.

If possible, a script monad_devnet/init_dev.sh or something like should be used to encode all that. If it's all taken from configuration/readme/docs, then the script should just echo a bunch of instructions some from of README.md


[high_certificate.Qc]
signatures = "0xf865c28080b860c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"

[high_certificate.Qc.info]
id = "0x0000000000000000000000000000000000000000000000000000000000000000"
round = 0
epoch = 1

[[validator_sets]]
epoch = 1
round = 0
Loading