Sending BTC using Seed Hex or mnemonic

I’m interested in sending BTC from wallet to another and probably automate it through some libraries.

I have a question: if I have a seed hex or 12 words I can generate all my wallets (addresses, private keys) with BIP39 mnemonic tool.

How could I know what of external wallets (private keys) I should use to send btc using libraries assuming it usually changes?

How could I basically send BTC to some wallet having only seed hex or 12 words?

Why does Bitcoin no longer have checkpoints?

I’ve read that checkpoints in Bitcoin were removed because they were not preventing any meaningful attack.

Why should a regular checkpoint not prevent majority attacks? For instance, if a checkpoint is made every N blocks and (for example) 3/4 of the hash power agrees, would this not be possible to be used as a mechanism to create a permanent confirmation of the transactions before the checkpoint? Assuming, of course, that clients would check for those checkpoints and enforce them to be included in the valid chain.

python-bitcoinlib | Create Private Keys, Public Keys and Addresses – How to Do It?

I’m trying to use the python-bitcoinlib library but its docs aren’t entirely clear to me.
I’m a programmer but quite new to Python, and not very versed in the Bitcoin protocol.

What’s the process, code-wise, with the library, for the following?

  1. Generating a private key
  2. Creating a public key
  3. Creating an address from the public key

I tried various things and am not completely sure what arguments I supply to what functions, and what functions I’m supposed to use in the process.

I’d appreciate a lot, and I think it’d help me the most if I were provided code for achieving each step.

I was able to follow the Bitcoin protocol (specifically, the developer reference and the developer guide on to do all of those things, and I’m looking specifically how to do it with the library, so I could have my code fully compatible with other functionality of it, since I’d like to use the library for additional purposes.

recover wallet in electrum from hex mpk

I´m trying to recover a wallet from which the Master Private Key (mpk) in hex format and the number of used addresses is known.

Till now I could manage to convert the hex mpk to the wif format and import this to electrum. But here to history seems to be totally lost.

Is there any way to recover the full wallet and history (not neccessary with electrum)?

How is Recipient’s Public Key Used When Receiving Coins (if at all)?

enter image description here

I understand the above image is dated–I posted here just for reference.

Assume the first tx is for Alice (Owner 1) and the second is for Bob (Owner 2). My previous question (Confused About Hash In Satoshi Nakamoto Diagram) covered that the signature that ends up in the second transaction uses ECDSA and takes the Owner 1’s private key and a message as input. The message is the hash of the transaction 1 (less the sig). The sig that gets stored in transaction 2, if verified with Alice’s public key, proves that Alice released funds to Bob.

But how does the network know that Alice meant to give these funds to Bob? When Alice “sends” coins to Bob, she first get’s Bob’s address (let’s just keep it simple for now and say that Alice has Bob’s public key). After that, it seems to me that the network would encrypt the Alice’s signature with Bob’s public key so that when Bob wants to verify the sig with the ECDSA verification algorithm, he first would need to successfully decrypt the sig with his private key. Is that correct? The other way I can see it working is if the network creates transaction 2 with Bob’s public id in it, and that only Bob can use the funds in that transaction record because to spend those funds, Bob will need the private key.

If neither assumption above is correct, is there anything about the protocol that ensures Alice’s transfer of ownership reaches the intended recipient? If she makes a mistake in the recipient public key, is there any way for her to correct her mistake if Bob never receives the coins?

Is the UTXO set size important for non-mining full nodes?

Recently, I have seen a lot of development effort going into techniques for different ways of storing, pruning UTXO/TXOs. The main motivation cited is reducing block orphaning, which is mining-fullnode-only problem. My personal fullnode does not care about if the UTXO is fetched from disk and takes time to verify. (as long it’s well under 10 mins)

Miners (referring to pool owners who actually run the full node) today are rich people with huge amount of investment costs. Buying extra RAM should be relatively small investment compared to other things.

I understand that bitcoin is a open source project and anyone can work on whatever they like, but I fail to understand the real motivation/need for UTXO set pruning.

1) Is there some other reason for research behind UTXO set size other than preventing block-orphaning (large UTXO set so that it does not fit in RAM ==> longer time to validate blocks for miners ==> More orphans)?

2) Directly related to the first question, is making sure that UTXO set fits in RAM really that important for non-mining full nodes?

How to fetch incoming transaction in Ripple

Currently I have setup ripple mainnet server and provide availability of XRP trading, If any user submits the transaction in his account from the external wallet, How I know which transaction performed? Currently, I have used WebSocket socket and subscribe all account to the listener, So when any transaction comes in subscribed account then it will catch the transaction. But the issue is that when my xrp server is down or listeners missed any transaction then how we fetch incoming transaction later.