Skip to content

Conversation

@Fiono11
Copy link
Contributor

@Fiono11 Fiono11 commented Nov 6, 2025

Milestone Delivery Checklist

  • The milestone-delivery-template.md has been copied and updated.
  • This pull request is being made by the same account as the accepted application.
  • I have disclosed any and all sources of reused code in the submitted repositories and have done my due diligence to meet its license requirements.
  • In case of acceptance, invoices must be submitted and payments will be transferred to the Polkadot AssetHub and/or fiat account provided in the application.
  • The delivery is according to the Guidelines for Milestone Deliverables.

Link to the application pull request: PR #2618

This commit includes the complete milestone 1 delivery for the Decentralized Threshold Signing Service project, consolidating all previous commits into a single, clean commit.
Lederstrumpf and others added 2 commits November 17, 2025 13:49
Removed description text for Distributed Key Generation.
@Lederstrumpf
Copy link
Contributor

Hi @Fiono11

Apologies for my delay in following up here.
Thanks for your submission.

Trying to run docker compose for both this branch simplpedpop and your M3 delivery #1304 branch signing, I get the following error:

[relay-server] | node:internal/modules/esm/resolve:260
[relay-server] |     throw new ERR_MODULE_NOT_FOUND(
[relay-server] |           ^
[relay-server] |
[relay-server] | Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/app/config/relay-peer-id.js' imported from /app/relay.js
[relay-server] |     at finalizeResolution (node:internal/modules/esm/resolve:260:11)
[relay-server] |     at moduleResolve (node:internal/modules/esm/resolve:920:10)
[relay-server] |     at defaultResolve (node:internal/modules/esm/resolve:1119:11)
[relay-server] |     at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:542:12)
[relay-server] |     at ModuleLoader.resolve (node:internal/modules/esm/loader:511:25)
[relay-server] |     at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:241:38)
[relay-server] |     at ModuleJob._link (node:internal/modules/esm/module_job:126:49) {
[relay-server] |   code: 'ERR_MODULE_NOT_FOUND',
[relay-server] |   url: 'file:///app/config/relay-peer-id.js'
[relay-server] | }
[relay-server] |
[relay-server] | Node.js v22.2.0
[client-a]     |
[client-a]     | > [email protected] start:cloud
[client-a]     | > vite --host 0.0.0.0
[client-a]     |
[client-a]     |
[client-a]     |   VITE v6.4.1  ready in 87 ms
[client-a]     |
[client-a]     |   ➜  Local:   http://localhost:5173/
[client-a]     |   ➜  Network: http://10.89.0.3:5173/
[client-b]     |
[client-b]     | > [email protected] start:cloud
[client-b]     | > vite --host 0.0.0.0
[client-b]     |
[client-b]     |
[client-b]     |   VITE v6.4.1  ready in 142 ms
[client-b]     |
[client-b]     |   ➜  Local:   http://localhost:5174/
[client-b]     |   ➜  Network: http://10.89.0.5:5174/
[client-a]     | 12:37:07 AM [vite] Pre-transform error: Failed to resolve import "./olaf/pkg/olaf.js" from "index.js". Does the file exist?
[client-a]     |   Plugin: vite:import-analysis
[client-a]     |   File: /app/index.js:20:210
[client-a]     |   18 |  import { hexToU8a, u8aToHex } from '@polkadot/util'
[client-a]     |   19 |  import { createEd25519PeerId } from '@libp2p/peer-id-factory'
[client-a]     |   20 |  import initOlaf, { wasm_simplpedpop_contribute_all, wasm_keypair_from_secret, wasm_simplpedpop_recipient_all, wasm_aggregate_threshold_signature, wasm_threshold_sign_round1, wasm_threshold_sign_round2 } from './olaf/pkg/olaf.js'
[client-a]     |      |                                                                                                                                                                                                                   ^
[client-a]     |   21 |
[client-a]     |   22 |  // Constants
[client-a]     | 12:37:07 AM [vite] Internal server error: Failed to resolve import "./olaf/pkg/olaf.js" from "index.js". Does the file exist?
[client-a]     |   Plugin: vite:import-analysis
[client-a]     |   File: /app/index.js:20:210
[client-a]     |   18 |  import { hexToU8a, u8aToHex } from '@polkadot/util'
[client-a]     |   19 |  import { createEd25519PeerId } from '@libp2p/peer-id-factory'
[client-a]     |   20 |  import initOlaf, { wasm_simplpedpop_contribute_all, wasm_keypair_from_secret, wasm_simplpedpop_recipient_all, wasm_aggregate_threshold_signature, wasm_threshold_sign_round1, wasm_threshold_sign_round2 } from './olaf/pkg/olaf.js'
[client-a]     |      |                                                                                                                                                                                                                   ^
[client-a]     |   21 |
[client-a]     |   22 |  // Constants
[client-a]     |       at TransformPluginContext._formatLog (file:///app/node_modules/vite/dist/node/chunks/dep-D4NMHUTW.js:42528:41)
[client-a]     |       at TransformPluginContext.error (file:///app/node_modules/vite/dist/node/chunks/dep-D4NMHUTW.js:42525:16)
[client-a]     |       at normalizeUrl (file:///app/node_modules/vite/dist/node/chunks/dep-D4NMHUTW.js:40504:23)
[client-a]     |       at async file:///app/node_modules/vite/dist/node/chunks/dep-D4NMHUTW.js:40623:37
[client-a]     |       at async Promise.all (index 17)
[client-a]     |       at async TransformPluginContext.transform (file:///app/node_modules/vite/dist/node/chunks/dep-D4NMHUTW.js:40550:7)
[client-a]     |       at async EnvironmentPluginContainer.transform (file:///app/node_modules/vite/dist/node/chunks/dep-D4NMHUTW.js:42323:18)
[client-a]     |       at async loadAndTransform (file:///app/node_modules/vite/dist/node/chunks/dep-D4NMHUTW.js:35739:27)
[client-a]     |       at async viteTransformMiddleware (file:///app/node_modules/vite/dist/node/chunks/dep-D4NMHUTW.js:37254:24)

Triggered by the import call in https://github.com/Fiono11/decentralized_threshold_signing_service/blob/dc766c2ad71d0e873c50296f32990ee418283718/index.js#L20

I also don't see how the olaf wasm cdylib built in https://github.com/Fiono11/decentralized_threshold_signing_service/tree/simplpedpop/olaf gets used anywhere (the build process is not invoked by the dockerfile, btw) - seems some necessary glue is missing both on simplpedpop and signing branches?

@Fiono11
Copy link
Contributor Author

Fiono11 commented Dec 1, 2025

Hi, @Lederstrumpf ! Sorry, forgot about Docker...It should work now. Give it a try, please.

@Fiono11
Copy link
Contributor Author

Fiono11 commented Dec 9, 2025

Hi, @Lederstrumpf ! Any chance this can be evaluated before EOY?

@keeganquigley
Copy link
Contributor

Hi @Fiono11 I picked up the eval and tried running it myself. For some reason it gets an error trying to connect to the local relay node. This happens regardless of whether I use Docker or install it manually.

peer

Therefore client-b cant find the address for client-a. Any idea what the issue might be? Since these issues are supposed to be fixed for M2.

peer2

@Fiono11
Copy link
Contributor Author

Fiono11 commented Dec 16, 2025

Hi, @keeganquigley ! The relay has the wrong peer_id. Are you building from the latest commit of the simplpedpop branch?

@keeganquigley
Copy link
Contributor

keeganquigley commented Dec 17, 2025

@Fiono11 thanks for your help. I was on main. I switched to simplpedpop but I still get the same error. This one has a different peer_id:

npm run relay

> relay-server-and-client@1.0.0 relay
> node relay.js

Relay server started:
Peer ID: 12D3KooWAWN7MuqoNvFdoVKuSDG3HJvQA1txQzu5ujri49nhm2hn
Listening on: /ip4/127.0.0.1/tcp/8080/ws/p2p/12D3KooWAWN7MuqoNvFdoVKuSDG3HJvQA1txQzu5ujri49nhm2hn, /ip4/172.31.36.2/tcp/8080/ws/p2p/12D3KooWAWN7MuqoNvFdoVKuSDG3HJvQA1txQzu5ujri49nhm2hn, /ip6/::1/tcp/8080/ws/p2p/12D3KooWAWN7MuqoNvFdoVKuSDG3HJvQA1txQzu5ujri49nhm2hn
Protocols: KV storage, KV query, Proof of Possession, Connection Challenge, Connection Permission ready

The relay server shows it started but it still can't connect. Additionally, starting the instances manually now gives an error:

olaf

Is this the correct peer_id?

@Fiono11
Copy link
Contributor Author

Fiono11 commented Dec 17, 2025

Yes. Sorry, the README was incomplete...Try again now, please.

@Fiono11
Copy link
Contributor Author

Fiono11 commented Dec 22, 2025

Anything else I need to change, @keeganquigley ?

@keeganquigley
Copy link
Contributor

Hi @Fiono11 sorry for the delay here, as most of us were out for the holidays. I will take another look today or tomorrow and get back to you. Thanks!

@keeganquigley
Copy link
Contributor

Thanks @Fiono11 is working now after Warp fixed the Olaf file. I'm willing to pass the milestones now. Will get back to you shortly on the other PR for M3.

@keeganquigley keeganquigley merged commit 30b2282 into w3f:master Jan 7, 2026
4 checks passed
@github-actions
Copy link

github-actions bot commented Jan 7, 2026

🪙 Please fill out the invoice form in order to initiate the payment process. Please make sure that you follow the instructions and requirements as laid out in the form as well as our Terms & Conditions. Thank you!

@w3f w3f deleted a comment from github-actions bot Jan 8, 2026
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