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
Add Litecoin (LTC) support. #114
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Tested against testnet. Everything works with the exception of auto-donation address translation.
This completes the support we will have for MW. This way CBlocks re-serialize as the same data as they deserialized as. Also added some debug prints (to be removed in a subsequent commit) for testing on mainnet.
They cause problems for us..
For server.donation_address
Just in case. This option was added anyway to troubleshoot LTC deserialization problems. For BCH and BTC, no need to rock the boat.
Who knows maybe some C++ compilers will hate that.
We had to do this because Qt really doesn't want you to emit const-signals and this function needs to emit a signal.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
With this PR Fulcrum will now have support for Litecoin, in addition to Bitcoin Cash and Bitcoin BTC.
This PR includes support for deserializing/reserializing mweb data, so Fulcrum should work with latest
litecoind
v0.21.2
. Note that no known Electrum clients on LTC know how to deal with mweb data, but Fulcrum at least won't die on it when receiving txns or blocks containing it fromlitcoind
RPC.With respect to mweb txn and block data, Fulcrum will:
CTxIn
s/CTxOut
s (the mweb data is ignored, but the canonical UTXOs outside of mweb are processed correctly).The ignoring of mweb data by Fulcrum internally is not a huge problem. This is because MimbleWimble coins and/or whatever else exists in mweb can't presently be handled by the Electrum protocol anyway, so it's safe to ignore.
Note that if clients end up requesting a txn containing mweb data, Fulcrum will faithfully send to them the txn as
litecoind
reports it. Iflitecoind
is configured to serialize mweb data (the default), then clients may throw a deserialization error if they are not updated to process this new txn format correctly. For now, if your server anticipates having non-upgraded Electrum-LTC clients connected to it and potentially requesting txns containing mweb data, then you should startlitecoind
with the-rpcserialversion=1
argument (this tellslitecoind
to strips mweb data from all txns it sends out through RPC).See discussion here: spesmilo/electrumx#179