text:
Splitting BTC and BCH from cold storage using bitcoin core wallet sending to exodus
I had BTC long before the forks of BCH (bitcoin cash) and any of the others.
I wanted to finally split some BCH off of my BTC and so this is what I attempted to do

Bitcoin Core Wallet Send to Exodus Wallet
I verified the blockchain and refreshed Exodus and I see  .023 BTC  ( $181.41 currently)  .
I clicked on Help in Exodus and the claim your bitcoin cash in which it is supposed to scan to see if I have any BCH
It says none found.

Either this is not how to find the BCH and split it of, or .023 BCH is too small of an amount ?
What other decent options are there as I want to split up at least the BCH from the BTC .

Rutger's answer is correct, but in general if you search online (or on this site) you'll find plenty of resources explaining how to claim your BCH in a safe way.

@chytrik    Hi , I was seeing  Exodus, Electron and a ton of conflicting articles , is there any articles you can recommend?

Did you import the keys from your bitcoin core wallet to the exodus wallet?
It seems to me that you simply transacted your bitcoins to another adress (+Wallet).
This however does not mean that your bitcoin cash will also be send to that adress ( unless there was no replay transaction of course.(Which there is))
Your bitcoin cash is still at the adress where your bitcoin was at the time of the split.
Import that adress ( or rather the private key) into a bitcoin cash compatible wallet and you should see your BCH balance.

I simply did a send from btc core wallet to the btc receive address in exodus .    So it sounds like ALL of my BCH is still in the btc core address , in that it didn't even send a portion of it ..

So it sounds like I should import keys of the bitcoin core wallet into exodus ... and close core and then exodus will have the entire btc /bch  .   Is this a recommended way, or is using electrum or sending it to online place recommended?

You can also import the keys of your bitcoin core wallet into electrum cash. yes. Make sure to check signatures of any wallet you download thhough, you don't want to get phished/scammed. Also read my answer again. Bitcoin cash has replay protection. they're seperate entities. If you spent bitcoin it doesn't mean that you spent bitcoin cash aswell. The only thing they currently have in common is that they're derived the same way  ( both belonging to the same private key). They both have seperate blockchains

The transaction you sent to Exodus moved your BTC, but BCH is a different network. Your bitcoin core wallet and the exodus wallet both interact with the BTC network, so anything you do using them will not affect the BCH at all.
If you'd like to claim your BCH, you'll need to do the following:
First, send ALL of the bitcoin out of your wallet. This is important, it ensures the keys that control your bitcoin remain safe. If the BCH software you use in the next step is malicious for some reason, it might check the BTC balance of the addresses you control, and steal the bitcoin from you.
Next, export the private keys from bitcoin core. You'll need to create a BCH wallet using BCH specific software, and import the keys for any addresses that have a BCH balance. You can use a BCH block explorer website to check which addresses hold a balance, in case you're unsure.
At that point, your BCH wallet will show your BCH balance, and you are free to spend it as you wish.
Worth mentioning: don't transfer the btc back to the same bitcoin core wallet afterwards. If you'd like to keep using bitcoin core, you'll want to start a new wallet, since you old private keys have been compromised by being input into the BCH software.

send all btc to exodus ?  2. bch software , exodus bch wallet or a different bch specific software ?

You'll need to first send your BTC to a BTC wallet, and then find BCH wallet software capable of importing your keys. Its up to you to choose which wallets you use, I have no personal experience using Exodus, so I'm unsure if they support BCH (including importation of BCH private keys). Worth mentioning: any time you are choosing wallet software, be prudent. Don't just take the advice of a single person online, do your research and find software that has a good history of reviews across many websites.

Above answers were helpful,  but ultimately I transferred from bitcoin core wallet to Electron Cash.
I used this link  https://graspingtech.com/claim-bitcoin-cash-bitcoin-core-wallet/
pay attention to the comments, as the Electron Cash UI changed a bit.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Serialize data to get buckets
I am trying to recreate the bucketing algorithm of bitcoin using python, but I am stuck at this particular line because I am unable to recreate it using a simple double sha256.
uint64_t hash1 = (CHashWriter(SER_GETHASH, 0) << nKey << GetKey()).GetCheapHash();

I know that the hash1 value is the last 64 bits of the hash value converted into an int.
How could I recreate the following part in python?(I know the individual values)
(CHashWriter(SER_GETHASH, 0) << nKey << GetKey()).GetCheapHash()

CHashWriter does serialisation differently for different types of objects. src/serialize.h describes this different behaviour in detail.
Here's a simple version for the new table bucketing algorithm in python. get_group() assumes normal ipv4 addresses as input here.
ADDRMAN_NEW_BUCKETS_PER_SOURCE_GROUP = 64
ADDRMAN_NEW_BUCKET_COUNT = 1024

def get_group(ip):
    ip_as_bytes = bytes(map(int, ip.split('.')))
    return bytes([1]) + ip_as_bytes[:2]

def double_hash(bytes):
    return sha256(sha256(bytes).digest()).digest()

def get_new_bucket(key, addr, src):
    addr_group = get_group(addr)
    src_group = get_group(src)
    hash1 =  int.from_bytes(double_hash(key + bytes([len(addr_group)]) + addr_group
                                            + bytes([len(src_group)]) + src_group)[:8], 'little')
    hash1 = hash1 % ADDRMAN_NEW_BUCKETS_PER_SOURCE_GROUP
    hash2 = int.from_bytes(double_hash(key + bytes([len(src_group)]) + src_group
                                           + hash1.to_bytes(8, 'little'))[:8], 'little')
    return hash2 % ADDRMAN_NEW_BUCKET_COUNT

key = bytes.fromhex("41f758f2e5cc078d3795b4fc0cb60c2d735fa92cc020572bdc982dd2d564d11b")
addr = "250.1.2.1"
src = "250.1.2.1"
bucket = get_new_bucket(key, addr, src)
print("bucket is", bucket) # 786

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
bitcoin-qt ignored user input for fee calculation
My blockchain isn't synced yet. Thus, fee calculation didn't work. Therefore, I chose user defined fee and entered what btc.com suggested.
But my bitcoin-qt (v0.20.1) went for 255 satoshis instead of some 10 thousands or so. (A rough guess, since I can't recall the actual amount any more.)
The question is: Did I encounter a bug or is there some hidden magic involved?

How did you enter it?

I checked user defined and typed let's say 350 per kilobyte in satoshis. Can't recall the actual numbers. But that's not my point. The fee of 255 is definitely not what I wanted.

How large is the transaction in kvb? A 0.728 kvb transaction with 350 sat/kvb would be 255 satoshi. Could this be a confusion about units?

Good point! I'll double check. But then it should have been confirmed within minutes.

This does seem to be a confusion about units! Typical feerates on the network right now seem to be around 10000 sat/kvb at least (judging by https://jochen-hoenicke.de/queue/#0,24h). Many sites use sat/vb rather than sat/kvb or BTC/kvb.

This is the culprit: https://www.blockchain.com/btc/address/3G3frXKRxxs3S3RPKqbiskudxijQEBR6BY

My theory: if you actually entered 350 sat/kvb in Bitcoin Core, it may have rounded it up to 1000 sat/kvb (which is the absolute minimum for it to be relayed on the network, even absent any mempool pressure). If the transaction was 255 vbytes (which is very plausible), you'd get 255 sat as fee.

Makes total sense. But why didn't it confirm yet? That's confusing me.

If you paid a fee so far below market rate, there is no reason why it would confirm.

Yes, I got it! Now you made me feel stupid. :) So, I have to wait for some weeks or so for my coins to find home to mommy,

I believe you're confusing units here, and entered a value intended as sat/vB in a place that expects sat/kvB.
Perhaps you intended to use 40 sat/vB (=40000 sat/kvB, or 0.0004 BTC/kvB), which would translate to around 10000 sat (or 0.0001 BTC) for a typical transactions.
When interpreted as 40 sat/kvB, it would be far below the minimal relay fee on the network (1 sat/vB, 1000 sat/kvB, 0.00001 BTC/kvB). The sender software you used may have rounded it up to 1000 sat/kvB instead, and used that - which may translate to 255 sat for a typical transaction. That is far below the current blockspace market rate, and may explain why your transaction hasn't even propagated (blockchain explorer sites don't even show it as unconfirmed).

Changing the units is rather moving the trouble than solving it. If you get the maths wrong like I did then changing units won't help. But you'll confuse those who got used to the current implementation. Is there a way to guess the size of a transaction in advance? So, bitcoin-core can calculate the actual fee and show it to the user and ask for confirmation?

Yes, already browsing it. Currently, I learned some devs are doing stuff. Better don't interrupt unless you want to provoke delays. My point is: Maths is simple unless you get it wrong. Changing a system to make it work for me will render it useless for those used to the good old days before I showed up. That's why I asked for a different approach (not meant to interrupt the work in progress). My idea is, user confirmation for what is actually going to happen is more helpful than changing units.

If you use the PSBT or raw transaction RPC API you can see the transaction before deciding to sign and/or broadcast it. I don't know about the GUI.

Nice! So, technically and in theory the GUI could learn that too. Now the question is: How to get this idea into dev-brains? From a users view it can't be that difficult. ;-þ

You can start by opening an issue on https://github.com/bitcoin-core/gui/. Beyond that, either doing it yourself, or paying someone to do it :)

Nice counter strike! :) I'm unfamiliar with the code and stuff. Thus, doing it myself will probably cause more damage than harm. What was the second option? No, honestly! I don't want to cause confusion. It's about improving bitcoin-core. That's why I'm asking. To be precise, new to GitHub, new to this bitcoin magic. So, better discuss with people involved first, rather than dashing in and cause an uprising.

I don't understand your question.

What I've learned from the discussions on GitHub is, there is an ongoing confusion about units. Which is obviously true, since I fell for the same trap. Possibly maybe agreeing on a standard can help. It usually does. But who am I to judge? What I missed the most was a feedback on what will actually happen. What fee am I going to spend on the transaction? For this use case feedback from the GUI would be helpful. But that is only distantly related to the use case in action, changing units that is. Does this make sense to you?

Everything you said makes sense, but I don't know what you're asking.

Ok, use case: Manually editing fee and user asks for sending. Next bitcoin-qt calculates the fee added to the transaction then GUI shows to user the calculated fee and ask for confirmation. If ok, then send transaction else edit fee calculation and repeat. Makes sense

Yes, but what is your question? If you think that's a good idea, open an issue with a feature request. People can then discuss, and if someone thinks it's important enough, they may work on it. I don't work on the GUI, but it sounds reasonable to me.

OK! You asked for it. I'll try my very best. Honestly, that was my question. Does this make any sense? Or am I just a weirdo doing random stuff to cause ID10T issues. :)

Pieter, this is all your fault! At least I'll try to blame you for it. :)

Many thanks to Pieter Wuille for his quick help.
I got confused with units. The correct input would have been some ten thousand satoshis for bitcoin-qt is calculating in Kilo Bytes.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Bucketing algorithm in Bitcoin
Bitcoin core states that an entry can be part of maximum 8 buckets. I don't understand how an entry can map to 8 buckets when the data in the entry is the same.
uint64_t hash1 = (CHashWriter(SER_GETHASH, 0) << nKey << GetGroup(asmap) << vchSourceGroupKey).GetCheapHash();

uint64_t hash2 = (CHashWriter(SER_GETHASH, 0) << nKey << vchSourceGroupKey << (hash1 % ADDRMAN_NEW_BUCKETS_PER_SOURCE_GROUP)).GetCheapHash();

return hash2 % ADDRMAN_NEW_BUCKET_COUNT;

When the input is the same, how can it return 8 different values?

That code is from src\addrman.cpp. The code's author has in the past pointed out the associated comments in addrman.h starting around line 91
You should refer to the original source but I'll quote the relevant comments here
(https://opensource.org/licenses/mit-license.php)
Stochastic address manager
Design goals:

Keep the address tables in-memory, and asynchronously dump the entire table to peers.dat.
Make sure no (localized) attacker can fill the entire table with his nodes/addresses.

To that end:

Addresses are organized into buckets that can each store up to 64 entries.

Addresses to which our node has not successfully connected go into 1024 "new" buckets.

Based on the address range (/16 for IPv4) of the source of information, or if an asmap is provided,
the AS it belongs to (for IPv4/IPv6), 64 buckets are selected at random.
The actual bucket is chosen from one of these, based on the range in which the address itself is located.
The position in the bucket is chosen based on the full address.
One single address can occur in up to 8 different buckets to increase selection chances for addresses that
are seen frequently. The chance for increasing this multiplicity decreases exponentially.
When adding a new address to an occupied position of a bucket, it will not replace the existing entry
unless that address is also stored in another bucket or it doesn't meet one of several quality criteria
(see IsTerrible for exact criteria).
Addresses of nodes that are known to be accessible go into 256 "tried" buckets.

Each address range selects at random 8 of these buckets.
The actual bucket is chosen from one of these, based on the full address.
When adding a new good address to an occupied position of a bucket, a FEELER connection to the
old address is attempted. The old entry is only replaced and moved back to the "new" buckets if this
attempt was unsuccessful.

Bucket selection is based on cryptographic hashing, using a randomly-generated 256-bit key, which should not
be observable by adversaries.
Several indexes are kept for high performance. Setting m_consistency_check_ratio with the -checkaddrman
configuration option will introduce (expensive) consistency checks for the entire data structure.

I don't understand how an entry can map to 8 buckets when the data in the entry is the same.

To me, the comments suggest that, for tried nodes, the address range (e.g. 99.0/16) selects eight buckets but the whole address (e.g. 99.0.0.55) selects one of those eight.
I've no idea if that helps, but I think it ought to, and if not, someone more knowledgable will probably provide a better answer.


text:
What is the meaning of Bitcoin terms like `Tx`, `Block-Header` and `Target`
Hello can you please explain what "TXes" are and What "Block Headers & Targets" and "Headers Below Target" mean. Thank you very mcuch.

TX: Transaction.
Transaction: Most Bitcoin transactions probably represent one person or organisation paying one other but some transactions represent an exchange paying hundreds of customers or a mixing transaction that represents hundreds of smaller transactions that are not represented individually. There are more exotic forms of transactions, and probably more types being developed.
Block Header: Information other than transaction details.
E.g. hash of prior transaction, date & time, ...
Target: A target number for miners, their blocks must have a hash less than the current target. every node calculates the target in a standard way. The target moves up and down to try to keep the network's mining rate to 1 block every 10 minutes.
Headers below Target: Headers of blocks whose hash is less than the current target.

Hash: A large number. One that is mathematically derived from a much larger set of data. The mathematics ensures that the hash looks essentially random but is always the same for the same set of data but the hash is completely different if even one bit of the data is different. You can't recreate the data from the hash but you can use the hash to check the data hasn't been altered.
Block: A list of Bitcoin transactions together with a block-header.
Wallet: A software (or firmware) program that securely holds one or more private-keys. Wallets don't contain money. This unintuitive aspect has often been used by conmen to steal money from people new to Bitcoin.
Password: A relatively short sequence of letters, digits and punctuation that is used to protect the secret contents of a wallet. Changing the password does not make a wallet safe to use if someone else has previously had access to it.
Node: A program that uses the Bitcoin network protocols. Typically a wallet.
Full Node: A Node that keeps its own copy of the blockchain and therefore doesn't need to trust nodes run by potentially malicious strangers.
Pruned Node: A Full-Node that discards some information from the blockchain once it no longer needs it. This keeps down usage of disk space but makes the Bitcoin network less resilient.
Private Key: A large number. One that is kept secret. One that can be used to make digital signatures. Knowing a private key allows you to spend money, regardless of what wallets contain that private key. This aspect is often used by conmen to steal money from people new to Bitcoin.
Public Key: A large number. One that is made public. One that has a special mathematical relationship to a Private Key. One that can be used to check that a signature is genuine without knowing the private key. Because mathematics.
Digital Signature: A large number. One that can be produced by a mathematical operation involving a private key and the data that is considered signed. Although a signature can be produced from a private-key, mathematics prevents the private-key being produced from the signature.
Address: A large number. One that represents and is mathematically derived from a Bitcoin-script used in a transaction. This address does not identify a place person or organisation. An address can generally not be used to find someone you sent money to. Don't think of this as a "wallet address" (no such thing really), that's just sloppy thinking that will confuse you.
Blockchain: A linked list of blocks. Linked by block hashes. The Bitcoin blockchain represents a transaction journal that has the details of every Bitcoin transaction since the beginning of time. Every Bitcoin wallet program either has its own copy or access to a copy that it trusts.
Account: There are no accounts in the Bitcoin network protocols or blockchain. Bitcoin doesn't need accounts. Bitcoin doesn't keep track of who owns money or how much.
Validation: Not the same as Confirmation - don't get these muddled up. Every Node validates transactions and blocks. This means it checks all the Consensus Rules. E.g.that block-hashes are below target.
Confirmation: Not the same as Validation - don't get these muddled up. A Confirmation of a transaction is one block that either contains that transaction or which builds on top of such a block (is linked to it by a chain of prior-block hashes).
Consensus rules: A set of rules that all Bitcoin nodes agree to and individually apply. These rules define Bitcoin. A change in the rules can potentially split Bitcoin into two different currencies. Note that consensus is mostly an emergent phenomenon, not one that is explicitly or directly managed or controlled.

One source of help in understanding Bitcoin terms is the search facility in one Bitcoin Wiki. For example see its entry for address


text:
Jaxx wallet updated, money stolen from me
I updated my Jaxx wallet on October 29, 2023, before the update it showed my balance correctly, but after the update, unfortunately, my bitcoin balance shows zero and a transaction was recorded for me, which I haven't done it, follow up on this matter.
Jaxx team did not respond to my email and I realized that I am working with Jaxx team in this project, that's why I sent you a message.I have been robbed and no one is responsible
Txid:
983cd89a27884348d7049f819f496662bb6fb18319a42db04d52d5ba85abf543

It seems possible you installed some fake software.
According to https://blog.jaxx.io/faqs-about-jaxx-liberty-retirement-what-it-means-for-you

Jaxx Liberty is officially being retired on March 27, 2023, at 8:00 am ET. After this time, Jaxx Liberty users who have the app installed will be able to view their 12-word backup phrases for a limited time, but they may be unable to make transactions and balances may be out of date.
To continue to manage your digital assets after March 27th, you need to migrate to a different multi-currency compatible platform like Edge Wallet or Exodus Wallet. We recommend you do this as soon as possible.

https://blog.jaxx.io/sunsetting-jaxx-liberty-what-you-need-to-know/ dated March 7 2023, says

We will not be releasing another version of Jaxx Liberty. If you see a Jaxx or Jaxx Liberty wallet online anywhere else, it is a fake wallet intending to scam people.


text:
How to get a receiving address from Bitcoin Wallet app?
So, I'm trying to obtain my winnings from this online casino OZWIN CASINO, which is based out of Australia, and I'm located in the United States. Problem is that I've never used Bitcoin and I've just created an account using Bitcoin Wallet app. The casino is asking for my Bitcoin address so that they can send me my payment. Where do I obtain this address?

Where do I obtain this address?

In the "Bitcoin Wallet" Android App 1 you get a new address by clicking "Request Coins" at the bottom left of the main page in the app.

The address is in that 2D barcode - specifically a QR-code. The above is an example, don't use it! You can copy the address to the clipboard using the copy icon at the top. You can then paste it into a message or use it some other way.
You can also get a list of addresses (with one marked as current address for receiving) by clicking the "Address book" icon at the top that looks like a label tag

This wallet is sometimes known as the Schildbach wallet because the official name is so generic and useless as a search term. There are many different Bitcoin wallets and many different Bitcoin wallet developers.


text:
Can a bitcoin exchange withhold your bitcoin withdrawal if you don't have the cash to take it out?
Can a bitcoin exchange withhold your bitcoin withdrawal if you don't have the cash to take it out? It's through an exchange called Fame Ex coin.


text:
bitcoin core 27 initial sync blockchain errors
i was sent here from reddit
https://www.reddit.com/r/Bitcoin/comments/1d5wgma/bitcoin_core_27_initial_sync_blockchain_errors/
i did some research and checked the debug.log, it had this error twice:
2024-06-01T20:22:08Z Fatal LevelDB error: Corruption: 18 missing files; e.g.: /run/media/ml/ssdfullnode/btc/datadir/blocks/index/000470.ldb

i never had a power outtage and always shut down everything correctly and typed "sync" in shell
then i tried -reindex and -reindex-chainstate
both times bitcoin-qt crashed without any message and debug.log showed me this error
2024-06-01T22:23:20Z Error: Out of memory. Terminating.

then i found a post by master jonasschnelli, who wrote using:
dbcache=20
maxconnections=3
par=2
maxmempool=50
yet bitcoin-qt still crashes with out of memory
i had no other applications open and checked my ram, it climbs to 9GB out of my 16GB then already crashes
everywhere it tells me 2gb should be enought to run btc core 27 :(
is there any solution to my stuck misery?

Does the file mentioned in the error message exist and have the expected permissions?

Are you sure Bitcoin Core is using the bitcoin.conf file you created? Can you include the first few dozen lines of debug.log? What operating system/filesystem is this one?

Hey, OP here,  @RedGrittyBrick yes everything had read/write acces and sry dunno if file rly existed, but i tried syncing the blockchain 4 times on linux and always failed at other blockheights when i had to close bitcoin core.

Hey, OP here,  @Pieter Wuille yes, the debug.log shows it used all the options i chose. i used Manjaro Arch linux fully updated and the 2tb ssd had ntfs fs, because i had to exchange files between windows and linux for work (which is why i have to close btc core once a day)  https://pastebin.com/vsDdNVcD

also UPDATE: i tested around a lot and linux seems to have serious issues with either 1 or a combination of these 3 things: - im using a ssd to usb3 adapter - ntfs fs  - many files in one single folder.   i had issues like pcmanfm filecount went to ininity when i inspected folder properties. and the estimated size of the folder went over the capacity of the ssd.  i also got problems mounting the ssd, so i had to chkdsk /f the ssd on windows.  after that i started the windows btc core software and voila everything seems fine, it got past the bootup screen and is now even syncing remaining blks


text:
Why does bitcoind (0.7.2) give an error when trying to issue getrawtransaction over RPC?
I am writing an web application using Python/Flask. I am using
http://laanwj.github.com/bitcoin-python/doc/
to connect to my bitcoind 0.7.2 server as follows:
conn = bitcoinrpc.connect_to_local()
accounts = conn.listaccounts(0)

This is all working well. However, when I attempt to use some of the newer raw transaction calls, I get an error. For example,
raw_transaction = conn.getrawtransaction(txid)

results in the following error:
AttributeError: 'BitcoinConnection' object has no attribute 'getrawtransaction'

It seems (though I am not sure) that the methods that don't work for me are those that are listed here:
https://en.bitcoin.it/wiki/Raw_Transactions
Thanks to anyone who can help on this.

While cdecker technically answers the question posed, I found that the best solution around the problem is to use the following package to connect with bitcoind:
https://github.com/jgarzik/python-bitcoinrpc

That particular API client library does not yet implement all calls that are exposed by bitcoind. See the API documentation for a list of calls that are implemented.
The problem is that your Bitcoin client knows about getrawtransaction but the python library you're using to connect to it does not know what to do with it yet.

While cdecker technically answers the question posed, I found that the best solution around the problem is to use the following package to connect with bitcoind:
https://github.com/jgarzik/python-bitcoinrpc

If you're just looking for a JSON-RPC client lib in python then https://github.com/joshmarshall/jsonrpclib might be your thing.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
requesting transaction information through peer2peer network got notfound
my current understanding is that after i did my "handshake" with a public node succesfully, i should be able to do a getdata mesage about a transaction from a transaction hash and they should respond with an inv message containing my transaction right?
when i do that i instead receive a "notfound" object. does this means i also have to make sure that i connect to enough node that atleast one node have the data of what i wanted.
thanks in advance!
'def main():
    address = ("35.180.184.150", 8333)
    sock = handshake(address)
    send_getheaders(sock) #get 4000 headers and blocks

    #--------------
    #
    global thres
    thres = 0
    while True and thres < 3 : #thres is so that my program doesnt listen to b'inv for eternity
        try:
            packet = Packet.from_socket(sock)
        except EOFError as e:
            print("Peer hung up")
            return
        except Exception as e:
            print(f'encountered "{e}" reading packet')
        handle_packet(packet, sock)
    tx_hash = int("27936a1262df5d27547f8e12549be5301e71d5aa4d8d82a030530336029f77eb",16)
    #tx_hash from one of the block
    items = [InventoryItem(1, int_to_bytes(tx_hash, 32))]#getting tx
    getdata = GetData(items=items)
    packet = Packet(getdata.command, getdata.to_bytes())
    sock.send(packet.to_bytes())
    return sock'

This only works for unconfirmed transactions. Nodes do not maintian an index of confirmed transactions because this is unnecessary, so you will receive notfound.

I see, but if i do a getheader command , then a getblocks command, then for each block i derive the transactions. then i can receive transaction history?

That is correct.

but i am still not quite sure the process of asking for the transaction history can you please tell me what is wrong with my procedure?

Handshake
Getheader
Getblocks
getdata(transaction)

when i do this i still receive a "notfound"

i added the code in the question

You cannot ask for individual transactions unless they were specifically advertized to you (through inv tx messages). If you want blocks, download blocks (using the getdata block message, not getdata tx).

so just to make sure,
It is not trivial to grab a transaction details from a node because nodes keep their blockchain data in the form of block headers. which means if I would like to get a transaction details i need to specify the block header and only request that block then do the searching of the transaction locally in my device?

@nicholas___ Right, but more accurately, you never do that. There is no reason (apart from debugging) why you'd ever need to do that. Generally you either download every block already and process it locally, or use some filtering approach where you selectively download (like BIP37 or BIP157). When you care about a transaction, you only know after you've seen it.


text:
Does bitcoin qt need to synch before I can spend my change?
Sorry for the follow up question...
i was trying to transfer my btc to a new wallet (believing the original one had been compromised).
I sent 2 tiny test transfers of $1 then when they arrived in the new wallet I sent the rest of my btc.
When I check the blockchain it looks like the two $1 transfers may have generated large ‘change’ transfers.
The big transfer didn’t appear.
Does bitcoin qt need to synch with the network before it will notice the change has been received and allow the big transfer to go ahead?
It is still rebuilding the blockchain...
Thanks in advance!
P
Additional info: the big transfer has not been confirmed but it looks like my wallet has sent it. The big transfer is not on blockchain.com. Only the first 2 small ones with their paired transactions (possibly change) can be seen.
Any idea why the 3rd transfer isn’t showing up?

Does bitcoin qt need to synch with the network before it will notice the change has been received

It won't know about the change transaction until it has processed the block containing that transaction. Your change transaction is in a recent block, your bitcoin software is still catching up earlier blocks and hasn't retrieved that recent block yet.

allow the big transfer to go ahead ...  It is still rebuilding the blockchain

This seems like a misunderstanding on your part. If the block containing the "transfer" has 6 confirmations, it has already "gone ahead". It is absolutely irrelevant whether your wallet ever catches up or not. In this scenario wallets only ever do two things

send your transaction out to a few Bitcoin nodes it knows about hoping they will pass it on and that eventually a miner will notice it and include it in a newly mined block.
keep listening for newly published blocks and reading them to see if they contain any mention of any of the set of addresses the wallet thinks you are interested in (ones it generated for you).

Wallets do not "allow the transfer to go ahead". As far as the rest of the world is concerned, once your wallet sent out the candidate transaction, your wallet's role in the process ended.
Wallets generally try to dissuade you from using money associated with  transaction outputs the wallet has either not yet seen in a mined block or for which it has not seen at least 6 subsequent blocks built on the block containing the transaction.

Footnote:
For simplicity, and to avoid causing confusion, I have omitted possibilities like RBF, double-spending attempts, etc. I am assuming the normal simple process used in most ordinary regular boring plain transactions.

The 3rd bigger transfer doesn’t show up in the blockchain. Only the two small ones do along with paired transfers that people have suggested are probably change.


text:
How to run a full node: Am I already doing so?
I've succesfully installed bitcoind and bitcoin-cli. I got some questions about it:
I run bitcoind in the background by typing: bitcoind -daemon and the blockchain begins to download:
By typing getinfo  I can see how many blocks are known to my client on the line “blocks”… that´s ok for me.
But what happens at the end? I don´t see that bitcoind reports me anything back on the shell.
I see by typing getinfo that the blockchain is already on my computer. Then I turn off or hibernate computer for few hours.
I run bitcoind -daemon everytime I turn on my computer and it downloads the latest blocks that, of course, are missing because my computer was turned off.  Is that all?
Am I already running a full node?
Do I have to wait for the full download of blockchain for sending or receiving BTC with blitcoin-cli?
Does bitcoin-cli  work without this large file?

Yes, congratulations you are running a full node.
Note that you're mostly running a full node so that you can fully validate everything so you can now send and receive money without trusting anyone. However you are trusting your PC itself, malware might steal your money or cause you to lose money (both would happen with non-full nodes too of course).
You might want to check how many connections you have (after bitcoind has been running for at least an hour or so) use getpeerinfo. If you only see 8 outgoing connections then other nodes can probably not reach you. If you would like to enable them to do so you might need to configure your router to do portforwarding.
For receiving bitcoins you don't even need to be online at all. For sending them you don't need to have finished downloading as long as it has downloaded far enough to know that you received any.

Good job running a full node. You are already helping the bitcoin network. Yes, you have to wait for the full download of blockchain for sending or receiving BTC with bitcoin-cli.
To better know what bitcoind is doing, you can install frontend for bitcoind. Have fun watching bitcoin transactions!


text:
How to edit bitcoin.conf for bitcoin.cli scripting
I want to install Kristaps Kaupe’s scripts on my bitcoin.conf but I am afraid I don't have the technical expertise necessary to make it run.
I am simply cutting and pasting it on my bitcoin.conf file, but I get an error from the start, I am sure I have to change somethings on the script in order to point to the right directory. I can manage cut and paste and entering commands on the console. Could anyone please give a simpler example showing the changes we need to make to run the script? Thank you in advance.

They aren't configuration you add to bitcoin.conf; they're separate scripts you run.

Your link says

Dependencies: bash, bitcoin-cli (v0.15 or newer), awk, bc, jq, sed.

which means it runs on Linux (possibly also under WSL bash shell)
you tagged your question wasabi and samouri - but those products probably don't support the necessary interface or platform, so I am unsure why you used those tags. You must be running a bitcoin-cli executable from bitcoin core.
Your link also says

Scripts use Bitcoin JSON-RPC API, so it must be enabled in bitcoin.conf (server=1, rpcuser= and rpcpassword= settings).

which means you must have a bitcoin.conf file in the appropriate directory ($HOME/.bitcoin/ on Linux unless you specified something else) which contains something like
server=1
rpcuser=digitrader21rpc
rpcpassword=jshdfvIu327840hfo8foUih24378786t5vlkjheroIJ98t-89t-!

btw. would you know how to specify bitcoin.conf location? /opt/bitcoin/bin/bitcoin-cli -conf=/bitcoind/conf/bitcoin.conf createwallet "btc-wallet1" seems not working


text:
How to claim BTC from address generated with my QR code
How do I claim bitcoins sent to my Wallets address when the receipt generated another address

Sometimes wallets are slow to realise that they have received money. It may be you just need to wait a few minutes or hours.
Key points

A wallet normally has many addresses, not just one "wallet address". Many wallets have a way to see all addresses they have used. This feature may not be prominent, you might need to dig through the menus a bit to find it.
Bitcoin is never "claimed" in the Bitcoin network. Having provided the sender with an address, the recipient plays no further role in receiving money.  You can receive money while all your devices are turned off. You can receive money even after you destroy all your wallets. By listening for news about confirmed transactions, the wallet can realise that it actually received money a very long time ago.
Confirmed transactions cannot be undone, cancelled, revoked, reversed, refunded, claimed back, redirected, recovered, invalidated, erased, deleted, altered or otherwise interfered with.

Whenever you use the Receive button in a current wallet application, it generates a new receiving address. You should not expect to only have one address.
If Bitcoins were sent to an address outside your control there is no way for you to unilaterally claim them and no way to undo, cancel, or reverse the transaction.
The Bitcoin network has no record of who has the private key corresponding to that address. If you know who has the private key, and how to contact them, you could ask that person if they are willing to give you the same amount of money they received.


text:
What are the comparative benefits of each kind of address
Of the available address formats: Legacy, Segwit, Native segwit and Taproot
Which is the better one in terms of security?
What are the benefits of using one address over the other?

I don’t think that there is a significant difference in terms of security between the various output types. Modern input types are more blockspace efficient, but a few wallets still cannot send to them.
P2PKH (aka Legacy)

Addresses start with 1…
All wallet software can parse the address format and send to it
148 bytes for an input, 34 bytes for an output

P2SH-P2WPKH (aka Wrapped Segwit)

Addresses start with 3…
All wallet software should be able to parse the address format and send to it
91 vbytes for an input, 32 bytes for an output

P2WPKH (aka Native Segwit (v0))

Addresses start with bc1q…
Almost all wallet software can parse the address format and send to it
68 vbytes for an input, 31 bytes for an output

P2TR (aka Taproot (aka Native Segwit v1))

Addresses start with bc1p…
Most wallet software can parse the address format and send to it, but a few services and wallets have not implemented support yet.
57.5 vbytes for an input, 43 bytes for an output

If you don’t mind occasionally dealing with a counterparty not being able to send to your standard addresses, I would just generally use P2TR. For more compatibility, use P2WPKH. I would be surprised if someone had a convincing reason to recommend Legacy or Wrapped Segwit today.

For better security and compatibility, using Native SegWit (bech32) is recommended for Bitcoin addresses. It offers lower fees and faster transaction processing. Taproot is more advanced, adding privacy and flexibility, but isn't as widely supported yet. Choose based on your needs and wallet compatibility!


text:
How to decrypt an encrypted private key
"addr": "193BiCSPG1fJzU4JSLhi4tvXUQ6Qr6kLiq",
"compressed": false,
"encrypted_privkey": "f567de89242dd72c66c9d47908928cd7c47df5dc5979f3af9787ce4d2a48380bd01562b4d2dbe2413d3f475fed02c491",
"pubkey": "0403704ed6f56af9f355f4aa45bd351699570ef6a33f31023f168be12e242614c8485c3c785f42efcd39d29b973b57ce8b32f15afacb0cfa55acb77722b0da6c8c",
"reserve": 1
i wanted to ask what is that encrypted private key , if its encrypted than how can i decrypt it

which wallet software, 2) do you know the wallet password?

its from btc core dat file and well i dont know the passcode if i know that i think i can decrypt it through core wallet now what i did is i extract this data using pywallet codes now i have its encrypted M key salt now i am getting harder to decrypt private key hex if you know the answer i would really appreciate and like to learn.

if its encrypted than how can i decrypt it

If you know the password it can be decrypted.
If you don't know the password, you will not be able to decrypt it.
If you know almost all the password, a brute force search might succeed after a long time (weeks or centuries depending on how much you know)

its from btc core dat file

There are a lot of fake wallets with names like "BTC core", If you mean "Bitcoin core" and have the genuine version, the following may apply:
There are password recovery tools that implement brute-force searching if you know most of the wallet password.
For example BTCRecover offers

Bitcoin wallet password recovery support for:

Bitcoin Core

I havent tried this so this isn't a recommendation. I would expect there are many fake versions around that steal money.
You will soon also be contacted by criminals pretending to offer password recovery services. They will either steal your wallet contents or gain your confidence and trick you into paying invented fees.

The encrypted private key you provided is a representation of the private key that has been encrypted using a specific encryption algorithm. To decrypt the encrypted private key and obtain the actual private key, you would need the corresponding decryption key or passphrase.
Without the decryption key or passphrase, it is not possible to decrypt the encrypted private key. Encryption is used to protect sensitive information, such as private keys, from unauthorized access. The encryption ensures that even if the encrypted private key is somehow obtained by someone, they would still need the decryption key or passphrase to decrypt and access the actual private key.
If you have the decryption key or passphrase associated with the encrypted private key, you can use the appropriate decryption algorithm or method to decrypt it and obtain the original private key. However, it is important to exercise caution and ensure that you are using a trusted and secure method to decrypt the private key, as mishandling or using insecure decryption methods can compromise the security of the private key and the associated funds.
If you are unsure about the encryption used or how to decrypt the private key, it is recommended to seek assistance from a knowledgeable and trusted source, such as the service or software provider that generated or provided the encrypted private key. They should be able to guide you through the decryption process and provide any necessary instructions or tools required for decryption.

Thankyou to all who recommend this but aside this what if we encode encrypted hex to base64 and try to change in WIF format is that possible to ???


text:
Is there any way to look deeper at a specific wallet address to see if it's associated with any other BTC balances
I recently switching mining pools and desktop wallet (Sparrow). In an effort to set the address I sent a small amount of BTC to an address thinking it was my own, in a newly set up Sparrow wallet. Unfortunately it didn't end up in that wallet and now I'm extremely confused. The address I sent to was a BTC address and I can see it was transacted on the Explorer... I would have cut and paste the send to address from my Sparrow wallet but when I look at my addresses section I don't see any of the addresses in my sparrow desktop app for any wallet. Is there any way to look deeper at a specific wallet address to see if it's associated with any other BTC balances which may give me a clue to where I sent it? Maybe I sent it to a different wallet of mine... I don't know where else the send to address would have come from?

You can type the address into a blockchain explorer to get a list of transactions and total balance.


text:
How to identify bad peers that are connected to my node
How do I know if it's a bad peer?
I see a lot of connections, but does the software filter out bad peers?
Or is it up to me to do it?
Thank you!

What do you mean with “bad peers”?

Protocol & data deserialization
When your software is connecting to a peer, you are both sending raw data that respects a specific structure. It is the Bitcoin P2P protocol. So if a peer is sending bad data that you can't deserialize or that do not follow protocol, it is a "bad" peer. That's the first way.
Data integrity
The second way is to know data integrity of what the peer is sending you. For instance, if you asked a block, the peer would have to answer you with this block. However, this block might be invalid, and if it is, this peer is a BAD one. Another example, a checksum with SHA256d is used in the header of requests in the P2P v1. If it is incorrect, your software will detect it.
Conclusion
Bitcoin core follows its own specific network protocol. A peer which doesn't respect it will be a "bad" peer. There are plenty of consensus network rules. I just illustrated main ones.


text:
How can we know the first bytes of a hash for a given input format string?
In the bitcoin developer wallet guide, when talking about Mini Private Key Format, when they explain how the format works, they describe some steps:

The first character of mini keys is ‘S’.

In order to determine if a mini private key is well-formatted, a question mark is added to the private key.

The SHA256 hash is calculated. If the first byte produced is a `00’, it is well-formatted. This key restriction acts as a
typo-checking mechanism. A user brute forces the process using random
numbers until a well-formatted mini private key is produced.

In order to derive the full private key, the user simply takes a single SHA256 hash of the original mini private key. This process is
one-way: it is intractable to compute the mini private key format from
the derived key.

What I do not understand is step 1 and 2 combined with step 3, if a hash function such as sha256 is irreversible, this is, given its output we cannot guess its input, how is it possible that we can know that a private key that starts with 'S' and which we added a question mark will result in a hash that starts with '00' byte?
Can people extract input formats knowing that it will output certain characters in certain positions?
Is it not one of the pros of hashes that a minimum change in the input will transform the whole output?
How can someone assure that with step 1 and 2, you will get '00' byte, when if a change is made over the left hash input characters, it will completely change?

how is it possible that we can know that a private key that starts with 'S' and which we added a question mark will result in a hash that starts with '00' byte?

The text you quoted includes this:

A user brute forces the process using random numbers until a well-formatted mini private key is produced.

So I guess the initial mini-private-key is the result of a lot of attempts to produce a value with that characteristic.
I think that if you take "S", append 29 random characters (from the base58 character set) and append "?" then take the hash, there is a 1 in 256 chance the resulting hash will have 0x00 as its first byte. So you probably only have to try around 256 attempts on average to create a valid private mini key.
In pseudo-code
func create_minikey() string {
  repeat
     attempt := "s" + random(29, base58)
  until (hash(attempt + "?"))[0] == 0
  return attempt
}


text:
How to improve bitcoin-qt when downloading blockchain? (very technical, dev views appreciated)
GitHub suggested discussing here before bothering developers with an issue.
So be it! :)
I'm running Bitcoin Core Version v0.20.1 and Linux Mint 18.3 on crappy old hardware. Pruning blockchain to 2 G and setting dbcache=2048 didn't help much. Moving datadir from HDD onto a USB-Stick did a little.
top says CPU around 20% can reach up to 40 if I manually drop slow or unresponsive nodes.
CPU frequency is rarely going up. So, no issue here.
Memory usage is fine too, actually a lot of headroom. Looks like bitcoin-qt doesn't need that much cache.
Swap is empty. (vm.swappiness=5)
iostat
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sdc               0,00     0,00  549,00    0,00 51125,00     0,00   186,25     1,06    1,92    1,92    0,00   1,70  93,60

Bottleneck seems to be file I/O. Which confuses me since that is what a cache is meant to fix, isn't it?
Now to my questions:
Is there anything I am missing to improve disk access?
Is there an open issue on GitHub regarding this already?
And secondly for the experts on dropping lazy nodes. Can you give me a hint at which classes I have to look to understand the strategy? Or even better a link to the discussions on that topic.
For I don't want to start an arms race between clients seeking faster download and nodes trying to serve fair.
Short summary what I've learned so far.

Don't use USB-Sticks for datadir. For bitcoin-qt might shutdown due to Fatal LevelDB errors.
Pruning increases disk I/O while saving disk space.
Even on crappy old hardware memory and CPU are most probably not the limiting factor.

Pruning prevents aggressive caching, as it requires a flush any time files are deleted from disk. Have you tried without pruning?

Thanks Pieter! My USB-Stick is too small for the hole blockchain. That is why I went for pruning. But it looks like I don't need to store the blockchain itself on the stick, true? Do you have any hints which files are impacting heavy disk I/O?

I would recommend against using a USB stick for anything; they're notoriously unreliable for heavy database workloads like Bitcoin Core needs. With sufficient dbcache the speed of the disk really shouldn't matter. The heavy I/O is in the chainstate/ directory only.

I totally agree on not using USB-Sticks. :) But my crappy hardware somewhat forces me to. As I said disk I/O is the issue for me. The stick is performing better, now we are talking about days not weeks. So technically the correct answer would be: "Dummy, buy better hardware!". But I'm more concerned about the underlying bottleneck. And crappy HW is what you need to find bottlenecks. :)

Well have you tried using your internal hard drive without pruning, but with a large dbcache? Even if you don't have enough space for the entire chain, it may give you an idea of the speed.

Yes, first I tried out of the box. Then went for sudo renice -20 $(pidof bitcoin-qt). General rule: Don't try to be smarter than the team. But then I came across pruning. Meant to save disk space, solving one issue. Next I stumbled into disk I/0. Well, such is life.

Some more info on why not to use USB-Sticks. Now and again I encounter a Fatal LevelDB error shutting down bitcoin-qt. Nice occasion to back up datadir. :) This has not done any damage yet, bitcoin-qt recovers fine after restarting. But still not what you actually want.

Short and simple answer to my initial problem regarding downloading the blockchain: You might need better hardware! :)
In summary bitcoin-qt runs out of the box.
So do not fumble around. Unless you really need to.
Pruning saves disk space but increases disk I/O.
Increasing dbcache can help but not so much for pruning.
Both can be done in config-window. Thus, no need to change bitcoin.conf.
Plus, ... I haven't mentioned it lately, have I? ... don't use USB-Sticks! :)
Having that out of my way let's dive into my "real" question.
If we look at it from a queueing theory point of view we have three fields to consider.

Input that are the nodes you are feasting on.
Processing where your hardware and configuration comes into play.
Output writing to disk in our case.

Input side
At first glance it look like I had problems connecting to responsive nodes.
Looking deeper into it, I found the sending side was never really an issue.
The sending behaviour of nodes in average over a long period made me distinguish three main types.
A few are sending MB, some a few KB and a lot just 150 Bytes then drop out
Over time responsive nodes lower their data rate.
Data is usually coming in bulks. All nodes send in parallel many MB/s and then stop for several minutes. While my CPU and disk are constantly busy. So it looks like they are filling one input queue.
This is generally a usual behaviour for queued systems. They are pumping. That's why you have buffers.
Looks like increasing buffers will not help on my machine, since there is already plenty of headroom.
Sending at high data rates and slowing down over time makes sense for the nodes to distribute load on other nodes. From a clients view this is a preferable behaviour too.
Although my view as a user is bitcoin-qt can improve its dropping strategy, to not bother nodes who did their fair share and focus more on still very responsive nodes.
Sending KB even somewhat erratically at low data rates isn't really helpful.
Since in a free network you can't tell a node what to do, clients need a strategy to drop those nodes early.
Why do some nodes just show up to say hello and leave 150 behind?
Probably a kind of handshake. But do we actually need to hold them for a while?
In short: Yes, technically there is room for improvement. But is it worth the effort?
Processing side
I'd say everything is fine. Neither memory nor CPU are problematic.
Output side
Disk I/O is an issue, at least for me.
As Pieter pointed out pruning prevents optimal caching.
I'm reluctant to judge on this topic without thorough understanding.
But my first approach would be reducing the number of files involved.
Many thanks to Pieter and Murch for their quick response. Helped a lot!
Feedback and corrections highly appreciated!

An addition to USB-Sticks. Some db errors only require restarting bitcoin-qt. But you can also end up reindexing a pruned database. You don't want that to happen.


text:
Why are m-of-n transactions not used today?
BIP 11 supports m-of-n transactions. While BIP 16 and BIP 17 are being debated and voted upon, I have to ask: why haven't there been evidence of BIP 11 used in for m-of-n transactions?
All that BIP 16 and BIP 17 do is shift the cost to the recipient. This is healthy for the long term cost structure, but it doesn't mean that BIP 11 style m-of-n transactions aren't usable today, does it?
Have it been used somewhere and I just don't know about it? Or is the current protocol not usable for m-of-n transactions?
See also this question about BIP 12, 16 and 17.

The point with BIP 16/17 isn't to shift the cost, that's at best an added bonus. The point is to make a consistent framework for all kinds of transactions, so the sender doesn't need his client to support each tx type, doesn't have to enter a long (and inconsistently formatted) address, and doesn't need to know how the receiver wants to use the output.

Almost all nodes on the network will not relay multisignature transactions because they are not "standard," and almost all miners will not include them in the blocks that they create (for the same reason).
The notion of a "standard" transaction was implemented after Bitcoin started getting popular and had to deal with various denial-of-service attacks that involved creating and transmitting large or expensive-to-validate transactions.
BIP 11, which is currently (Feb 2012) in the process of being deployed, adds up-to-3-signatures-required transactions to the other two "standard" transaction types.

Is BIP 11 standard now?

Bitrated was recently released and allows using m-of-n transactions, though its not general-purpose and was built specifically for the purpose of arbitration by a trusted third party.
(Disclaimer: I created Bitrated)


text:
different multisig address from the same public keys
When I use bitcoin-cli -testnet to generate a 2-of-3 address, the code:
bitcoin-cli -testnet createmultisig 2 '''
 [
   "03b91ff254ae3bb3861e4a6c16ab356d6c52ccfd2b58bedf0dda84657dfd9d9afc",
   "039f1475fb37d91ed65765c897acbdc37da3a7aba19f5b8ad5ff22a994e8350798",
   "030ee8793fa2cb93f0cfd475b990cbaa48a28d83bd8f434348607368e52644febf"
 ]'''

the result is
"address": "2MzSwUwBc1xuNHwRotwrdFugLvju8VV9uPT",

But when I use bitcoinjs-lib, the code is:
var pubKeys = [
'03b91ff254ae3bb3861e4a6c16ab356d6c52ccfd2b58bedf0dda84657dfd9d9afc',
'039f1475fb37d91ed65765c897acbdc37da3a7aba19f5b8ad5ff22a994e8350798',
'030ee8793fa2cb93f0cfd475b990cbaa48a28d83bd8f434348607368e52644febf'
].map(function(hex){
return new Buffer(hex, 'hex');
});

var redeemScript = bitcoin.script.multisig.output.encode(2, pubKeys); // 2 of 3
var scriptPubkey = bitcoin.script.scriptHash.output.encode(bitcoin.crypto.hash160(redeemScript));
var address = bitcoin.address.fromOutputScript(scriptPubkey);

Now the address changed to
38tjRCFaQWQ269oGDpEkdxh5iPgxh7kvtB

How could this happen? Did I do something wrong?

you run bitcoinjs-lib in main-net mode and it generates the human-readable address for main-net
bitcoin-cli you execute with -testnet parameter and got address for test-net
you can check that these hashes are the same:
https://testnet.smartbit.com.au/tx/8c67e4d3264696d222d5a72c70c8806eb3f12b9a02d1bc80554ab00803be86c0
https://blockchain.info/address/38tjRCFaQWQ269oGDpEkdxh5iPgxh7kvtB
both are 4f0017ef9291b625bec1d7efacc246a37b293682

Thanks for your answer. I want upvote your answer but I don't have enough reputations. Thanks again.


text:
Bitcoin core full node - Should I choose my peers or it's fine to use the hardcoded ones?
I have a full node v 0.17.1 running 12-14 hrs/day and I was wondering if it's helpful, for privacy or for whatever reason, to add peers (maybe from https://bitnodes.earn.com/nodes/leaderboard/) with connect= or addnode=.

The list is just for bootstrapping, no need to manually list peers unless you have others you specifically want to maintain connectivity with.

Hardcoded peers are fine - the only time you would need to change them is if you worried they were in an entirely different set of peers from the rest of the Bitcoin network.
However, that is unlikely the case. They should have passed on their peers to you, so you can have an active connection with a much more diverse set of users in the network.

If you use connect, you will only connect to those specific nodes.
addnode on the other hand tries to connect to the specified nodes, but keeps connecting to others as well (unless you add more nodes than there are outbound connections available, I presume).
It can be helpful regarding privacy to only connect to nodes you trust - how to find them is another question.
Also, there are no hardcoded peers in official bitcoin binaries as far as I know (check comments)
You can find bitcoin.conf example file here for more information.

There are hardcoded fallback peers in the binary, but they're only used when all other mechanisms of finding peers (local IP database in peers.dat, DNS seeds, asking for more peers from your existing connections, ...) fail.


text:
Why does bitcoin sync inventories?
I read the bitcoin docs describing how btc syncs. During IBD it gets the inventories up to the tip with getblock. Why does it not skip this step and get the blocks, generating the inventories as it gets each block? Surely getting inventories is slow, unneeded and inefficient?
I believe bitcoin daemon over version 0.10.0 now sync headers rather than inventories, i am talking about pre 0.10.0.

Your question contains too many misconceptions for me to answer... what do you mean by "skipping this step"? Syncing inventories exactly how the nodes learns about and downloads the blocks. I don't know what is slow, unneeded, or inefficient about it.

@Wuille why would I need to download inventory’s to learn about the blocks? What does a number and a hash tell me that I can’t get from syncing the block data it’s self. Perhaps I have misunderstood the docs?

The inventory is how you learn the block exists at all. It's how you figure out "oh this peer knows a block I don't have yet, let me ask for it".

@pieter wuille ah I see. I was under the perception your node already knew this. Thanks :) this has answered the question. Feel free to put it into a response and I will mark it as correct! – Leo Cornelius

Bitcoin 0.1 didn’t even have inventory messages. You mean 0.10.

@Claris Sure about that? https://github.com/bitcoin/bitcoin/blob/v0.1.5/main.cpp#L1800

Pre 0.10 versions synced inventories as it was the way they composed a list of blocks that they then recursively request from the peer. It provides multiple benefits over just asking for all blocks since timestamp x (where is the timestamp of the last block we had).
The biggest one being that it allows you to check the peer is on the same chain as the checkpoint you are using, this means you can check the peer is on the correct chain (eg the one your checkpoints state is correct) before downloading blocks, which are considerably larger than just hashes.


text:
Generate p2sh-segwit and address bech32
When I use bitcoin-cli getnewaddress "" "p2sh-segwit" which kind of script is inside And can I convert if in bech32?

Does this answer your question? Confusion about Addresses

You should never ever try to convert an address from one format into another, as you don't know what type the receiver software expects. If you want a particular type address, ask for it.

@MCCCS thanks. What kind of redeem script Can I have If I get p2sh? What is default script?

"legacy" will give you a P2PKH script. "bech32" will give you a P2WPKH script. "p2sh-segwit" will give you a P2SH-P2WPKH (a P2SH script with a P2WPKH redeemScript).


text:
Who is the target audience?
I can not stop asking myself the question, what problem does bitcoin actually solve? Before you accuse me of being lazy and not doing any research, here is my thought process:
You want to have a

decentral
stable

currency, (where trust is not needed).
From an economic perspective (without much knowledge about cryptography), these axioms already seem contradictory. Why? Well if you want to be decentral, no one can be allowed to change the money volume. But if you can not change the total volume of the money, you can not get a stable currency. Since the velocity of money is determined by exogenous factors such as payment cycles (e.g. monthly bills, wages, etc.), it is often assumed to be constant in economic models. But then the total amount of money which exchanges hands (i.e. the nominal GDP) is the total volume of money multiplied by its velocity (i.e. Y =MV).
Which means that a constant volume of money results in a constant nominal GDP. Which means that (assuming your economy grows) this will cause deflation. Of course you might hard-code some rule into your system, that the amount of money increases over time. But since you can hardly guess the GDP growth over the next decades, you will grossly under and overestimate growth and thus cause inflation or deflation whenever you under- or overshoot.
In other words: For any stable currency, there needs to be a way to adjust the volume of money. But since that adjustment needs to be made on the basis on activities in the real world, you need some form of input to your computer system. And whoever decides that input effectively decides the money quantity. So you end up with someone having power over the system. Of course this someone could be a committee. Maybe you could even implement some voting system, but since votes need to be allocated somehow this would likely result in votes proportional to wealth.
EDIT: Additionally the question is, who gets awarded the generated funds? In the current system the central bank has a monopoly. It can generate new funds and use that for things like economic relief programs (e.g. business loans in the current corona crisis). If no one has such a monopoly on the generated funds, and everyone can get them, then there needs to be some cost associated to obtaining them. Otherwise everyone would just print money. But you only stop people from printing, if the cost is roughly equal to the benefit. In other words: In a decentral currency, the cost of generating money must necessarily be so high, that it eats up the entire value of the money generated. This means crypto currencies with inflation necessarily have to be economically inefficient. I.e. people must waste resources like computing power in order to generate funds. Which means that the generated funds do not contribute to anyones well being, and can especially not be used for economic relief programms.
So not only is it difficult to implement a form of inflation which keeps step with real GDP growth, the distribution issue will cause a lot of unnecessary waste.
/endEdit
Compare that to a central bank in a functioning democracy, which would be governed by all people regardless of wealth. That sounds hard to beat.
This is why I doubt that crypto currencies could ever replace centrally issued money at all. And this fundamental issue does not even encompass the problems with current implementation. Proof of work causes transactions to be extremely expensive, and proof of stake appears to be just as problematic.
Okay so if the target audience is not functioning democracies, maybe you could target failed systems? Hm, so I doubt that the dictators in such countries are interested in giving away power over money. So any crypto currency would be unofficial. Then the question is what benefits does crypto currency provide over any other foreign currency? Failed systems are usually not known for their highly educated population, so it is unlikely [many] (edited) would actually understand how crypto currencies work (even spoiled by a good education system and a university education I do not understand it - I mean I probably could if I would start to read, but I am still wondering why I would even want to). So any crypto currency based service would have to run through some form of user friendly system. Who would design such a system? And if you trust them, you already trusted some company. Why can you not just trust a bank then? Which would enable you to have an account and posses all sorts of stable foreign currencies.
So neither democracies nor failed states seem to be the target audience. I mean not even criminals can really use this system since it is an open ledger and I heard stories about transactions being traced, completely ignoring the fact, that this would be a strange target audience to say the least.
So who in the world is the target audience? (Except for enthusiasts/idealists and speculators of course)
Or are any assumptions in my reasoning wrong? I mean people seem to be enthusiastic about it, and I would have thought the hype should have died off a long time ago. Yet for some reason this thing still exists.

Hi Felix, thanks for your interesting query. I'm not sure I follow what exactly you mean to cover with the term "stable". Do you mean to encompass stability of the system, stability of the purchasing power, reliability for wealth preservation, or something else entirely?

Related: https://bitcoin.stackexchange.com/q/408/5406, https://bitcoin.stackexchange.com/q/66/5406, https://bitcoin.stackexchange.com/q/182/5406

@Murch stability of purchasing power (stability against in-/deflation)

I see that you edited your question to add an additional question. This significantly changes the scope of your original question (already fairly long question!) after it has already received two answers. It would be better to post your follow-up question as a new topic.

This is probably going to be closed as a question of opinion, but here is an answer nonetheless:

But if you can not change the total volume of the money, you can not get a stable currency... In other words: For any stable currency, there needs to be a way to adjust the volume of money.

Your assumption is that a form of money that is manipulatable will be stable, and that this stability will be a better outcome (than using a form of money that is not manipulatable, but less stable). So one answer to your question would be:
"People that think the benefits of no potential for monetary manipulation will outweigh the benefits of a relatively stable currency".
Another answer to your question would be:
"People that disagree with the premise that stability is an absolute requirement for a currency, or that disagree with the premise that our current system provides this stability in the first place".
These are largely matters of opinion, so I don't mean to infer that these opinions are correct, I'm just pointing out that it could be a valid opinion to have.

Then the question is what benefits does crypto currency provide over any other foreign currency? Failed systems are usually not known for their highly educated population, so it is unlikely anyone there would actually understand how crypto currencies work

There is likely nobody in the world that is better suited to understand the monetary properties of Bitcoin, than someone who has endured the collapse of a monetary system first-hand. It is those people who have been forced to confront ideas about what gives a system of money its value, which is not to say they will love bitcoin by default, but nonetheless they may have more experience and insight into this topic than the average person from a developed nation, whom has never had to worry about the meta of their money.
So it is extremely presumptuous to believe that 'nobody from a developing nation is smart enough to understand bitcoin'.

So who in the world is the target audience?

Anybody that opts in. Simple as that.

But all of that just addresses economic considerations, there is also a purely technical/social consideration:
Bitcoin is the only permission-less, borderless, internet-connected form of money available. With increased adoption there will be increased utility (more people and places that accept btc as payment), and so we might expect that humanity will converge onto using bitcoin as a schelling point, as it will be the most universally accessible form of payment for an internet culture. Bitcoin allows any person in the world to create a service or business online, and accept payments from anyone else. No other system of money allows for this, it is a very important phenomenon.
The internet gave us freedom of information, bitcoin builds on that by allowing freedom of economy.

Nice answer to a highly opinionated question. I think one other point may be that stability is not a single dimension. For a currency that payments are denominated in, short term stability is certainly desirable, but that can likely be accomplished by just having a larger internal Bitcoin economy. Long term stability is likely inherently incompatible with vanishing inflation, but it could be argued that's exactly a goal on itself: Bitcoin as investment that can withstand excessive monetary inflation in other currencies (while more liquid than other assets).

"Your assumption is that a form of money that is manipulatable will be stable". No I just argue that it is necessary to be manipulatable in order to be stable, not that it is sufficient. And if you really think that "no potential for monetary manipulation" outweighs the loss of stability... sure. And I agree that I phrased this badly: I do not assume that no one will understand it in a developing nation, just that the amount of people will be negligible. And you can not really use a different kind of money than everyone around you. Money is subject to the networking effect.

@PieterWuille You end up with roughly 3% deflation if growth rates continue as they are like today. And deflation is not really desirable. And an investment is buying assets in order to increase productivity. So this is desirable from societies standpoint. Hording commodities (e.g. paintings, bitcoin, gold) is not desirable and not really an investment. Since the only way they increase in value is, by other people paying you more. So that is basically a ponzi scheme benefitting those who already have money (the rich). Not a society I want to live in

@FelixB. Questions of opinion are off-topic, and so debating opinions in the comments isn’t really appropriate for this site. If you post to btctalk, reddit, Twitter, etc, you’ll likely find people to engage with. All of that said, don’t forget to consider the last part of my answer: the utility provided by owning btc may allow it to succeed, in spite of the fixed supply. Bitcoin can do things no other currency can, and that is an important point.

@chytrik I did not think that a fixed supply currency was ever up for debate. I did not think that many people would want to go back to a fixed supply currency like the gold standard. There is a reason everyone stopped backing their currencies in gold. So I did not think that "this opinion" would be controversial. I just wondered whether my assumption that crypto implies a fixed supply was correct. And you not addressing this assumption implies to me that it is. Which is close enough to an answer I guess

Cryptocurrency in general does not imply a fixed supply, but bitcoin does (there are other experiments that use different inflation schedules, though still without human control). I wouldn't say that is "going back to a fixed supply", unless you assume bitcoin will supplant fiat currencies. To me, it is more an alternative available to those who want to try it. And apparently, at least in that setting, it seems that indeed the notion that nobody would ever want an alternative to strongly-managed currencies is controversial; if it wasn't, BTC would likely not have any value.

@PieterWuille How would you implement a variable supply? I argued why I think this might be difficult to implement. Is this correct? Fixed inflation schedules which can not adapt to the real GDP are not really sufficient. I mean in that sense gold was not fixed supply either since gold was mined. The issue was, that the gold supply did not increase in step with the GDP but independently. And a fixed inflation schedule is unlikely to hit the correct GDP growth. ....

... additionally a fixed inflation schedule probably means, that the new money generated is awarded to some type of miners (i.e. competitively) which means that the cost to generate that money has to increase up to the point where profit margins become thin, which means that you can not use the money generated for economic relief (like the business loans in the corona crisis). Instead it is wasted on useless computing power.

@FelixB. Implementing a variable supply in not difficult, but it is uninteresting. Attempting to alter the inflation schedule of a cryptocurrency according to some real-world metric (such as 'correct GDP growth') is not possible without some mechanism for inputting that external data, and that creates counterparty risk. Who is responsible for that point of data entry? If such an entry point exists, it could be used to benefit those closest to the point of control, and that sort of centralization makes many of the potential benefits granted by a network like bitcoin moot in the first place.

are any assumptions in my reasoning wrong?

Trying not to be opinionated, your reasoning is about answering a question why economics can live without some new technology called cryptocurrency.

In other words: For any stable currency, there needs to be a way to adjust the volume of money.

Bitcoin is not pretended to be stable, it is pretended to be working as MVP. Any "stability" features not interfering with the core are yet to be possible. Anybody having proposals of how to make a stable cryptocurrency is welcome.

even spoiled by a good education system and a university education I do not understand it - I mean I probably could if I would start to read, but I am still wondering why I would even want to

Bitcoin EULA may be found at bitcoin.org/bitcoin.pdf . This free and open-source software has appeared not because of anybody's wanting, but as a byproduct of state-of-the-art in cryptographic science. You may have been less like uncertain after you'll read this for several times.

So any crypto currency based service would have to run through some form of user friendly system. Who would design such a system? And if you trust them, you already trusted some company. Why can you not just trust a bank then?

Everybody trusts his bank, but you may have been satisfied of unconditional access to your bitcoin account if all your bank accounts being frozen and connections to outer world are both limited and read. If Alice writes a message to Bitcoin miner's network just on paper, and gives it to Bob with Internet access, then Bob can emit the message which will make the transaction commited, and Eva who has read the paper still can not have an access to Alice's funds.

So who in the world is the target audience?

Knowing by heart the private key from Bitcoin adress with positive amount of bitcoins on it will allow you to produce transactions, computing them on paper without any computers or software. Please note, if you are not a human but an Artificial Intelligence then you shall not be trusted from any bank. Bitcoin is the most user-friendly system for that kind of entity.


text:
What is the job of miners in Bitcoin?
Q. Is it correct to state that a Bitcoin miner has only two jobs:

validating transactions
creating a block to add into the blockchain

Actually, a bitcoin miner is only concerned with creating the next block on the blockchain, through a computationally-difficult problem. It is the role of bitcoin nodes to verify this proof-of-work as they receive these newly created blocks.
As reference, see https://en.bitcoin.it/wiki/Mining


text:
Bitcoin Mining as a Newbie (link wallet to another person's miner)
I'm new in bitcoin mining. I would wish to mining to make some profit. I have just talked to someone and he has told me I can partner with him to use his miner. I have some bitcoins ready with me and before I get started  I want to know how I will configure wallet to his miner.
What should I share with him and lastly how will I know that it is configured?
I'm trying to avoid being conned

What you have described is almost certainly a scam, the likes of which has been reported here many times before. Wallets DO NOT need to be 'configured for mining'; that is not how mining works at all. DO NOT share wallet id, login, private keys, mnemonic seed, etc with him. You will lose your bitcoins.

What should I share with him

Nothing, because

I'm trying to avoid being conned

See for example

I think ive being scammed

I invested with a man who said he can mine me btc ... he then says I need to deposit another 950usd

How can I get a private key for this address

I invested my bitcoins in someone's miner ...
   Now for the key he wants me to pay him $500

my money gone from wallet scam

one trader miner told me that he would double the btc and do minning. i did the i gave access online to my wallet blockchain . later a big scam. my money disapper from wallet and a watch only adress linked created and the my entire btc transferred in to it

BTC Stolen from Blockchain

A guy ... told me that I can mine for bitcoin ... Within half an hour my wallet was empty.

I've been asked to share wallet credentials to participate in mining. Is that a scam?

I've been approached ... claiming that they would be able to increase my bitcoin by linking my wallet to their miner.


text:
How can I get a private key for this address

Is it possible for me to withdraw my bitcoin I invested here?
I don't have the private key

Why do you not have the private key? In general, there is no known way to figure out the private key, given a specific bitcoin address. Bitcoins security depends on this.

Okay. I invested my bitcoins in someone's miner. He requested for me a new miner and told me to fund . so that he can configure it with the miner afterwards he told me to change my password..

Right now I want to withdraw my bitcoins I invested but he is asking me to pay him so that he can give me my private key..

The amount he is asking me to pay for the private key is 10 times what I invest. I invested $50BTC. Now for the key he wants me to pay him $500

This is a scam. Mining does not work that way, if you deposit more money you will not see it returned. Changing your password means nothing if the attacker had access to your account in the past, he will have copied down your recovery phrase, and will be able to recreate your wallet on another device, without needing any passwords.

He has conned me my bitcoins

Unfortunately that is the case, sorry for your losses. In the future do not EVER share your password, login info, wallet backup, seed phrase, private key, etc, with someone that you do not trust 100%. Anyone asking you for that info is almost certainly running a scam / trying to steal your money. At this point, transfer any remaining BTC out of that wallet, and never use that wallet ever again. I've seen this scam before, I expect the scammer copied your seed phrase down and made a second copy of your wallet, so any BTC you send to that wallet now will be immediately stolen by the scammer.

How can I get a private key for this address

There is essentially no way.

Is it possible for me to withdraw my bitcoin I invested here? I don't have the private key

No.

It looks like you fell for a common scam.

I've been asked to share wallet credentials to participate in mining. Is that a scam?
my money gone from wallet scam
BTC Stolen from Blockchain
"Hidden Wallet" onion site
Recovering the private key from a blockchain wallet address
Where do I obtain private keys?

About watch-only addresses (some of these are also probably victims of this type of scam)

Watch only wallet
how do I transfer from watch only wallet to my other wallets
blockchain account has watch onl on i
I have watched addresses in my wallet..how do i use them?
To generate private key
Unable to get private key for Blockchain wallet

Please note, you should never pay for a Blockchain Wallet private key. To receive a bitcoin, you only need to provide the sender with a bitcoin address from your wallet.
I'm sorry to hear about the experience you've had. Very unfortunately, scammers as of late have been taking advantage of users new to the cryptocurrency space and their potential lack of knowledge about private keys, as well as some of our wallet's features. Our wallet can NOT be used for mining, and should NEVER be purchased, created or accessed by a third party. Any person or party claiming otherwise should be considered malicious and avoided. If another party has EVER had access to the wallet, then it should be considered unsafe and never used to store funds. This is because any funds added to or stored within such a wallet could still be compromised using its Backup Phrase, despite any changes made to the password or two factor authentications enabled.
Please be aware, within our wallet a public bitcoin address can be imported into the wallet as 'Watch Only or Non-spendable funds'. This can be done with absolutely any address on the entire bitcoin network. This feature is often used by those who may have paper wallets, or addresses stored within other wallets as a way to still see and track funds without actually importing the bitcoin address's Private Key into our wallet. The balance of addresses imported as 'Watch Only or Non-spendable funds', will NOT show up as part of the wallet's main balance, since without the private key to this address these funds are non-spendable.

A private key is a string of data that shows you have access to bitcoins in a specific address. Think of a private key like a password specific to each address. Private keys are generated, and stored within the wallet which was used to create the bitcoin address. Private keys must never be shared, as they allow the owner to spend the bitcoins from the associated bitcoin address through its cryptographic signature.

Without a private key, you do not have ownership of an address or access to any funds it may contain. Scammers have been using this feature in a malicious manner to trick those unaware of how private keys work, and their requirement for sending funds.


text:
How to Decry-pt encrypted BTC private key
I have public key and Encrypted Private key. I need to decrypt the private key or find the password. I need your help to do this.
Thanks all

the goal of the bitcoin system is to have independency from third parties, or better "be your own bank". With all threats and opportunities. So some thought came into the system, as to the way, private keys are handled. They cannot be calculated from public keys (as per today's knowledge), and when the private key is encrypted, again the goal is to make it only de-cryptable by knowing the secret. Every wallet has it's set of rules to encrypt the private key, and if there is no known back door, it is highly impossible that you find your private key again...

You cannot obtain the private key from the public key.
Without the password (encryption key) you cannot decrypt a competently encrypted private-key.
You cannot obtain the password (encryption key) from a competently encrypted private key. The best you can do is hope the password was poorly chosen and try to guess it thousands of times or more.


text:
Bitcoins recently sent from localbitcoins.com wallet not showing in recipient wallet
I recently sent bitcoin from local bitcoin .com and it's not registering in my wallet that I sent it. It's 1000$ what do I do?

Please provide more details. You say it's not registering in your wallet, what client are you using? Do you have a transaction ID?

Ok I have no idea what a transaction i.d. is  but please help. I sent the bitcoins from localbitcoins.com. I copied the bitcoin address that was provided from my bitcoin wallet n pasted it on local bitcoins.com sent the coins to that address and their not showing up in my wallet and it's been almost 24 hours and I'm getting really worried because it never took this long. And theirs no way for me to see what's going on.

And also the bitcoin address in my wallet changed so doesn't that mean the coins are coming thourgh?

I'm able to see on local bitcoins.com the transaction I made n what address I sent it too but the coins never got received into my wallet

It is quite clear what the OP is asking, just that not many details which would better enable experienced users to assist have been provided.

He still hasn't stated what wallet client he is using. He could be using a full node client and it's just syncing, but we have no idea since OP isn't providing enough details.

I do not use localbitcoins.com but it is possible if you can see the transaction that you made, you might be able to find the transaction ID. Then, you can search for your transaction ID on blockchain.info to find out the status. Even if you cannot, the answer is just to wait.
Every time you request a receiving address a new one is generated.


text:
How do I get my spent bitcoin back into my wallet after a mistaken transaction
I sent bitcoin from my wallet to Excash wallet address not knowing it wasn't up to the minimum wage they accept, now I have not been credited to my bank account yet neither do I have my bitcoin back into my wallet, how do i get my bitcoin back into my wallet?

It sounds like you will need to contact the customer service department of Excash

how do I get my bitcoin back into my wallet?

Once you send them to someone else, they are no longer your Bitcoin so far as the Bitcoin blockchain is concerned.
Bitcoin transactions cannot be reversed
Since Bitcoin transactions are irreversible, the only way to get your Bitcoins back is to contact the exchange, business or person you paid them to and ask them to create a new transaction to reimburse you.
It may be worthwhile first checking their terms of use to see how they handle this situation. They may have a policy of not getting involved in sorting out this kind of mistake involving small amounts - or they may charge you for their staff costs in sorting out your mistake.
Excash
If by "Excash" you mean some kind of in-game currency used in a multiplayer online game, you may need to contact the business that runs the game and ask for their help.
If by "Excash" you mean www.ex.cash run by "Zebiex". They don't seem at all trustworthy to me. Minimal website, recently set up in the last few months.
I can't imagine why anyone would send money to such an apparently sketchy business.
There are a lot of websites using similar names (e.g. exkash) but I doubt I'd find any of them to be trustworthy.

Thank you for the response, it's ( Exkash )not Excash ever since the I have been calling the customer service but will not pick up calls, It sucks..

@Alexander see https://uk.trustpilot.com/review/exkash.com


text:
Transactions not showing in Copay wallet until confirmed?
when i sent btc to my copay wallet, the transaction would show up before being confirmed, but wouldnt let you spend it. seems that isnt true anymore, anyway to have this happen again? havent found anything in settings

Have you checked the transaction and receiving address in a blockchain explorer?


text:
0 confirmations after 3 days.
My transaction hasn't confirmed after 3 days , and I have no wallet for it to come back to, because I sent the money straight to the browser. If any miner can help me my code is below:
    1NGrDbtmQkMajCezPx7Mo9jjkQHSo1Xbdu

What does "I have no wallet" mean. You can't create BTC with a browser; some site or service must have transferred some of their coins to you. You need to contact them.

There is no transaction showing for the wallet you have provided. Do you have txID by any chance or anymore information to check the transaction by?
In the past I have reasonable success with https://www.btcaccelerator.net/transaction-accelerator-viabtc ,but to be able to use it you would also need txID.
Also if transaction is not confirmed it will return to the wallet it was send from automatically, but it take quite a while (not sure exactly).


text:
problem in imported address
I have $10 at my address. I only imported that address in my other wallet, but it shows the balance of $0 and no past transactions.
I tried my balance address of $18 and the same zero balance is shown at the imported address not even any past transaction
I even put my private key that does not show any amount
What is the problem? Can someone help with this?

have you got the public address ready to hand? if so look it up on a block explorer to verify the btc is actually at the address. Secondly verify it is btc and not bitcoin cash address

What wallet software are you using?

blockchain wallet

Could you resolve your issue? You mean blockchain.info? Have you imported the addresses using the private key? Check out https://support.blockchain.com/hc/en-us/articles/210353823-How-do-I-manage-Imported-Addresses-