Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@ jobs:
- name: RPC publication-gate tests
run: python3 scripts/test_rpc_check.py

- name: Native RPC replica finality
run: scripts/test_native_rpc_cluster.sh

- name: Reproduce sparse conformance vectors
run: |
cargo run --example conformance_vectors
Expand Down
131 changes: 131 additions & 0 deletions Cargo.lock

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

7 changes: 7 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,10 @@ include = [
"artifacts/*.json",
"conformance/**",
"scripts/benchmark_sparse.py",
"scripts/check_rpc.py",
"scripts/soundness_budget.py",
"scripts/test_native_rpc_cluster.sh",
"scripts/test_rpc_check.py",
"scripts/test_sparse_verifier.py",
"scripts/verify_sparse_certificate.py",
"src/**",
Expand All @@ -40,11 +43,13 @@ net = [
"dep:base64",
"dep:ed25519-dalek",
"dep:futures",
"dep:k256",
"dep:libp2p",
"dep:once_cell",
"dep:rand_core",
"dep:reqwest",
"dep:reed-solomon-erasure",
"dep:rlp",
"dep:rpassword",
"dep:thiserror",
"dep:tokio",
Expand All @@ -64,6 +69,7 @@ blake2 = "0.10"
ed25519-dalek = { version = "2", features = ["rand_core"], optional = true }
futures = { version = "0.3", optional = true }
hex = "0.4"
k256 = { version = "0.13", features = ["ecdsa"], optional = true }
libp2p = { version = "0.53", default-features = false, features = [
"gossipsub",
"identify",
Expand All @@ -79,6 +85,7 @@ rand = "0.8"
rand_core = { version = "0.6", optional = true }
reqwest = { version = "0.11", default-features = false, features = ["json", "rustls-tls"], optional = true }
reed-solomon-erasure = { version = "6", optional = true }
rlp = { version = "0.5", optional = true }
rpassword = { version = "7", optional = true }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
Expand Down
20 changes: 20 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,25 @@ julian net start \
--key ed25519://<seed>
```

The native wallet lane accepts signed EIP-1559 transfers and exposes only
quorum-finalized blocks, balances, nonces, transactions, and receipts:

```bash
julian net start \
--node-id <node_id> \
--log-dir ./logs/<node_id> \
--blob-dir ./data/<node_id> \
--listen /ip4/0.0.0.0/tcp/7001 \
--policy ./config/native-validators.json \
--quorum 2 \
--evm-chain-id 177155 \
--evm-rpc-listen 127.0.0.1:8545 \
--key ed25519://<seed>
```

Run `scripts/test_native_rpc_cluster.sh` to verify three independent replicas
produce the same finalized block hash, state root, balances, and receipt.

Operations and migration procedures are documented in
[Operations](docs/ops.md) and [Mainnet Launch](docs/mainnet_launch.md).

Expand All @@ -124,6 +143,7 @@ Operations and migration procedures are documented in
- [Research Protocol](docs/research_protocol.md)
- [Orbital Observatory](docs/orbital_observatory.md)
- [Operations](docs/ops.md)
- [RPC Operations](docs/rpc_operations.md)

## License

Expand Down
9 changes: 6 additions & 3 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,18 @@ services:
"net", "start",
"--node-id", "node3",
"--log-dir", "/data/logs",
"--blob-dir", "/data/blob",
"--listen", "/ip4/0.0.0.0/tcp/7003",
"--bootstrap", "/ip4/137.184.33.2/tcp/7001/p2p/12D3KooWLASw1JVBdDFNATYDJMbAn69CeWieTBLxAKaN9eLEkh3q",
"--bootstrap", "/ip4/146.190.126.101/tcp/7002/p2p/12D3KooWRLM7PJrtjRM6NZPX8vmdu4YGJa9D6aPoEnLcE1o6aKCd",
"--broadcast-interval", "1500",
"--quorum", "7",
"--quorum", "1",
"--key", "ed25519://docker-node3",
"--evm-chain-id", "177155",
"--evm-rpc-listen", "0.0.0.0:8545",
"--metrics", ":9100"
]
ports:
- "7003:7003"
- "8545:8545"
- "9103:9100"
volumes:
- ./docker/node3:/data
8 changes: 4 additions & 4 deletions docs/community_onboarding.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ docker run -it --rm \
--node-id node3 \
--log-dir /data/logs \
--listen /ip4/0.0.0.0/tcp/7003 \
--bootstrap /ip4/137.184.33.2/tcp/7001/p2p/12D3KooWLASw1JVBdDFNATYDJMbAn69CeWieTBLxAKaN9eLEkh3q \
--bootstrap /ip4/146.190.126.101/tcp/7002/p2p/12D3KooWRLM7PJrtjRM6NZPX8vmdu4YGJa9D6aPoEnLcE1o6aKCd \
--bootstrap <BOOTSTRAP_MULTIADDR_1> \
--bootstrap <BOOTSTRAP_MULTIADDR_2> \
--broadcast-interval 1500 \
--quorum 7 \
--metrics :9100
Expand All @@ -44,8 +44,8 @@ julian net start \
--node-id node3 \
--log-dir ./logs/node3 \
--listen /ip4/0.0.0.0/tcp/7003 \
--bootstrap /ip4/137.184.33.2/tcp/7001/p2p/12D3KooWLASw1JVBdDFNATYDJMbAn69CeWieTBLxAKaN9eLEkh3q \
--bootstrap /ip4/146.190.126.101/tcp/7002/p2p/12D3KooWRLM7PJrtjRM6NZPX8vmdu4YGJa9D6aPoEnLcE1o6aKCd \
--bootstrap <BOOTSTRAP_MULTIADDR_1> \
--bootstrap <BOOTSTRAP_MULTIADDR_2> \
--broadcast-interval 1500 \
--quorum 7 \
--metrics :9100
Expand Down
6 changes: 3 additions & 3 deletions docs/mainnet_launch.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ systemctl enable --now powerhouse-healthcheck@boot2.timer powerhouse-backup@boot

## Networking and Discovery
- Open inbound TCP 7001 (boot1) and 7002 (boot2) in cloud firewall and any host firewall (UFW/iptables).
- Keep DNS seeds resolving to the public IPs: `137.184.33.2`, `146.190.126.101`.
- Publish current DNS seeds and peer IDs before announcing a join command.
- Optional: add more geographically distributed boot nodes to improve initial connectivity.

## Monitoring and Verification
Expand Down Expand Up @@ -98,8 +98,8 @@ julian net start \
--node-id node \
--log-dir ./logs/node \
--listen /ip4/0.0.0.0/tcp/0 \
--bootstrap /ip4/137.184.33.2/tcp/7001/p2p/12D3KooWLASw1JVBdDFNATYDJMbAn69CeWieTBLxAKaN9eLEkh3q \
--bootstrap /ip4/146.190.126.101/tcp/7002/p2p/12D3KooWRLM7PJrtjRM6NZPX8vmdu4YGJa9D6aPoEnLcE1o6aKCd \
--bootstrap <BOOTSTRAP_MULTIADDR_1> \
--bootstrap <BOOTSTRAP_MULTIADDR_2> \
--broadcast-interval 5000 \
--quorum 2 \
--metrics :9100
Expand Down
Loading