Skip to content

Conversation

@moliholy
Copy link
Collaborator

@moliholy moliholy commented Nov 11, 2025

This PR enables the following:

pop up ink-node

So that ink-node and eth-rpc processes are started. The command allows configuring ports for both processes:

Screenshot 2025-11-11 at 21 42 31

@moliholy moliholy self-assigned this Nov 11, 2025
@moliholy moliholy force-pushed the feat/ink-node-bootstrap branch from f50861b to cbf7f86 Compare November 11, 2025 21:02
@codecov
Copy link

codecov bot commented Nov 11, 2025

Codecov Report

❌ Patch coverage is 22.10526% with 74 lines in your changes missing coverage. Please review.
✅ Project coverage is 76.29%. Comparing base (268aa99) to head (4bee840).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
crates/pop-cli/src/commands/up/contract.rs 22.58% 72 Missing ⚠️
crates/pop-cli/src/commands/mod.rs 0.00% 1 Missing ⚠️
crates/pop-cli/src/commands/up/mod.rs 0.00% 1 Missing ⚠️
@@            Coverage Diff             @@
##             main     #730      +/-   ##
==========================================
- Coverage   76.36%   76.29%   -0.07%     
==========================================
  Files         115      115              
  Lines       25857    25908      +51     
  Branches    25857    25908      +51     
==========================================
+ Hits        19745    19766      +21     
- Misses       3985     4015      +30     
  Partials     2127     2127              
Files with missing lines Coverage Δ
crates/pop-cli/src/commands/up/network.rs 17.08% <ø> (ø)
crates/pop-cli/src/commands/mod.rs 66.99% <0.00%> (-0.34%) ⬇️
crates/pop-cli/src/commands/up/mod.rs 70.40% <0.00%> (-0.73%) ⬇️
crates/pop-cli/src/commands/up/contract.rs 17.78% <22.58%> (+3.81%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@moliholy moliholy force-pushed the feat/ink-node-bootstrap branch from d9f549c to f13ad69 Compare November 11, 2025 23:29
@moliholy moliholy requested a review from al3mart November 12, 2025 14:14
Copy link
Member

@al3mart al3mart left a comment

Choose a reason for hiding this comment

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

It seems we are leaking the node logs into the terminal:

┌   Pop CLI : Launch a local Ink! node
│
▲  ⚠ The ink-node binary is not found.
│  
◇  📦 Would you like to source it automatically now?
│  Yes 
│
⚙  Local node started successfully:
│  portal: https://polkadot.js.org/apps/?rpc=ws://localhost:9944/#/explorer
│  logs: tail -f /tmp/.tmpXz104M
│  
⚙  Ethereum RPC node started successfully:
│  url: ws://localhost:8545
│  logs: tail -f /tmp/.tmpLZvMEc
│  
2025-11-12 15:53:30.794  INFO                 main sc_basic_authorship::basic_authorship: 🙌 Starting consensus session on top of parent 0xf66b2697e7d2e491d9162c8de9dbdd8293d44870fb82c18e3a3bb2f891ae3b9f (#0)
2025-11-12 15:53:30.795  INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: 🎁 Prepared block for proposing at 1 (1 ms) hash: 0x1013c318f22cc3de5e92ace11d39b1679e7a3c4a4c017e43b80a5e25943eae4a; parent_hash: 0xf66b…3b9f; end: NoMoreTransactions; extrinsics_count: 1
2025-11-12 15:53:30.796  INFO                 main sc_consensus_manual_seal::rpc: Consensus with no RPC sender success: CreatedBlock { hash: 0x1013c318f22cc3de5e92ace11d39b1679e7a3c4a4c017e43b80a5e25943eae4a, aux: ImportedAux { header_only: false, clear_justification_requests: false, needs_justification: false, bad_justification: false, is_new_best: true }, proof_size: 0 }
2025-11-12 15:53:30.796  INFO tokio-runtime-worker substrate: 🏆 Imported #1 (0xf66b…3b9f → 0x1013…ae4a)
2025-11-12 15:53:30.796  INFO tokio-runtime-worker txpool: maintain txs=(0, 0) a=1 i=0 views=[(1, 0, 0)] event=Finalized { hash: 0x1013c318f22cc3de5e92ace11d39b1679e7a3c4a4c017e43b80a5e25943eae4a, tree_route: [] } duration=228.662µs
2025-11-12 15:53:31.264  WARN tokio-runtime-worker libp2p_kad::behaviour: Failed to trigger bootstrap: No known peers.
2025-11-12 15:53:35.795  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #1 (0x1013…ae4a), finalized #1 (0x1013…ae4a), ⬇ 0 ⬆ 0
2025-11-12 15:53:40.796  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #1 (0x1013…ae4a), finalized #1 (0x1013…ae4a), ⬇ 0 ⬆ 0
2025-11-12 15:53:45.797  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #1 (0x1013…ae4a), finalized #1 (0x1013…ae4a), ⬇ 0 ⬆ 0
2025-11-12 15:53:49.275  INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: 🙌 Starting consensus session on top of parent 0x1013c318f22cc3de5e92ace11d39b1679e7a3c4a4c017e43b80a5e25943eae4a (#1)
2025-11-12 15:53:49.278  INFO tokio-runtime-worker sc_basic_authorship::basic_authorship: 🎁 Prepared block for proposing at 2 (2 ms) hash: 0xe85280724c5017fff6f115b0faecdd1e2083426ec994c97d48545c70703f5bfc; parent_hash: 0x1013…ae4a; end: NoMoreTransactions; extrinsics_count: 2
2025-11-12 15:53:49.278  INFO tokio-runtime-worker sc_consensus_manual_seal::rpc: Consensus with no RPC sender success: CreatedBlock { hash: 0xe85280724c5017fff6f115b0faecdd1e2083426ec994c97d48545c70703f5bfc, aux: ImportedAux { header_only: false, clear_justification_requests: false, needs_justification: false, bad_justification: false, is_new_best: true }, proof_size: 0 }
2025-11-12 15:53:49.278  INFO tokio-runtime-worker substrate: 🏆 Imported #2 (0x1013…ae4a → 0xe852…5bfc)
2025-11-12 15:53:49.279  INFO tokio-runtime-worker txpool: maintain txs=(0, 1) a=1 i=1 views=[(2, 0, 0)] event=NewBestBlock { hash: 0xe85280724c5017fff6f115b0faecdd1e2083426ec994c97d48545c70703f5bfc, tree_route: None } duration=825.961µs
2025-11-12 15:53:50.279  INFO tokio-runtime-worker sc_consensus_manual_seal::finalize_block: ✅ Successfully finalized block: 0xe852…5bfc
2025-11-12 15:53:50.280  INFO tokio-runtime-worker sc_consensus_manual_seal::rpc: Consensus with no RPC sender success: ()
2025-11-12 15:53:50.280  INFO tokio-runtime-worker txpool: maintain txs=(0, 0) a=1 i=0 views=[(2, 0, 0)] event=Finalized { hash: 0xe85280724c5017fff6f115b0faecdd1e2083426ec994c97d48545c70703f5bfc, tree_route: [] } duration=111.238µs
2025-11-12 15:53:50.798  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #2 (0xe852…5bfc), finalized #2 (0xe852…5bfc), ⬇ 0 ⬆ 0
2025-11-12 15:53:55.799  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #2 (0xe852…5bfc), finalized #2 (0xe852…5bfc), ⬇ 0 ⬆ 0
2025-11-12 15:54:00.800  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #2 (0xe852…5bfc), finalized #2 (0xe852…5bfc), ⬇ 0 ⬆ 0
2025-11-12 15:54:05.801  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #2 (0xe852…5bfc), finalized #2 (0xe852…5bfc), ⬇ 0 ⬆ 0
2025-11-12 15:54:10.801  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #2 (0xe852…5bfc), finalized #2 (0xe852…5bfc), ⬇ 0 ⬆ 0
2025-11-12 15:54:15.802  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #2 (0xe852…5bfc), finalized #2 (0xe852…5bfc), ⬇ 0 ⬆ 0
2025-11-12 15:54:20.802  INFO tokio-runtime-worker substrate: 💤 Idle (0 peers), best: #2 (0xe852…5bfc), finalized #2 (0xe852…5bfc), ⬇ 0 ⬆ 0
^C

Sorry if this is of not much help. Wanted to fit a quick review of this asap anyway

@moliholy
Copy link
Collaborator Author

moliholy commented Nov 12, 2025

@al3mart yes, that's exactly the idea. Not saying that's the way to go, just one I thought could be interesting.

@al3mart
Copy link
Member

al3mart commented Nov 12, 2025

Ah, sorry @moliholy I didn't realised!

I think I'd less problems with this if we were to always keep:

┌   Pop CLI : Launch a local Ink! node
│
⚙  Local node started successfully:
│  portal: https://polkadot.js.org/apps/?rpc=ws://localhost:9944/#/explorer
│  logs: tail -f /tmp/.tmpdomCXa
│  
⚙  Ethereum RPC node started successfully:
│  url: ws://localhost:8545
│  logs: tail -f /tmp/.tmp1SiOxE

on the top of the terminal.

Right now the logs will bury that useful info.
I think doing the whole prompt refactor might be overkill at this time. So I think I'd prefer to keep the logs in the file and have the user read it as necessary. This way the output is also consistent across the up command.

@moliholy
Copy link
Collaborator Author

@al3mart changed!

@moliholy moliholy requested a review from al3mart November 12, 2025 16:02
@moliholy moliholy force-pushed the feat/ink-node-bootstrap branch from 039e5a8 to 65ca3b8 Compare November 12, 2025 16:03
@moliholy moliholy merged commit 3e6d473 into main Nov 12, 2025
19 checks passed
@moliholy moliholy deleted the feat/ink-node-bootstrap branch November 12, 2025 16:51
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.

3 participants