Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(code/starknet): Starknet interoperability #868

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

ancazamfir
Copy link
Collaborator

Closes: #XXX

Temporary PR for progress on interop with Starknet


PR author checklist

For all contributors

For external contributors

@ancazamfir
Copy link
Collaborator Author

ancazamfir commented Feb 19, 2025

Setup and run

Start one starknet (bootstrap) node and one Malachite node:

  • Starknet code
git clone https://github.com/starkware-libs/sequencer.git
cd sequencer
git co shahak/for_informalsystems/mock_batcher_to_return_empty_proposals
  • export NUM_VALIDATORS=3
  • Start the starkent bootstrap node with:
cargo run --bin starknet_sequencer_node -- --chain_id MY_CUSTOM_CHAIN_ID --eth_fee_token_address 0x1001 --strk_fee_token_address 0x1002 --recorder_url http://invalid_address.com --base_layer_config.node_url http://invalid_address.com --batcher_config.storage.db_config.path_prefix ./batcher_data --class_manager_config.class_storage_config.class_hash_storage_config.path_prefix ./class_manager_data --state_sync_config.storage_config.db_config.path_prefix ./sync_data --consensus_manager_config.network_config.tcp_port 27000 --mempool_p2p_config.network_config.tcp_port 11000 --state_sync_config.network_config.tcp_port 12000 --http_server_config.port 13000 --monitoring_endpoint_config.port 14000 --consensus_manager_config.network_config.secret_key 0x1111111111111111111111111111111111111111111111111111111111111111 --state_sync_config.network_config.secret_key 0x2222222222222222222222222222222222222222222222222222222222222222 --validator_id 0x64 --consensus_manager_config.context_config.num_validators $NUM_VALIDATORS
  • Initialize a 3 node malachite network:
cargo run --bin informalsystems-malachitebft-starknet-app -- testnet --home nodes --nodes 3
  • Start malachite node 2:
cargo run --bin informalsystems-malachitebft-starknet-app -q -- start --home nodes/2

Current state

  • Starknet bootstrap closing connection:
2025-02-19T19:16:14.230928Z  WARN papyrus_network::network_manager: Incoming connection error. connection id: ConnectionId(1), local addr: /ip4/127.0.0.1/tcp/27000, send back addr: /ip4/127.0.0.1/tcp/58862, error: Transport(Other(Custom { kind: Other, error: Other(Transport(Left(Right(Apply(InvalidKey(DecodingError { msg: "cargo feature `ecdsa` is not enabled", source: None })))))) }))
  • Malachite node noticing
2025-02-19T19:16:14.230664Z DEBUG node{moniker=test-2}:network{peer=QmRw9Db7fvy1R2Ge9Q5jKkZeYEixyUEazTuGByX8mPAp72}: Connected to 12D3KooWPqT2nMDSiXUSx5D7fasaxhxKigVhcqfkKqrLghCq9jxz with connection 7
2025-02-19T19:16:14.231095Z  WARN node{moniker=test-2}:network{peer=QmRw9Db7fvy1R2Ge9Q5jKkZeYEixyUEazTuGByX8mPAp72}: Connection closed with 12D3KooWPqT2nMDSiXUSx5D7fasaxhxKigVhcqfkKqrLghCq9jxz, reason: Connection error: I/O error: i/o error: Broken pipe (os error 32)

cc @romac

@romac
Copy link
Member

romac commented Feb 19, 2025

@romac
Copy link
Member

romac commented Feb 20, 2025

I can do the switch to Ed25519, but will keep the ECDSA implementation around in case we ever need to switch back to it.

@romac romac changed the title code(interop): starknet interop feat(code/starknet): Starknet interoperability Feb 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants