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

[wip] upgrade to [email protected] #565

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

Conversation

dignifiedquire
Copy link
Contributor

@dignifiedquire dignifiedquire commented Mar 10, 2025

Upgrade iroh to the latest version of 0.34.

See #557 for the original design discussion.

Closes #557

Current Design

https://number-zero.notion.site/recall-iroh-0-33-upgrade-1b95df1306fb8066be57dfa7b49fae1f?pvs=4

Notes

This includes a breaking wire change for iroh, so all participants need to use the latest version of this, once merged.
The change is the usage of raw public keys in the TLS setup, for details you can check out https://www.iroh.computer/blog/iroh-0-34-0-raw-public-keys

Related PRs

Open Tasks

  • green CI
  • cleanup
  • fix syscall interface
  • check for places that the new blobs tags API can be used

@dignifiedquire dignifiedquire changed the title [wip] upgrade to [email protected] [wip] upgrade to [email protected] Mar 19, 2025
@dignifiedquire
Copy link
Contributor Author

Run make license
./scripts/add_license.sh
recall/iroh_manager/src/lib.rs was missing Protocol Labs
recall/iroh_manager/src/manager.rs was missing Protocol Labs
recall/iroh_manager/src/node.rs was missing Protocol Labs
make: *** [Makefile:28: license] Error 1

why do new files need to include Protocol Labs in the headers?

@sanderpick
Copy link
Member

Run make license
./scripts/add_license.sh
recall/iroh_manager/src/lib.rs was missing Protocol Labs
recall/iroh_manager/src/manager.rs was missing Protocol Labs
recall/iroh_manager/src/node.rs was missing Protocol Labs
make: *** [Makefile:28: license] Error 1

why do new files need to include Protocol Labs in the headers?

it's just a check inherited from upstream ipc :/ we've tried to not diverge unless necessary, but this one is annoying. once ipc is modularized as a lib, we'll move our logic elsewhere and rejoice.

Makefile Outdated
run-devnet-fendermint:
rm -rf ~/.fendermint/data/rocksdb
FM_NETWORK=test \
FM_TRACING__CONSOLE__LEVEL=info,fendermint=debug,recall_executor=debug \
FM_VALIDATOR_KEY__PATH=keys/validator.sk \
FM_VALIDATOR_KEY__KIND=regular \
FM_RESOLVER__CONNECTION__LISTEN_ADDR=/ip4/127.0.0.1/tcp/3001 \
./target/release/fendermint run --iroh-addr 127.0.0.1:4919
./target/release/fendermint run --iroh-path iroh-resolver-path # TODO: what path
Copy link
Contributor Author

Choose a reason for hiding this comment

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

not sure what path to use here, please advise

Copy link
Member

Choose a reason for hiding this comment

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

for devnet, I think .config/recall/data/iroh makes sense. I guess we need two paths right? one for each iroh instance. .config/recall/data/iroh-staging and .config/recall/data/iroh-chain ?

for the 3-node localnet setup, i can help there... it's kind of a pain to deal with the cargo make scripts

Copy link
Contributor Author

Choose a reason for hiding this comment

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

for the 3-node localnet setup, i can help there... it's kind of a pain to deal with the cargo make scripts

I think I have that part figured out, but definitely needs review 😅

// this env var must be set for the blobs_syscall to work. the CLI has a default and accepts
// an override via the env variable, but it doesn't require it's set, so we ensure it here
std::env::set_var("IROH_SYSCALL_PATH", self.iroh_path.clone());
run(settings, self.iroh_path.clone()).await
Copy link
Contributor Author

Choose a reason for hiding this comment

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

TODO: this will not work, as this will result in a second iroh instance trying to access an already running iroh setup

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.

Upgrading iroh to 0.33
2 participants