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

Merge mining with Monero #244

Open
SChernykh opened this issue Dec 7, 2023 · 8 comments
Open

Merge mining with Monero #244

SChernykh opened this issue Dec 7, 2023 · 8 comments

Comments

@SChernykh
Copy link

SChernykh commented Dec 7, 2023

I've just found out about https://dark.fi/insights/development-update-q423.html and took a look at your merge mining proxy. It doesn't seem to be 100% compatbile with what me and @moneromooo-monero are trying to implement now.

Please read through https://github.com/SChernykh/p2pool/blob/merge-mining/docs/MERGE_MINING.MD (a WIP documentation) and monero-project/monero#9073 (merge mining fixes for Monero).

As far as I can see, your mm proxy can't be used to mine multiple chains together right now, because it doesn't calculate the Merkle root hash of all merge mined chains (it's single chain only?).

@parazyd
Copy link
Member

parazyd commented Dec 7, 2023

Hi. What the proxy implements right now is just solomining a single chain.
The idea is that someone can fire up xmrig in daemon mode, and have the proxy inject the necessary merge mining data into the getblocktemplate call.

I will read through your suggestions, thanks.

@SChernykh
Copy link
Author

Thanks!

All the reference code is in src/cryptonote_basic/merge_mining.cpp and https://github.com/monero-project/monero/blob/master/src/rpc/core_rpc_server.cpp#L2070 on the Monero side (plus fixes in monero-project/monero#9073), and in src/merge_mining_client.cpp, src/merkle.cpp on P2Pool side.

Documentation is far from ready, but you can ask questions here.

@parazyd
Copy link
Member

parazyd commented Dec 7, 2023

@SChernykh

Is the general idea that this proxy should have RPC methods that let p2pool query it for darkfi-specific merge mining data, and then be able to include it alongside others in the blocktemplate it's sending to workers?

AFAICT this would require a p2pool operator to run our proxy and potentially the full node alongside the pool software.

@SChernykh
Copy link
Author

SChernykh commented Dec 7, 2023

No, P2Pool will be a proxy between aux chains and XMRig, and it provides a stratum port for XMRig. The RPC methods are supposed to be implemented on the node side (i.e. monerod in Monero). No other proxy will be required if these RPC methods are supported, and P2Pool will be able to mine multiple chains.

The reason P2Pool works as a proxy itself, is that it creates its own block templates for Monero, and it doesn't use get_block_template RPC at all.

Yes, it will require miners to run a full node for each chain, but they can also connect to public remote nodes (less reliable, but easier to set up).

@parazyd
Copy link
Member

parazyd commented Dec 7, 2023

aha I see, so your idea is that the actual full node implements the necessary merge mining methods?

Excellent, I will look into this deeper these days. Thanks ;)

@SChernykh
Copy link
Author

Yes, the idea is that the full node implements a minimum set of RPCs that will be enough for P2Pool to merge mine.

@parazyd
Copy link
Member

parazyd commented Dec 14, 2023

Will be leaving relevant commits for reference here.

@SChernykh
Copy link
Author

@parazyd Any updates on this?

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

2 participants