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

SpaceMesh Client Node with a Rewards Issues #1804

Open
DocTekno opened this issue Jan 5, 2025 · 10 comments
Open

SpaceMesh Client Node with a Rewards Issues #1804

DocTekno opened this issue Jan 5, 2025 · 10 comments

Comments

@DocTekno
Copy link

DocTekno commented Jan 5, 2025

Environment

  • Smapp version: 1.7.10 | develop
  • Epoch: 38
  • OS: macOS Sonoma (14.7)
  • Chip: Apple M1 Ultra
  • Cores: 20 (16 performance and 4 efficiency)
  • Memory: 128 GB

Describe the bug

As an experienced CHIA farmer (both command-line and GUI client), I decided three months ago to conduct a proof-of-concept (PoC) using two identical Mac Minis with identical external storage. My aim was to compare SpaceMesh (GUI client) and SIGNUM (BTDEX GUI client) in terms of GUI functionality, plotting efficiency, and profitability. Both clients required approximately a month to plot the necessary space, which is standard, but I’m patient. However, I quickly noticed significant differences during the setup process. For SpaceMesh, you cannot create a local wallet without first earning some rewards, as there’s no way to request “Smidge” (its currency) to initialize the wallet. This contrasts with other clients like BTDEX and CHIA, which provide seed coins specifically for this purpose. To me, this feels like a major oversight. Fast-forward two months: my BTDEX client has been farming smoothly and has generated nearly 500 coins. Meanwhile, my SpaceMesh client tells a different story. Registered in epoch 35 and now nearing the end of epoch 38, my local wallet has yet to receive any Smidge or SpaceMesh rewards. The wallet remains unspawned despite being continuously online with a fast broadband connection. The logs show no errors, yet the client fails to deliver any rewards.

SpaceMesh also lacks effective feedback or visualization tools in its GUI, leaving users to rely entirely on logs for information. By comparison, other coin clients provide much clearer performance insights. To make matters worse, SpaceMesh requires plotting to be completed before mining can begin, unlike other platforms that allow simultaneous plotting and mining. Additionally, if you move the client to another system, you must manually transfer the install directory to avoid re-plotting, as the client doesn’t automatically detect existing plots and may overwrite them. At this point, my SpaceMesh client has consumed three months of energy and internet bandwidth, yet it still shows a zero balance. Unless this changes or someone can offer a solution, I’m ready to abandon SpaceMesh permanently due to the high operational cost and lack of tangible rewards. If the developers are looking for beta testers to improve the setup, I’d be willing to help refine this technology. However, my current experience with the SpaceMesh client has left me deeply disappointed. Has anyone else encountered similar challenges? I’d appreciate hearing about your experiences.

I’ve been working with the Discord Forum online (smapp), but no one seems able to pinpoint the exact issue on why after 3 months I still have no rewards when I am told I should have some? Here’s a summary of my situation and the guidance from others:

  1. Node Status:

o My node has been running non-stop for 3 months, except for brief downtimes to apply two updates and now a third.
o It is synchronized with the network, publishing proposals for eligible layers. Logs show timely proposals (~300 ms latency),
correct active set hash, and correct beacon values.

  1. Wallet:

o The wallet is unspawned, which I understand is fine for receiving rewards. However, no rewards have been received despite
published proposals for multiple layers.
o There’s no apparent way to configure the wallet further in the GUI, so I assume this is not the issue.

  1. System Setup:

o Time Synchronization: Verified with an NTP local service, keeping the system clock accurate to within 1 second. No time offset
warnings in logs.
o Network: The node runs on a dedicated 1Gbps internet connection with low latency and no connectivity issues as I also have a
dedicated ISP IP Address.
o Software: I am using the latest client version (1.7.10).

  1. Checks Performed:

o Forum users have searched my log (attached) for "LATE_PROPOSAL" but found none.
o No indication of duplicate nodes (equivocation) in the logs.
o Network and peer connectivity appear stable, but logs don’t clarify if peers are “bad” or misbehaving.

  1. Ongoing Issues:

o Despite publishing valid proposals, no rewards have ever been received.
o Logs show no critical errors or reasons for disqualification.
o Suggestions from other contributors, such as time sync and wallet spawning, don’t apply to my case.

I’d appreciate any deeper analysis, insights or pointers and also compensation for the missed rewards I should have received.

Many thanks

Dave (DrTekno - Smapp / DocTekno - Github)

Steps to reproduce

See the log file, screenshots attached and full description above.

Expected behavior

See the log file, screenshots attached and full description above.

Actual behavior

See the log file, screenshots attached and full description above.

Logs

SpaceMesh-Network
SpaceMesh-GUI
spacemesh-log-7c8cef2b.txt

How to fix

Please also see the detailed conversations on the "Discord Smapp" section where members have tried to help.

@spacemeshos spacemeshos deleted a comment Jan 5, 2025
@spacemeshos spacemeshos deleted a comment from Stizerg Jan 5, 2025
@DocTekno
Copy link
Author

DocTekno commented Jan 6, 2025

Update, I have checked my SpaceMesh Main Account address and it is not found.
explorer spacemesh

@pigmej
Copy link
Member

pigmej commented Jan 7, 2025

@DocTekno you'll never see the account in explorer unless there is some activity on it like spend, rewards etc. So that one is expected.

About your issue now.

There are two parts to it.

First, you talked about the overall UX.

Most of it will be covered with the node split, where more events are produced (not only for the happy path). Part of it is described: spacemeshos/pm#328, and the other part spacemeshos/pm#337

There will be a demo very soon that will demonstrate those possibilities BUT consider that a sneak peek:
image

Now, about the missing proposals.

It seems that your proposals did not reach the network (I couldn't locate them on any of the nodes I have access to). That usually means that the nodes that your node sends the proposal to did not propagate it quickly enough toward the network. These nodes were likely:

12D3KooWPStnitMbLyWAGr32gHmPr538mT658Thp6zTUujZt3LRf
12D3KooWHK5m83sNj2eNMJMGAngcS9gBja27ho83t79Q2CD4iRjQ
12D3KooWPtfDou34XZ55M5pC8y3uvaY9Wg2i97uYA21SSbFYBaGm
12D3KooWCGZWKF242FAX9XzYRZuCdaohw724TGKCKbo5ceCHkBJh
12D3KooWRcTWDHzptnhJn5h6CtwnokzzMaDLcXv6oM9CxQEXd5FL

Do you have control over any of these nodes?

Could you share the output of spacemesh.v1.AdminService.PeerInfoStream ? (u can anonymize the address fields there)

@DocTekno
Copy link
Author

DocTekno commented Jan 7, 2025

@pigmej Thank you for the update. Unfortunately, I don’t have control over any of the nodes you mentioned that might require manual configuration. All I did was install the SNAPP Client (currently on version 1.7.10) following your website’s training videos. I then used the GUI’s limited settings to plot space with no other customisations as I am not using the CLI.

My machine is NTP time-synced, it has a dedicated IP with my ISP, and I’m on a 1GB high-bandwidth connection (see attached screenshot). There’s also no firewall in place. From what you’ve said, it sounds like multiple users could also be encountering the same issue if the out-of-the-box configuration is failing to properly route proposals and reward participants - they may be unaware!

I have provided the spacemesh.v1.AdminService.PeerInfoStream output, anonymized as requested on the address fields. To clarify, this is a completely vanilla SNAPP installation with default settings, there’s little that can be changed through the GUI. If that default setup is causing issues, it may be affecting many others as well. Since I have no coin balance the only thing I cannot do is spawn my wallet.

Lastly, I’ve been running this install now for three months with very limited to minimal downtime (only to install and reboot after updates), so could I be compensated for the proofs I’ve already generated? Everything appears to be working correctly on my end, so it’s frustrating not to see any rewards despite continuous operation. What else would you like to do to fix this? Happy to have a Teams call on this if that would help?

image

As requested: PeerInfoStream.txt

Checking the log with ChatGPT it states

  • Diagnosis: Coinbase Account Not Set:
    There is a warning: coinbase account is not set, connections from remote post services will be rejected. The coinbase account is where rewards are credited. Without setting this, your node cannot receive rewards even if it successfully participates in consensus. If my wallet is not yet spawned then I wont get rewards? This is crazy since you can only spawn a wallet once you get a reward?

  • Mitigation: Set Coinbase Address:
    Configure your node with a coinbase address. This can be done via the configuration file or API. I have this address ready but it cannot be spawned?

What to Flag to Admins

Node IDs: List of peer nodes that did not propagate your proposals:

12D3KooWPStnitMbLyWAGr32gHmPr538mT658Thp6zTUujZt3LRf
12D3KooWHK5m83sNj2eNMJMGAngcS9gBja27ho83t79Q2CD4iRjQ
12D3KooWPtfDou34XZ55M5pC8y3uvaY9Wg2i97uYA21SSbFYBaGm
12D3KooWCGZWKF242FAX9XzYRZuCdaohw724TGKCKbo5ceCHkBJh
12D3KooWRcTWDHzptnhJn5h6CtwnokzzMaDLcXv6oM9CxQEXd5FL

Logs: Provide specific portions of your logs showing proposal creation and any errors or warnings.

"WARN node smeshing not started, waiting to be triggered via smesher API
WARN node coinbase account is not set, connections from remote post services will be rejected
WARN node.sync failed to download epoch info {"sessionId": "af9ee6ac", "epoch_id": 1, "peer": "12D3KooWBhzgPDkM7UgY9XFLSBj2REVQoUFxnzanM7tuAznRB77n", "error": "callback error: stream reset"}
"

Configuration Details:

Node Version: v1.7.1
OS: darwin-arm64
Genesis Time: 2023-07-14T08:00:00.000Z
Layer Duration: 5m0s

Peer Metrics:

Peer: 12D3KooWFYv99aGbtXnZQy6UZxyf72NpkWJp3K4HS8Py35WhKtzE
Success: 24
Failures: 0
Latency per 1024 bytes: 105.082µs
For unreliable peers, highlight failure counts or excessive latency.

image

@Stizerg
Copy link

Stizerg commented Jan 8, 2025

I didn't see any messages in logs about missing reward address.
Can you add config.json, node-config.7c8cef2b.json and node-config.json from C:\Users\username\AppData\Roaming\Spacemesh please

@DocTekno
Copy link
Author

DocTekno commented Jan 8, 2025

Please find attached the information you requested along with the Node Status as of today (8th Jan 2025) where it is still showing no rewards after 3+ months!

config.json
node-config.json
node-config.7c8cef2b.json I have redacted my coin address address

spacemesh-log-7c8cef2b.txt the current log file so you can see the up-to-date status.

Status 2025-01-08 at 13 00 10
the current screenshot of the node so you can see the up-to-date status.

I look forward to hearing from you.

@Stizerg
Copy link

Stizerg commented Jan 9, 2025

I have redacted my coin address address

It's alright, we know your address. :)

as @pigmej said, your proposals didn't reach the network in time. It could be due to bad peers or overloaded network.
To try to fix it I would increase the number of peers, 26 peers your node is having most of the time isn't enough.
to do that stop Smapp, open node-config.json, find "min-peers":20,"low-peers":40,"high-peers":50 and change it to "min-peers":40,"low-peers":60,"high-peers":80
also your nonces parameter is way too low, you've been very lucky so far, but I would increase it
in the same file find "smeshing-opts-proving-nonces":16 and increase that parameter to 128
Start Smapp, tomorrow you should get a new reward layer

@DocTekno
Copy link
Author

DocTekno commented Jan 9, 2025

I have applied these key changes below based on your suggestion and will test overnight.

  1. Peers:
  • min-peers: Increased from 20 to 40.
  • low-peers: Increased from 40 to 60.
  • high-peers: Increased from 50 to 80.
  1. Proving Nonces:
  • Updated smeshing-opts-proving-nonces from 16 to 128.
  1. Logging:
    Changed logging levels for better diagnostics:
  • p2p: Set to info for better visibility into peer connections.
  • smeshing: Set to debug for detailed smeshing-related logs.
  1. Compute Batch Size:
  • Increased smeshing-opts-compute-batch-size from 1048576 to 2097152 for better utilization of powerful hardware.
  1. Routing Discovery:
  • Enabled enable-routing-discovery to improve long-term peer discovery.

@brusherru
Copy link
Member

A small note about changing config.

You need to make changes in the node-config.7c8cef2b.json file.
Because node-config.json will be overwritten by merging default config (from the discovery service: https://configs.spacemesh.network/config.mainnet.json ) and that custom one I mentioned before.

So if you have applied the changes to the node-config.json and run Smapp, most likely these changes is not there anymore. Please, put them in the correct file and then run Smapp.

@DocTekno
Copy link
Author

DocTekno commented Jan 9, 2025

Yes, I noticed that after implementing the initial changes. I’ve also archived the original log to simplify debugging. I’m attaching the updated log file and configurations in case there’s anything else you think I may have overlooked. Additionally, I’ve included the NTP tracking to confirm there are no issues, along with the Speedtest results to demonstrate bandwidth and latency.

node-config.7c8cef2b.json
node-config.json
spacemesh-log-7c8cef2b.txt

image
image

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

No branches or pull requests

4 participants