Join Blend as core node#340
Conversation
weboko
left a comment
There was a problem hiding this comment.
Dogfooded on Linux x86_64 (Ubuntu 24.04) with logos-blockchain-node v0.1.2. Downloaded binary from the releases page, ran init, validated config, started the node, and exercised every API call in this tutorial against the live OpenAPI spec at /api-docs/openapi.json. Found critical blockers — two API endpoints referenced in steps 6 and 7 do not exist in v0.1.2, and the wallet balance step will consistently return 404 for the blend key.
|
|
||
| Complete these steps to fund the required keys, retrieve a locked note, and submit your Blend join declaration. | ||
|
|
||
| 1. Start the node and wait for it to switch to "Online" mode. This takes approximately one hour. |
There was a problem hiding this comment.
Sync time conflicts with the prerequisite guide.
The prerequisite doc (Run a Logos Blockchain node from CLI) says "Bootstrapping may take 12 to 24 hours." — not one hour.
| 1. Start the node and wait for it to switch to "Online" mode. This takes approximately one hour. | |
| 1. Start the node and wait for it to switch to "Online" mode. Bootstrapping may take 12 to 24 hours. |
|
|
||
| 1. Start the node and wait for it to switch to "Online" mode. This takes approximately one hour. | ||
| 1. Use the [faucet](https://testnet.blockchain.logos.co/web/faucet/) to send funds to the public key specified in the `user_config.yaml` file, in `sdp.wallet.funding_pk`. | ||
| 1. Use the faucet to send funds to the public key specified in the `user_config.yaml` file, in `blend.core.zk.secret_key_kms_id`. |
There was a problem hiding this comment.
blend.core.zk.secret_key_kms_id is a KMS identifier, not a public key field — and the wallet will not track it by default.
Tested on v0.1.2: calling GET /wallet/<blend.core.zk.secret_key_kms_id>/balance returns 404 The requested address could not be found in the wallet. The wallet service only watches keys listed in wallet.known_keys, and the blend ZK key is absent from that section in the default generated config.
Two fixes needed:
- Clarify to users what value the faucet expects. In logos-blockchain's KMS, the KMS ID for a ZK key also serves as its public identifier — but this is non-obvious from the field name
secret_key_kms_id. - Before starting the node, users must add the blend key to
wallet.known_keysinuser_config.yaml, otherwise step 4 will always return 404.
| 1. Start the node and wait for it to switch to "Online" mode. This takes approximately one hour. | ||
| 1. Use the [faucet](https://testnet.blockchain.logos.co/web/faucet/) to send funds to the public key specified in the `user_config.yaml` file, in `sdp.wallet.funding_pk`. | ||
| 1. Use the faucet to send funds to the public key specified in the `user_config.yaml` file, in `blend.core.zk.secret_key_kms_id`. | ||
| 1. Call the `<YOUR_NODE_IP>/wallet/<pk>/balance` endpoint, using the key from the previous step as `<pk>`, to view the balances of your notes. |
There was a problem hiding this comment.
The wallet endpoint returns 404 for any key not tracked in wallet.known_keys, and the URL is missing the port.
Tested on v0.1.2: curl http://localhost:8080/wallet/14e4035a.../balance → The requested address could not be found in the wallet.
| 1. Call the `<YOUR_NODE_IP>/wallet/<pk>/balance` endpoint, using the key from the previous step as `<pk>`, to view the balances of your notes. | |
| 1. Call the `http://<YOUR_NODE_IP>:8080/wallet/<pk>/balance` endpoint, using the value from `blend.core.zk.secret_key_kms_id` as `<pk>`, to view the balances of your notes. |
| 1. Use the [faucet](https://testnet.blockchain.logos.co/web/faucet/) to send funds to the public key specified in the `user_config.yaml` file, in `sdp.wallet.funding_pk`. | ||
| 1. Use the faucet to send funds to the public key specified in the `user_config.yaml` file, in `blend.core.zk.secret_key_kms_id`. | ||
| 1. Call the `<YOUR_NODE_IP>/wallet/<pk>/balance` endpoint, using the key from the previous step as `<pk>`, to view the balances of your notes. | ||
| 1. From the response, select either one of the returned notes. |
There was a problem hiding this comment.
The /wallet/<pk>/balance endpoint does not return a list of notes — it returns a single balance summary.
Actual v0.1.2 response:
{"tip": "...", "balance": 1000, "address": "..."}There is no notes-listing endpoint in v0.1.2's OpenAPI spec. This step needs to either reference a different endpoint that returns individual note IDs, or explain what value from the balance response maps to locked_note_id in the next step.
| 1. Use the faucet to send funds to the public key specified in the `user_config.yaml` file, in `blend.core.zk.secret_key_kms_id`. | ||
| 1. Call the `<YOUR_NODE_IP>/wallet/<pk>/balance` endpoint, using the key from the previous step as `<pk>`, to view the balances of your notes. | ||
| 1. From the response, select either one of the returned notes. | ||
| 1. Send a `POST` request to `<YOUR_NODE_IP>/blend/join` with the following payload: |
There was a problem hiding this comment.
/blend/join does not exist in v0.1.2.
Verified against the OpenAPI spec served by a running v0.1.2 node (/api-docs/openapi.json). The route is not registered. The available SDP-related endpoints are:
POST /sdp/declarationPOST /sdp/activityPOST /sdp/withdrawal
If this tutorial targets a future release, please add a note indicating the required version. If /sdp/declaration is the correct endpoint, update the step and confirm the expected request body schema.
| 1. Send a `POST` request to `<YOUR_NODE_IP>/blend/join` with the following payload: | ||
|
|
||
| ```bash | ||
| {"locator": <multiaddr>, "locked_note_id": <node_id>} |
There was a problem hiding this comment.
JSON placeholders are unquoted (invalid JSON) and the placeholder name <node_id> does not match the field name locked_note_id.
| {"locator": <multiaddr>, "locked_note_id": <node_id>} | |
| {"locator": "<multiaddr>", "locked_note_id": "<note-id>"} |
| - `<multiaddr>`: a publicly reachable multiaddress for the node (IP or DNS) | ||
| - `<locked_note_id>`: the note ID from the previous step. | ||
|
|
||
| 1. Confirm the declaration was submitted by calling `<YOUR_NODE_IP>/mantle/sdp/declarations`. If your declaration is included in the set, you will see your node's `zk_id` there. |
There was a problem hiding this comment.
/mantle/sdp/declarations returns 404 on v0.1.2 — this endpoint does not exist.
Verified: the route is absent from the node's OpenAPI spec. The available /mantle endpoints are GET /mantle/metrics and POST /mantle/status. Neither lists declarations.
Please confirm the correct confirmation endpoint and update this step, or note the target release version.
From: #331