Shouldn't all nodes have the same mempool capacity? Although the majority of nodes run with the default setting of 300 MB, there is no requirement for any node to stick to this, and nodes are free to change the memory they dedicate to their mempool. The block size in Bitcoin is 1MB. So can I assume how many blocks are approximately left to be mined? Would that be 65MB / 1MB = 65 blocks? For the transactions in your mempool, yes. But as we've seen, there are other nodes such as mempool.space which have much larger mempools. As the transaction in your mempool start to get added to blocks and your memory usage drops, your node will start to accept and store these transactions from other nodes with larger mempools. I guess my final question would be what does "unbroadcastcount": 0 indicate?
|
|
|
Size is the number of unconfirmed transactions your node holds in its mempool. Your node is holding 95,792 transaction.
Usage is the amount of memory those unconfirmed transactions are using after they have been deserialized. Your node is using 299,771,632 bytes. By default, the maximum is 300,000,000 bytes (300 MB).
Since you asked about mempool.space, you'll see that under memory usage it currents says something around 910 MB / 300 MB. This is because they have increased their maximum limit from 300 MB to something much higher. If you also increased your node's max memory usage to over 1 GB, then your node would also store the other 200,000 or so transactions which mempool.space's node is storing. As it stands, your node will drop the lowest fee transactions to stay within the default memory limit.
I thought I got it, but I'm starting to doubt now....
I assume "size" is the number of transactions in mempool, "bytes" is the size, but now I'm confused why "usage" (I assume that's "memory usage") is so much more. It makes sense that it's very close to the maximum.
Thank you both. Shouldn't all nodes have the same mempool capacity? I assume "size" is the number of transactions in mempool, "bytes" is the size, but now I'm confused why "usage" (I assume that's "memory usage") is so much more. It makes sense that it's very close to the maximum. Bytes is the raw size of these transactions. In OP's example, his 95,792 transactions will fill 65,539,423 bytes of block space when they are mined. This confuses me... I mean you explained it perfectly, but I don't get it. The block size in Bitcoin is 1MB. So can I assume how many blocks are approximately left to be mined? Would that be 65MB / 1MB = 65 blocks?
|
|
|
I guess it's the number of transactions. My node had 74243 of them.
Allow me to rephrase because I think I haven't made myself clear. Inside every node's mempool there are unconfirmed transactions. In mine how many are there? Which number from the following represents the unconfirmed transactions? { "loaded": true, "size": 95792, "bytes": 65539423, "usage": 299771632, "total_fee": 11.40788335, "maxmempool": 300000000, "mempoolminfee": 0.00003200, "minrelaytxfee": 0.00001000, "unbroadcastcount": 0 }
What is the difference between "usage" and "size"?
|
|
|
It's full. That means it starts dropping transactions. Each node can use their own settings for this.
But my mempool says 91k TXs in size. What does this "size" mean?
|
|
|
Hello everyone, I'm new to this type of transaction, I play poker and I made a deposit via bitcoin wallet 5 days ago on the ggpoker network, it was confirmed today but they informed me that the transaction failed for them and they said that my bitcoins would go back to my wallet , and here I am waiting without knowing how it works , please ask someone for help ... follow my transaction
39d5e769506b0f2b3973d60b4ae9d65dea4463b89a481c5d7313c688ddb4a813
In Bitcoin, a failed transaction can't be failed "for them" or "for you". Bitcoin is a ledger where everything is transparent. Your transaction is confirmed. Your transaction is not failed.
|
|
|
Hello, the command bitcoin-cli getmempoolinfo returns { "loaded": true, "size": 91656, "bytes": 64818257, "usage": 299677520, "total_fee": 9.05498421, "maxmempool": 300000000, "mempoolminfee": 0.00003100, "minrelaytxfee": 0.00001000, "unbroadcastcount": 0 }
However, in https://mempool.space/ it says "307,065 TXs" uncorfimed transactions. Why is there such a difference between my node's mempool and the website's mempool?
|
|
|
Don't worry about merit! I am happy to help. 1. Unfortunately I don't use electrum, so I don't really know what password you are referring to. Normally, most modern wallets support BIP-39 which is an improvement that allows you to memorize and back-up (always offline) 12 - 24 english words from a list of 2048 words. Those 12 - 24 words can help you recover your private key. Please check here: https://learnmeabitcoin.com/technical/mnemonic. Some applications also allow you to use a password, but this not related to bitcoin protocol. It is application specific as an extra measure of safety. If you forget your password, you don't have to worry as you can enter your 12-24 words to another software and have access to all of your funds. If you lose and forget your 12-24 words, you lose everything. 2. What do you mean public addresses? They can be shared without risk, if this is your question. Extra note: Since I understand that this is your first contact with Bitcoin, make sure to be ultra safe when backing up your wallet. Don't share anything with anyone unless you are absolutely sure. 1. In Electrum there is a 'seed' which is also a collection of words (dont know whether they are 12 or 24). I always wrote it down on paper and after that I select password. Seed can be used to recover wallet in case your device is compromised (for any reason). In that case Seed is private key? 2. There are many addresses in our wallet on which we can received funds. All such addresses are our Public keys? 3. Why at the moment Bitcoin fee is so high? 22 dollars for ETA within 5 blocks. normally its 0.3 to .5 dollars or even less. 1. Oh yeah. This seed can be used to derive your private key. It is not the actual private key, but if you have access to the seed, then it is essentially the same thing. 2. No! Addresses are not public keys. Please check the first link I sent you. In general, the process is: Private Key -> Public Key -> Addresses 3. I will not comment on that, since I haven't done extensive research. However, you can see people complaining here about ordinals and NFTs and how they have lead to mempool's extreme congestion. I am so against ordinals and NFTs that I don't wish to comment and use bad language
|
|
|
Thanks for the help. Your reply need some merits but unfortunately I don't have any at the moment. Once I have I will share on that post. I have 2 more questions. 1. So private key is made from the password which I choose while creating the wallet? Is there any way I can see whats my private key? 2. There are so many addresses in our wallets, are they all public addresses ? Don't worry about merit! I am happy to help. 1. Unfortunately I don't use electrum, so I don't really know what password you are referring to. Normally, most modern wallets support BIP-39 which is an improvement that allows you to memorize and back-up (always offline) 12 - 24 english words from a list of 2048 words. Those 12 - 24 words can help you recover your private key. Please check here: https://learnmeabitcoin.com/technical/mnemonic. Some applications also allow you to use a password, but this not related to bitcoin protocol. It is application specific as an extra measure of safety. If you forget your password, you don't have to worry as you can enter your 12-24 words to another software and have access to all of your funds. If you lose and forget your 12-24 words, you lose everything. 2. What do you mean public addresses? They can be shared without risk, if this is your question. Extra note: Since I understand that this is your first contact with Bitcoin, make sure to be ultra safe when backing up your wallet. Don't share anything with anyone unless you are absolutely sure.
|
|
|
Bitcoin is "A peer-to-peer electronic cash system". This is what Satoshi invented.
In 2021 I moved from shitcoins to Bitcoin only. I have set a multisig vault with money for my retirement.
I hate NFTs, I hate Ordinals.
In 2023, if Bitcoin doesn't get rid of this bullshit, I will sell all of my Bitcoin.
|
|
|
I keep reading about this "keys". Can you please tell me where I can find key in my Electrum wallet? Every Electrum has how many keys and are they public or private
Bitcoin is based on cryptography. There is no better place to educate yourself about it than those links: 1. https://www.oreilly.com/library/view/mastering-bitcoin-2nd/9781491954379/ch04.html2. https://learnmeabitcoin.com/beginners/keys_addressesThere are basically three concepts you must get familiar with: A bitcoin wallet contains a collection of key pairs, each consisting of a private key and a public key. Therefore, a wallet can have multiple key pairs. Private key: The private key is just a number (256 bit long), picked at random. Imagine something like 00101...101 Public key: The public key is calculated from the private key using elliptic curve multiplication (that's pure mathematics). Please make sure to remember that the process of deriving a public key from the private key is a method that is irreversible. I mean, you can't derive a private key from the public key. A private key can be converted into a public key, but a public key cannot be converted back into a private key because the math only works one way. Address: A bitcoin address is a string of digits and characters that can be shared with anyone who wants to send you money. The bitcoin address is derived from the public key through the use of one-way cryptographic hashing. A bitcoin address is not the same as a public key. Bitcoin addresses are derived from a public key using a one-way function.Now, since you asked about electrum I will let people answer specifically about electrum. However, what I have written above is NOT application specific. It is essential to bitcoin.
|
|
|
So as I ve seen above you are using a spinning drive to store bitcoin and fulcrum data, is that correct? If so, is there any other storage device on the PC? Or is it the only disk you have?
That is the one and only disk. Trying to make it as 'authentic' as possible, except for the fact that I put the drive in, it's just an old machine that I pulled off a shelf. The same way someone who wanted to run their own node + electum server might have an old machine sitting around or get one from a friend. No more memory, no multiple drives, no figuring out (or even noticing) that the CPU keeps throttling back. Just install core and wait, and then install Fulcrum and wait. Will play with tweaks after that. -Dave Alright! Fair enough! I also run Bitcoin Core on an external HDD and after the initial synch, it works flawlessly now.
|
|
|
Core is still syncing slowly: There is a issue with the hardware for some reason the CPU keeps throttling. Was going to stop and start on a different box, but decided to see if it would finish syncing and then how Fulcrum would work on something with an old slow drive and funky hardware. Kind of a test to see if someone could do it on an old PC they pulled out of the closet. Although I don't know exactly when this PC was built, it has to be close to 8 or 9 years at this point. Just like what someone would have in storage to do something with sooner or later but never did. -Dave So as I ve seen above you are using a spinning drive to store bitcoin and fulcrum data, is that correct? If so, is there any other storage device on the PC? Or is it the only disk you have?
|
|
|
Since I never ran it I'm trying it out now. Put a 1TB spinning drive in a 4th gen i3 with 8GB of ram and am in the process of download the blockchain now. Somebody remind me in a week to take a look at how it's going. I really hate spinning drives but it's all I have for larger then 512GB in the office. All the real ones are in the DC.
Looks interesting since it's a compiled executable along with core it should allow people who 'don't know computers' to run their own electrum server without too much effort. Which is good for privacy.
-Dave
Any feedback?? I am syncing slowly personally... I had to interrupt for several days and I just started the process yesterday night.
|
|
|
This is amazing. But as far as I am trying to understand the balance is not updated unless and until it is connected to the internet right? Basically, if I am not looking at my wallet and only scanning my address over the blockchain then I can see the updated balance.
Which is a similar thing I am doing with Mycelium.
For example, the smartphone on which I have Mycelium installed is always turned off for safety reasons. I keep getting payment on that address, which is obviously getting synched in the background (without internet obviously).
Then this makes no difference to any wallets I believe.
I thought we already invented a technology that can work without the internet. I was shocked for a second after reading all the replies. It seems it's just usual thing, you synch up when you are online. Thats all.
Well in fact we oversimplified the response, but yes. Essentially what you do is cool, but if you keep sending funds to the same address is not good for privacy reasons. Also, actually there is no "balance". There are unspent UTXOs but that's more advanced. And yes, of course we can say "balance" and understand each other
|
|
|
Where are coins stored when I'm not online and sent The coins are "stored" in the blockchain. Electrum holds the keys that can "unlock" your ability to spend bitcoin you have received. Electrum (and every other wallet) DON'T store coins. They only store keys. That's a common misconception. In order to "receive" coins, you need NOTHING at all. Just give someone an address. You need Internet in order to: 1. Monitor your incoming transactions and perhaps get notifications about them. 2. Broadcast transactions a.k.a "send coins" You don't need Internet to: 1. Receive coins 2. Sign transactions (assuming you will broadcast them later) 3. Create new wallets aka new pairs of keys I hope I have answered your question. You don't need Internet to receive bitcoin. Coins are stored nowhere. That's not how it works. If someone wants to send you coins, they have to broadcast a transaction and let people (other nodes and miners) know that they have sent the coins. Once you open up electrum you need Internet to "see that you have received the coins".
|
|
|
Well, precisely thanks to you and others in a thread I opened (with my main account) about LN I learned that it is not necessary to open channels.
You mean not necessary to open channels on your own? This is true, but in general, channels are mandatory in LN as far as I know
|
|
|
Meaning that the transaction that is time-locked can be broadcasted allowing the recepient to spend from their own wallet to cover the fees. Therefore if I was to receive a transaction, at the time of the broadcast I could add a fee from a personal wallet. So you can already do this, but it requires the timelocked transaction to be set up in a specific way when it is first created. All bitcoin transactions contain a field known as the SIGHASH. You can read more about this here: https://btcinformation.org/en/developer-guide#term-signature-hash. Essentially, it's a field which tells the protocol which part of the transaction you are signing. The vast majority of transactions use the default SIGHASH_ALL, which as the name suggests, means you are signing all the inputs and all the outputs, so no inputs or outputs can be changed or added. However, there are other options available. For this scenario, the person making the timelocked transaction could sign it using SIGHASH_SINGLE | SIGHASH_ANYONECANPAY. This means that they sign their input and output so these cannot be changed, but they allow the addition of other inputs and outputs in to the transaction as well. So years later you can take the timelocked transaction, add your own additional input to it, use some of that input to pay a higher fee, add your own change address for the rest of your input to go to, and then sign and broadcast this new transaction. The core of the timelocked transaction (send x BTC from A to B) can't be changed, but you can add an extra input and output to increase the fee before you broadcast it. You re very helpful. Unfortunately I have no sendable merit to give you. Thank you! I have actually been able to do this using sparrow wallet. That's exactly what I wanted!!!
|
|
|
Some knowledgeable people gave me 2 options: 1. I wait until the mempool is less congested. 2. I pay a miner to include my transaction. At the moment, yes, those are your only two options. When you broadcast transactions to other nodes, each transaction must pass all policy requirements on its own merits. It doesn't matter if you also broadcast a CPFP transaction with a high fee - receiving nodes will not at present consider both transaction as a unit, and so the parent transaction with the low fee will not be accepted. However, there is a proposal known as "package relay" in active development which would change this. This will allow you to broadcast a "package" of transactions, and have receiving nodes consider the overall fee rate of the entire package, not the individual fee rate of individual transactions. See here for more information: https://github.com/bitcoin/bips/pull/1382. This means that you could simultaneously broadcast your low fee timelocked transaction along side a high fee CPFP transaction, and have nodes accept both based on their overall fee. Oh it's in development. That's great! I am trying to think of other ideas. Perhaps if fees weren't attached to the transactions but instead they were separate transactions. Meaning that the transaction that is time-locked can be broadcasted allowing the recepient to spend from their own wallet to cover the fees. Therefore if I was to receive a transaction, at the time of the broadcast I could add a fee from a personal wallet.
|
|
|
None of that is going to help at present as just now I tried to make a payment using 20sats/byte on Electrum, and the servers rejected my transaction due to the mempool being completely full. RBF will definitely help, and my default settings node has a current minimum fee of around 10.9 sats/vbyte, which is in keeping with mempool.space's 11 sats/vbyte. Seems like you are just connected to a bad server. From what I discovered yesterday and today, the more coins you try to transfer from Electrum, the more the charge increase from where did you discover that? As I know that bitcoin transaction fees are based on how much total data that our transaction is made. Correct. Transaction size (and therefore your fee) is based on the number of inputs and outputs in your transaction, and not on the amount of bitcoin being sent. I have posted this question in another thread, but here there are many people so I can get more answers and ideas. Scenario that takes place in the future:So I have a signed timelocked transaction that a relative gave me 25 years ago. It has been signed with a fee of X sats/vbyte Today I want to broadcast it but the fee is 10 times higher. The transaction can't be broadcasted. Some knowledgeable people gave me 2 options: 1. I wait until the mempool is less congested. 2. I pay a miner to include my transaction. Any other ideas? Thank you
|
|
|
Your waiting transaction can be dropped from mempools after a while but it does not mean it is cancelled. Mempools only can drop waiting transactions that they think have very low fee rate but only you can cancel your transaction.
So, if my transaction exists in at least one nodes mempool, then it can be processed? Sorry for my lack of knowledge. I don't understand it Taproot does not involved in Ordinals. Do you think Taproot is responsible for what happened in mempools last three months?
It is a Segwit type and is better than Legacy by reducing used space in mempools than Legacy.
No I don't claim that. I am not well educated on taproot. I thought that ordinals became possible because of taproot.
|
|
|
|