text:
the maximum possible entries a network can accept in RAFT consensus?
Suppose a network of 5 nodes uses RAFT consensus protocol. Each nodes maintains a transactions log which consist of list of log entries. Each log entry again consist of index, term and command. The current log structure which consist of transaction log of all nodes present in the network is as follows -

Then the maximum possible committed entries (i.e. the network can accept entries upto that command) are ?

In RAFT
First thing is leader must be elected.
To update a data in log, leader must get majority of voting.
In this case after first 2 rounds leader changes.
in 3rd and 4th round new leader updates data.
But in final round leader doesn't get opportunity to update the "e7" as the leader doesn't get majority.


text:
How to select a leader in RAFT consensus protocol
Suppose a network of 5 nodes uses RAFT consensus protocol. Each nodes maintains a transactions log which consists of a list of the log entries. Each log entry again consists of index and term. All of them are marked themselves as leader candidate and send the request Vote (term, index). The current log entries (i.e. list of term and index values) of all the leader candidate nodes as follows -

Then who will be the leader ?

I'm voting to close this question as off-topic because it has nothing to do with bitcoin or blockchains.

In the RAFT algorithm if a candidate who wants to become a leader in the network then his proposed "term value" will be checked at the beginning.
1) If it's less than the present "term value" then he will not be selected as a leader.
2) If it's more than the current "term value" then his current "index value" will be checked.
a) If his index value is less than the current index value then he won't be selected.
b) If his index value is more than current index value then he will be selected as leader.
In this case "Candidate 4" will be leader as in every round his term value is not lesser than current term value and his index is updated to current node.

source: Stack Exchange

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

sort: votes


text:
Go to the previous wallet address
￼The computer reinstalled the system, and then downloaded the bitcoin core again. I forgot my wallet, and then the exchange transferred the previous wallet address. Can I still retrieve it?

It's not possible to recover your coins unless you have a backup of the wallet.dat file. If you had a notable amount of coins, you can try using a file recovery software, although I believe they can't recognize wallet files.

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


text:
Btc unconfirmed in recievers block chain wallet from last 9 days

I sent btc to the address on 27 th august 1PnNad5w5LDFuUudVMnrb7tAVP4U7jUHyr
But in his blockchain wallet it showing  still pending.
What to do now.suggest me please
txid cca36806a1fbad4738a15be7a0a3528af278501350d873f6f4577cd5d789322e


text:
How to calculate the purging low-fee for a node with the default mempool size?
I'm running a full node with a mempool size set to 2 GB. Default mempool size is 300 MB.
At the moment (block hight 785,095) the mempool size is around 344 MB.
Running rpc command
bitcoin-cli getmempoolinfo

on my node returns the value for "mempoolminfee":  0.000010 --> 1.0E-5, multiplied by * 100000 = 1 sat/vB.
This means that my node currently accepts transactions with a fee rate at 1 sats/vB. I'm happy with this setup.
According to mempool.space, at the moment, the node with a default mempool size of 300 MB will only accept transactions with a fee rate greater than 1.38 sat/vB.
I would like to calculate myself the "purging low-fee" (1.38 sat/vB) for a node with a default mempool size.
Can I calculate the purging low-fee using the bitcoin-cli on my node? I would like to get to that value with my hardware. Running a second node with default mempool size is currently not an option.


text:
What was the largest UTXO ever created in bitcoin’s entire history?
In transaction ID 8f8210694d3631a88ff410c573d80caf57db1d8af397bd47687aa4e4c1802464, mined in Block 104770, from early 2011, someone consolidated exactly 400000.00000000 BTC.
Was this the biggest chunk of ₿ contained in one UTXO in the entire Bitcoin's history?

No, the largest output ever created was 500,000 BTC:
29a3efd3ef04f9153d47a990bd7b048a4b2d213daaa5fb8ed670fb85f13bdbcf
I used this Blockchair query to find out: https://blockchair.com/bitcoin/outputs?s=value(desc)#f=index,time,value,recipient,is_spent,transaction_hash
All of the runner-ups seem to be change outputs in the descendants of this transaction.
This transaction is also the transaction with the largest output amount ever, at 550,000 BTC.

This transaction occurred in mid-November 2011, when the price of a bitcoin was in the range of $2.00-2.50 USD. So interestingly, while this is the largest UTXO in terms of BTC value, it is not even close to the largest UTXO, in terms of (insert your favourite fiat currency here) value!


text:
How to know if cgminer is really mining?
I have set up cgminer on a linux machine to mine litecoins. I already installed the nvidia driver for this. Yesterday at night I put it to mine (I guess) but I'm in doubt if it is really mining because the hashes per time is still zero as in the picture. How to know if it is actually minining or not?

CGMiner no longer has support for GPU or CPU mining at all. You are currently not mining anything. In order to do GPU mining, you will need to either compile it yourself to support GPU mining or get an ASIC or get an older version of CGMiner that supports GPU mining or find a fork of it that supports GPU mining.

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


text:
Is it possible to download all blockchain raw data?
I'm interested in doing some analysis on the blockchain that would require specific information about all individual transactions within each block. I don't need the data to be updating in real-time, but I am looking for something that at least encompasses all the transactions made in the past year. I've tried to find downloads for this kind of dataset, but I haven't had any luck. Any ideas?

Any (full) Bitcoin client will download the entire blockchain. It's stored in files on disk which you can look at after it's been downloaded. The current blockchain size is 115 GB of raw data (the size on disk will be a bit larger because of indexes created by the client).

If you have access to a usenet client; there are often times uploads of the entire blockchain wrapped into zip files.
It's handy if you have to download or resync a full node... because at the chain's current size; even with lots of peers a sync from start takes at the very least a few days. Over usenet; you can acheive download speeds of 300mbps if you have fast internet and a good usenet client/provider.
I personally keep a sidecar copy of my node (I think my last backup was when the chain was around 90 GB); incase it corrupts. Which can happen if you have a computer crash.
That way I only have to sync from my last backup.

Recent bitcoind versions should be much faster and more efficient than downloading zip files or torrents. It can download and validate in parallel, and it doesn't need the extra (double) disk space to hold the zip or torrent.

We recently published a method, scripts, and datasets that, I think, answer this question: http://bitcoin.complexnetworks.fr/
We provide in particular the 580 GB compressed json file of the whole data, from the beginning of the blockchain to march 2021, with indexes that make it easy to use.

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


text:
Question about spam attacks
From my understanding, an unconfirmed transaction can be accepted into the mempool provided that it has a fee that is generally at least 5460 satoshi, which is set as default in the current version of Bitcoin Core (assuming input=148B, output=34B, and relay node hasn't changed default settings). If a spammer sent a transaction like that, wouldn't it most likely not get picked up from the mempool by any miner (because of low fees) and thereby be returned to the original spammer at no loss? Couldn't this happen for a large number of similar transactions?

yes, but then the "spammer" hasn't really accomplished anything.
essentially with spamming its either
1) you paid to get a "spam" transaction included in a block
or
2) you paid nothing to get it in the mempool
not really spam either way at this point

But by getting it into the mempool, won't that help to increase network congestion?

From my understanding, an unconfirmed transaction can be accepted into the mempool provided that it has a fee that is generally at least 5460 satoshi, which is set as default in the current version of Bitcoin Core (assuming input=148B, output=34B, and relay node hasn't changed default settings).

That's not correct. Given the number 5460 you're citing, I believe you're talking about the dust limit rather than the relay fee. The dust limit is a minimum value that each output needs to have to be acceptable, and is intended to prevent transactions on the network that are uneconomical to spend. The precise rule is that the output's amount must be at least 3 times how much it would cost to spend it, at the minimum relay feerate.
To be acceptable in the mempool there are more rules. The relevant one here is that it must pay at least the mempool feerate. This is a feerate determined automatically based on the limiting mechanism. When the mempool is full (default 300 MiB in Bitcoin Core 0.14.1), the transaction(s) with the lowest feerate are evicted, and the mempool feerate is increased to be equal to that of the evicted transactions. The mempool feerate will then gradually go down over time, until a new eviction is necessary.

If a spammer sent a transaction like that, wouldn't it most likely not get picked up from the mempool by any miner (because of low fees)

Such a transaction would likely not relay at all through the network, because in normal circumstances the mempool feerate of most nodes would be sufficiently high to reject it.

and thereby be returned to the original spammer at no loss?

The transaction wouldn't be mined, indeed, and nothing would be paid. However, almost no cost to the network would occur, because of the above.


text:
Where does the blockchain come from?
When I first download Bitcoin Core, and Synchronize with the network, where am I actually downloading the block chain from?  The point of bitcoin is that there is no canonical source, yet I must get the data from somewhere?
Does it use a bittorrent-like protocol?
Am I getting different blocks from different peers?
How does my computer discover peers initially?

How does my computer discover peers initially?: https://bitcoin.stackexchange.com/questions/3536/how-do-bitcoin-clients-find-each-other

The blockchain begins with the genesis block. The genesis block was mined by Satoshi and it a hard coded value in all Bitcoin full nodes. All blocks in the blockchain must be a descendant of this block.
When you synchronize with the network, your node will perform peer discovery and connect to several other nodes. It then proceeds to request from those nodes the block headers for each node's best blockchain. Block headers are received in 2000 header chunks (i.e. Core requests for 2000 headers and receives 2000 headers at a time from a node). Core will build a block headers chain and verify that the proof of work is correct. At the same time, Core will download the blocks for those block headers (blocks are received and synced much more slowly than their headers) from all of its peers. The sync is finished when it receives less than the 2000 headers it last requested for.
As you can see, there is no canonical source. Core simply connects to several nodes and downloads blocks from them. Then it verifies that those blocks fit the consensus rules that it is following.


text:
Is there any mechanism in Bitcoin that allows it to dynamically adapt to the flow of transactions?
I've read some books and articles on Bitcoin and feel like I've understood many of its concepts but I'm not able to find an answer to a question I've had for a long time:
How does the Bitcoin network adapt to an increased or decreased number of transactions per time interval?
I know that the network tries to constantly adjust the cryptographic difficulty so that new blocks are mined in 10 minute intervals on average. When the block size is limited, every block can only include a maximum number of transactions.
This means that miners need to prioritize some transactions over others (most likely those that pay the higher fees) when the number of incoming transactions per 10 min interval exceeds this maximum. When the number of incoming transaction decreases over time below this maximum, those unprocessed transactions (those with the lower fees) will be included in the next blocks.
But what happens if, over a longer period of time, the number of incoming transactions per 10 min interval never decreases?
Consequently, this would mean than all transactions with a fee that's not high enough never make it into the blockchain (or at least not for a very long time).
How does the Bitcoin network solve this problem?
(Surely, with increased adoption, there will be more than a couple hundred or thousand transactions every 10 min?)

It does not solve this problem :)

Why is there a limit? Why don't we change it?
No matter the number of transactions broadcast to the network, there is an implicit maximum number of transactions that can be included in a block (see @JamesC's answer), and the number of blocks found is regulated by the network's difficulty adjustment algorithm, aiming for an average of one block every ten minutes. This puts an effective cap on the number of transactions / second the network can confirm in the blockchain record.
You might therefore believe that adding an adjustment mechanism for the size or frequency of blocks would be beneficial to the network, but further investigation shows this to actually be detrimental to the health of the network. The reason there is no adjustment to the number of transactions included in a block (ie. an adjustable block size), is that such a mechanism would have undesirable implications for the ability of users to run nodes, and for the game theory of bitcoin mining:
For full nodes: In general, the larger a block is, the more computational resources (bandwidth, storage, computation) a node will need in order to validate it. So a larger block size puts pressure on the least capable nodes in the network, any increase in resource requirements should be expected to cause some number nodes to drop off the network. Thus we can see that a growing block size can be used as a DOS attack against resource-constrained nodes on the network, and this is obviously undesirable.
For miners: no matter the hardware, a larger block will take longer to download and validate. As a miner, this means that when you hear about a new block on the network, there is a brief period of time during which you will be downloading the new block, but are unable to begin mining on top of it before ensuring it is valid. This leads to an increase in orphan block rate, which will affect smaller miners more than larger miners. Thus we can see that a larger miner would be incentivized to create larger blocks, because the latency issues associated with large blocks will affect their competitors (smaller miners) more than it would affect themselves. Ultimately, we would expect this to concentrate mining power amongst a few large-scale operations, which is obviously undesirable.

What other solutions are there?
So all of that sounds pretty dismal in regards to scaling the Bitcoin network up to deal with a global transaction volume. BUT! The good news is that scaling the block size is perhaps the most obvious approach, but certainly not the only one.
For example, the lightning network (LN) moves transactions off-chain, allowing pretty much unbounded transaction volume to occur off-band between LN participants. Further still, LN channel factories could allow participants to transact with incredible cost savings. Note that there are trade-offs involved in using the LN, and the model of trust and security is slightly different than transacting on-chain.
Sidechains are also coming online, such an example is the Liquid Network created by Blockstream. Note that sidechains don't increase scalability, but they can increase scale, though again with a different security and trust assumption than that of the underlying Bitcoin blockchain.
Schnorr signatures provide a number of benefits over ECDSA, in terms of scalability we can see that signatures can be smaller (meaning less bytes per transaction), and more flexible signature aggregation (many participants represented by a single aggregate signature, effectively reducing the 'number of bytes per user' in a transaction). Note that Schnorr signatures are not currently used on the Bitcoin network, but many developers would like to see their implementation in the future.

In conclusion: lets reconsider what a 'transaction' can represent
To wrap all this up, I'll encourage you to move towards an understanding that a user interacting with the Bitcoin network to exchange some value does not necessarily have to map 1:1 to an on-chain transaction. An on-chain transaction can in fact represent a huge number of individual user transactions (eg. a transaction that opens a LN channel, or a transaction that includes an aggregated signature representing a huge number of individuals participating in a single transaction), or as Nic Carter put it:

[Bitcoin transactions] are nothing like Visa transactions, which they are commonly compared to. I like to refer to them as containerships, not parcels.

Which is to say that a single on-chain transaction can represent the economic activity of a great number of individual users, not just a single user's transaction.
So we can see that 'number of transactions per second' is not a perfect measure of the social scalability of bitcoin, instead the 'economic throughput per second' is perhaps more interesting. If we can include the economic actions of more users per transaction, we may find a more viable path to scale the Bitcoin network to a global level.

Very elaborate answer with lots of great links helping towards getting a broader picture. Thanks a lot!

Love the analogy of seeing a transaction as a "container ship". There are very detailed explanations on this in the book Mastering Bitcoin by Andreas M. Antonopoulos which I just finished reading.

The amount of valid tx data which can be confirmed every 10 minutes is bound:

1mb (tx serialisation without witnesses)
4m total block weight:

The weight of a single transaction is 1 * TX-bytes(incl. witness) + 3 * TX-bytes(without witness)
Therefore, there is no mechanism to accommodate for more transactions other than reducing their individual byte-size and weight.

So what you're saying is that (unless these restrictions are relaxed as part of a hard fork) Bitcoin cannot scale up and won't be able to do more than 2000-3000 transactions every 10 minutes – is that correct? (If so, that would be a fundamental design flaw which would prevent Bitcoin from ever becoming a dominant currency. That's hard to believe...)

Bitcoin is non-scalable. That is necessary for decentralized validation, which provides the security for the system. Softforks such as segwit provide a logical increase in tx confirmation per block but that is not scaling in its strictest sense. Consider lightning or sidechains for alternative ways to transact offchain.


text:
Bitcoin Core 17.0 - How to calculate balance with zero confirmations included (watch-only)?
Is it currently possible to calculate balance including UTXOs with 0 confirmations, for watch-only addresses?
getbalance "*" 0 true

includes utxos with 0 confirmations only if that address has private key in the wallet. Balance from watch-only addresses is added when corresponding UTXOs have at least 1 conf.

No. Bitcoind requires at least 1 confirmation before a utxo amount is added to your watch-only address balance. Which makes sense, as it can still be trivially double-spent whilst it is not yet confirmed.
Related question: bitcoind sendfrom with minconf=0

Thanks! If I want that feature, I could implement it by using "listunspent 0", and summing amounts, am I right?


text:
Can't link my Paper Wallet to Blockchain
So I've created a Paper wallet using bit address.org, and have joined Blockchain.com, but can't find out how to link the two?
Also the strategy I'm using at the moment-till maybe "you" say otherwise, is-I've bought Bitcoin using Coinbase, and am trying to send money to my bitaddress.org Paper Wallet-but Coinbase isn't showing me how to do this? So I can then register the transaction-and others on the Blockchain on blockchain.com Do you think I'm using the right strategy?
Thoughts

Welcome to bitcoin.SE! Its great that you're doing research and asking questions, you'll find lots of friendly people here that are happy to help :) re: "Do you think I'm using the right strategy?"- no, I would consider your setup to be unnecessarily complex and insecure. As a new user, I wouldn't recommend you use a paper wallet, improper use can lead to loss. For more info see https://en.bitcoin.it/wiki/Paper_wallet . I would also generally avoid web-wallets (like blockchain.info), take a look at https://bitcoin.org/en/choose-your-wallet and choose a wallet that suits your needs well.

When you are in your Coinbase account use their "Send" feature to send coins to your paper wallet. It will then prompt you for a wallet address to send the coins to. Enter your paper wallet address there. Choose the amount to send, etc.
More here: https://support.coinbase.com/customer/en/portal/articles/971437-how-do-i-send-digital-currency-to-another-wallet-
If you are keeping the coins for yourself, there are better alternatives than paper wallet. If you are giving as a gift, just make sure recipient knows what to do or no do with the wallet.

Thank you so much Fraggle.
I'm wondering if you'd be open to a Skype chat for some more questions? Perhaps i could send some bitcoin your way, for your time?
I could forward my questions to you first perhaps?
Thank you again.
Ernie


text:
How to convert from Ardor time to Unix time?
What is the best approach to convert from Ardor time to Unix time?

Ardor time is measured in seconds since the Genesis block, represented as Java int. Currently there is no API which performs conversion to Unix time so you have to code it yourself.
If you are coding a server side contract in Java use the following code:
long EPOCH_BEGINNING = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").parse(isTestnet ? "2017-12-26 14:00:00 +0000" : "2018-01-01 00:00:00 +0000").getTime();

public static long fromEpochTime(int epochTime) {
    return epochTime * 1000L + EPOCH_BEGINNING - 500L;
}

public static int toEpochTime(long currentTime) {
    return (int)((currentTime - EPOCH_BEGINNING + 500) / 1000);
}

If you are coding a client side app in Javascript use:
function fromEpochTime(epochTime) {
    return epochTime * 1000 + EPOCH_BEGINNING - 500;
};

function toEpochTime(currentTime) {
    return Math.floor((currentTime - EPOCH_BEGINNING) / 1000);
};


text:
Is GPU mining worthwhile for any currency?
I've been under the impression that all proof-of-work mining is now done by ASICs.
Then I saw this article, that says,

"AMD shares are surging with bitcoin because digital currency 'miners' need its graphics cards"

Is there any truth to this?  Or just False News?

There are countless digital currencies in existence; every day new ones appear, are pre-released; ICO'd, or are ninja launched.
Bitcoin is SHA-256, which renders mining using CPUs and GPUs pointless because ASIC processors have been engineered; chips which serve only one purpose; that is to compute/solve/hash SHA-256, and because they are engineered to do only that; they are exponentially more efficient in doing so.
GPUs on the other hand are used to mine coins both by hobbyist miners and large scale GPU farms.
But they aren't mining Bitcoin; or any other SHA-256; they are mining coins either with new POW (Proof of Work) algorithms; or POW algorithms for which no ASICs have yet to be engineered (or are simply not public/available).
For GPU based setups; common algos are X11, X13, X15, Scrypt depending (as ASICs do exist for Scrypt but were not widely adopted); and many others.
You can find a list here: http://bitcoinguide.online/a-list-of-cryptocurrency-algorithms/
If you only have a single GPU; there is really no point whatsoever in using it to mine a currency; unless it's your own clone that you're creating.
You can go on site's like NiceHash and rent mega power; based on bidding per / g/hash t/hash; and jump in and speculate on what coin may or may not be profitable to mine. One GPU simply wont cut it.
Or you could build GPU mining rigs; using a simple steel frame; a low end CPU processor; 4 GB of ram; run Ubuntu off a USB stick; and slap 4 or 5 GPUs on the motherboard using PCI-E Risers.  You'll need a decent 1300w or more PSU; depending on the algo; and you must be network and code savvy; as it's mostly all still command line driven.
If you do so; expect to lose money the first year; it's still the wild west; and the only way to learn it is in the trenches.
And to add; yes; AMD shares have been volatile due to alt-coin news and releases. As have prices. Cards, such as an AMD R9 280x; one of the most popular first gen cards at the time Alt Coins came crashing onto the scene; skyrocketed in price from $200 to $500 or more on all sites; including Amazon. As did all components; PSUs, etc.
Then; they would crash with the market; people would burn out; the secondary market became flooded with people ripping their rigs apart and selling off the pieces; and then repeat-- new coin comes out; it becomes a huge rally, and the card prices would jump back up... sometimes doubling, tripling in price in days... People made money of that as well; simply buying GPUs on the crashes and selling on the rally's.
I often joked that Bitcoin; and later the alt-coin clones which appeared in hoards were invented either by the Power Companies; or the Chip/Wafer manufacturers.


text:
What would a full node do if it finds an error?
Full Nodes are supposed to validate every transaction and block in the blockchain, and provide valuable links for distributing blocks.  And because the consensus algorithm is extremely good, there are no invalid transactions in the block chain.
But if an invalid transaction was somehow created on a mined block, and identified by a full node, how would the node respond?  Would it show an error to the local user?  Distribute some sort of warning or notice on the network?  Simply crash?

From a local user's point of view, the most important function of the full node is to tell them when funds are received and confirmed.  For instance, if the local user is a merchant, this is what they need to know in determining when to ship goods to customers.
So from this perspective, the most important thing for a full node to do if it finds an invalid transaction or block is to ignore it.  For an invalid transaction, it needs to not report the transaction to the user as received funds.  For an invalid block, it needs to not report this as confirmation for the transactions in the block, nor as an additional confirmation for transactions confirmed in previous blocks.
A merchant considers an invalid transaction to be the same as no transaction at all.  A user who paid with an invalid transaction effectively just hasn't paid, and will be ignored until they come up with real funds.  An invalid block simply isn't a confirmation, and if we are waiting for some number of confirmations before shipping goods, then we just have to keep waiting.
Sure, the node can ban the other node that sent the offending data, or log an error, or whatever.  This is a good idea as far as saving bandwidth for valid data, or giving the user some general info about the state of network, or aiding in debugging.  But all this is secondary.

When a node receives an invalid transaction, it will not include it in the mempool, and ban the peer that sent it the invalid transaction. I'm pretty sure it'll put something in the log about having received an invalid transaction.
When a node receives a block with an invalid transaction, it will notice this during the full validation of the block it performs. It will then reject the block, not add it to its blockchain and ban the node that relayed it.
Nodes will never relay information that they consider invalid. Nodes do not crash when they receive invalid blockchain data, that would be a huge vulnerability. I don't think it shows an error message, the node merely notes the event in the log.
The node will not distribute a warning. If it did, and other nodes were to trust such a warning, such a mechanism would be easy to exploit with a fake warning to induce DOS. Instead, every node that gets notice of the invalid block will simply arrive at the same conclusion and ban the malicious peer. If we manage to get fraudproofs, we could prove that a block was invalid and help lightweight clients defend themselves against it.


text:
Is there a list of Bitcoin Forks?
I have some Bitcoin from before the Bitcoin Cash fork, and am pleasantly surprised to learn it has some significant value.
I believe there have been a number of other forks as well.  But I don't have a list, or know how to research it, other than general Googling.
Is there any canonical list of forks with information such as Date of the Fork and current value?

There is this list on Wikipedia: https://en.wikipedia.org/wiki/List_of_Bitcoin_forks

Bitcoin Cash (Forked at Block 4785591, 1 August 2017)
Bitcoin Gold    (Forked at Block 491407[2], 24 October 2017)
Bitcoin Diamond (Forked    at Block 495866[3], 24 November 2017)
UnitedBitcoin (Forked at Block    498777[4], 12 December 2017)
BitcoinX (Forked at Block 498888[5], 12    December 2017)
Super Bitcoin (Forked at Block 498888[6], 12 December    2017)
BITCOIN HOT (Forked at Block 498848[7], 12 December 2017)

This site lists the forks, their state and allows you to search them for funds:
http://www.findmycoins.ninja

There doesn't seem to be a canonical list, but there are several non-cannonical lists on various websites.  In my search (which also turned up this question) I found 3 that seem relatively comprehensive:

http://www.findmycoins.ninja/
https://iconow.net/list-of-bitcoin-forks/
https://bitcoinforks.io/


text:
Merchant address re-use?
I understand that one way a merchant would likely use Bitcoin is to create a unique receipt address for every customer, so when a given address receives payment, the merchant can know exactly which customer sent in payment.
Ideally, these addresses would get used one time, and then thrown away.
But the world isn't an ideal place, and customers sometimes (frequently) make mistakes.
To prevent Bitcoin loss, would a merchant need to keep every address (and associated private key) forever?  Doesn't that become burdensome?

To prevent Bitcoin loss, would a merchant need to keep every address (and associated private key) forever?

Yes.

Doesn't that become burdensome?

Not really. First of all, private keys and addresses are fairly small, so they don't take up that much space. Putting them into a database can make access very quick and easy so that's not much of a problem. Furthermore, merchants already have to keep the private keys around in order to spend the coins from those addresses later. It is uneconomical for them to immediately forward the funds to some other storage address as they will incur transaction fees for doing so.

It depends on what "burdensome" means to you. On which level?
Storage consumption? That should not be an issue since a private key's weight is very low.
Backup? If you are keeping your keys on a wallet you can backup them all together, one ore thousands means few difference.
Furthermore you have to consider that you can generate the private keys starting from a seed. So you could make an unlimited amount of addresses having a single seed to keep.
With this technique if your costumers make a mistake and send you what they owes you on an alredy used address of your own you can easily recover the sent amount by cycling throug your addresses by generating them again.


text:
I know I had Bitcoins back in the Day, but
I have all my old computers and have the hard drives, so how do I systematically go back finding which on has my bitcoins?  At the time, I figured it was no big deal, but now finding the correct one, could be worth while.
So my question is, how to I search my hard drives to find the one that contains the bitcoins?   Is there a file I need to search for?

What year would you have received the coins? There are many ways to store bitcoins (private keys). A timeline would be useful in answering your question.

It would of been in the 2005-2011 time frame.  I thought it was a waste of my time, but back then, I was into everything that promised money...  I found 2011 emails on my current account saying they were a waste of time, so back in 2011, I thought they were junk...

My emails even suggest I would give them away, as I didn't really care, if anyone wanted them, but that email chain runs dry, which means I have some, somewhere....

So they had to me obtained in 2011 or before, so I'm assuming they might me worth something,  The question, is can I search the hard drives for a certain file?

Take a look at the question I just marked this as duplicate of. Most wallets use a 'wallet.dat' file, but there are many ways to store bitcoins using local software (eg bitcoin-core or electrum), physical mediums (paper wallets), third party services (eg blockchain.info), etc. Its probably best to approach your treasure hunt with a wide scope. Best of luck!

I can't imagine I spent more than $100 at the time and knowing me probably only $50, but if I can reclaim, it would be nice

It depends on the version you were running, and the operating system, and when you say you are looking for your bitcoins, what you are really looking for are the private keys.
Bitcoin Core
The keys are in a file called wallet.dat which was stored in the bitcoin core data directory, which I'll call <data-dir>. The wallet.dat file was stored in <data-dir>/ on versions prior to v0.16.0 and moved to <data-dir>/wallets in later versions, see files.md. This uses the bitkeys format.
Linux
On linux, the data directory <data-dir> is ~/.bitcoin/wallets/wallet.dat
Windows
On Windows, the data directory <data-dir> is %APPDATA%\Bitcoin\wallet.dat
Mac
On Mac, the data directory <data-dir> is ~/Library/Application Support/Bitcoin/
Reference: https://en.bitcoin.it/wiki/Data_directory#Mac

The next question is "How do I restore the keys?", and there are many answers for that already, example: Import wallet.dat into a new Bitcoin-Qt client

Note: there are many ways to store private keys, this answer assumes you were running the bitcoin-core full node software and wallet. Searching for ‘wallet.dat’ is nonetheless a good starting point in almost any case I’m sure.

Ok, the question next, is when I find Wallet.dat, then how do I take that to cash in?

@MarkJaske That's a different question (i.e. probably not suitable for the comments section). You need to select a wallet, import your keys, and then sell them either in person or on an exchange.


text:
Transaction is not submitting using bitcore-explorers.js
I'm submitting a transaction using bitcore-explorers library of js which also uses insight services of bitcoin node and here i'm receiving the error
Please help me out from this error, furthermore it was working fine before couple of days.

So, I've searched for the error on the Internet, and here's what I found.

EAI_AGAIN means the DNS server replied that it cannot currently fulfill the request

In addition, I used the BitPay BCH testnet explorer yesterday, the previous day, and the previous day. The last three days except today, the server was down and I saw "CloudFlare server down" message on the explorer's page. So, I guess they are moving the IP address behind CloudFlare's proxy, and the transition is not perfect.
Summary: It's not your mistake, but you could try flushing DNS cache.


text:
How to use Electrum GUI and Daemon at same time in seperate shell?
I'm running electrum via gui,and when I use the console the Font is so small and I haven't found a way to increase the size of console output.
Is there a way to increase the size of text ?
If not is there a way to run the GUI and also run the console in a Bash Shell separate window that I can manipulate the text format ?


text:
Why does my public IP show a Bitcoin Node is running when it is set up over Tor?
I've set up my node to run exclusively over TOR. But when I check https://bitnodes.earn.com/ and a few other sites with my public IP to check if a bitcoin node is accepting incoming connections, it comes back that it is.
How do I hide my public IP from showing that a full node is running ?
My bitcoin.conf settings are as follows:

txindex=1
server=1
rpcport=8332
listen=1
proxy=127.0.0.1:9050
bind = 127.0.0.1
onlynet=onion

Sounds good to me at first sight. Maybe you had the node running without tor before and bitnodes is just showing cached info. Try https://canyouseeme.org/ or something like that.

I did have it running over both Tor and Clearnet before. And it looks like you were correct to say it was showing me cached info, because now my public IP gets no match anywhere as running a full node. Thanks !


text:
Connect to bitcoind from a different device within the same local network
I have a full node running on a Linux device (A) with static IP 192.168.1.203 and I want to run bitcoin-cli commands or even eclair instances from a different device (B) within the same local network.
Device (A) has bitcoin.conf configured to accept RPC calls with this basic bitcoin.conf
server=1
daemon=1
txindex=1
rpcuser=<user_name>
rpcpassword=<password>

Actually I have an eclair running successfully on Device (A) and default RPC ports connect well. No typos on user_name and passwords.
When running the following command in device (B):
bitcoin-cli -rpcconnect=192.168.1.203 -rpcport=8332 -rpcuser=<user_name> -rpcpassword=<password> -getinfo

error: Could not connect to the server 192.168.1.203:8332 (error code 1 - "EOF reached")
Make sure the bitcoind server is running and that you are connecting to the correct RPC port.

Any ideas what can be wrong?

If you're going to just use within the network and not outside of the LAN then as mention below, use rpcallowip=0.0.0.0/0 will work and also don't use rpcconnect as it may cause issues. If your planning future to use that option outside of the LAN (aka WAN) then there will be security issues so make sure to not use it outside of the LAN unless you can configure it correctly to not allow accept all ip.

Futher more, according to https://github.com/bitcoin/bitcoin/blob/master/share/examples/bitcoin.conf subnet address is also supported. Therefore you can use something like rpcallowip=192.168.0.0/24 to allow any devices with IPs from 192.168.0.1 to 192.168.0.255

add rpcallowip=192.168.1.203 to your bitcoin.conf and restart your daemon.
or may rpcallowip=0.0.0.0/0 is your option.

There's a discussion on this with some answers here:
Cannot call rpc api from other machine in same local network
tl;dr: you need to also set the rpcbind setting to something like rpcbind=0.0.0.0 or rpcbind='ipaddress of node'.  I needed to start the daemon with the -rpcbind=... option, it wouldn't work if I just set it in the conf file.


text:
Bitcoin Script: mandatory-script-verify-flag-failed Script failed an OP_EQUALVERIFY operation
I try to spend a P2SH transaction (in regtest) with a timelockscript of 200 blocks. I got the following error:

mandatory-script-verify-flag-failed (Script failed an OP_EQUALVERIFY
  operation) (code 16)

Unfortunately I can't find the error, as the script and the sequence seems to be fine.
decodescript 02c800b27576a921023fb59ee7e5722a9c559d366f6ca114c73361108c04e27a18060cef7a727d58a988ac
{
  "asm": "200 OP_CHECKSEQUENCEVERIFY OP_DROP OP_DUP OP_HASH160 023fb59ee7e5722a9c559d366f6ca114c73361108c04e27a18060cef7a727d58a9 OP_EQUALVERIFY OP_CHECKSIG",
  "type": "nonstandard",
  "p2sh": "2NF4BoboM58w8JJgdvbe7i6J3R8Kb3Gugqi",
  "segwit": {
    "asm": "0 da6ffdda71c413d3b26344158aac0f086bf5d979df2b81f9551da5ef62ee71b0",
    "hex": "0020da6ffdda71c413d3b26344158aac0f086bf5d979df2b81f9551da5ef62ee71b0",
    "reqSigs": 1,
    "type": "witness_v0_scripthash",
    "addresses": [
      "bcrt1qmfhlmkn3csfa8vnrgs2c4tq0pp4ltktemu4cr724rkj77chwwxcq84ftzy"
    ],
    "p2sh-segwit": "2MvKhZeGAV5KpkQXYnB4BydLMwMZGw6N8Ap"
  }
}

decoderawtransaction 02000000013db72755b71d95be7f6785448b5387b6273ca26fd5e42204390899154b111a5300000000754830450221009b813cf658ec2c30e68fd23c369c348fd5f915f77b49581a945aa2f2f2d3c8aa022058f6a7eb78b2132d24cc260699fdc158fda6f3a0d10bc3c52bacccc03bb6b8cb012b02c800b27576a921023fb59ee7e5722a9c559d366f6ca114c73361108c04e27a18060cef7a727d58a988acc800007f0100127a00000000001976a914fd337ad3bf81e086d96a68e1f8d6a0a510f8c24a88ac00000000
{
  "txid": "7f0262e1448896a4091bf9d1c55e346766b2aa8c19895bccaf2194b610f02525",
  "hash": "7f0262e1448896a4091bf9d1c55e346766b2aa8c19895bccaf2194b610f02525",
  "version": 2,
  "size": 202,
  "vsize": 202,
  "weight": 808,
  "locktime": 0,
  "vin": [
    {
      "txid": "531a114b159908390422e4d56fa23c27b687538b4485677fbe951db75527b73d",
      "vout": 0,
      "scriptSig": {
        "asm": "30450221009b813cf658ec2c30e68fd23c369c348fd5f915f77b49581a945aa2f2f2d3c8aa022058f6a7eb78b2132d24cc260699fdc158fda6f3a0d10bc3c52bacccc03bb6b8cb[ALL] 02c800b27576a921023fb59ee7e5722a9c559d366f6ca114c73361108c04e27a18060cef7a727d58a988ac",
        "hex": "4830450221009b813cf658ec2c30e68fd23c369c348fd5f915f77b49581a945aa2f2f2d3c8aa022058f6a7eb78b2132d24cc260699fdc158fda6f3a0d10bc3c52bacccc03bb6b8cb012b02c800b27576a921023fb59ee7e5722a9c559d366f6ca114c73361108c04e27a18060cef7a727d58a988ac"
      },
      "sequence": 2130706632
    }
  ],
  "vout": [
    {
      "value": 0.08000000,
      "n": 0,
      "scriptPubKey": {
        "asm": "OP_DUP OP_HASH160 fd337ad3bf81e086d96a68e1f8d6a0a510f8c24a OP_EQUALVERIFY OP_CHECKSIG",
        "hex": "76a914fd337ad3bf81e086d96a68e1f8d6a0a510f8c24a88ac",
        "reqSigs": 1,
        "type": "pubkeyhash",
        "addresses": [
          "n4bkvTyU1dVdzsrhWBqBw8fEMbHjJvtmJR"
        ]
      }
    }
  ]
}

I suspect your transaction 531a114b159908390422e4d56fa23c27b687538b4485677fbe951db75527b73d; could you please edit in its raw hex?

@AlistairMann Because of the many inputs this one is huge: https://pastebin.com/LLPHeB0r

The failure is happening because hash160(30450221009b813cf658ec2c30e68fd23c369c348fd5f915f77b49581a945aa2f2f2d3c8aa022058f6a7eb78b2132d24cc260699fdc158fda6f3a0d10bc3c52bacccc03bb6b8cb) is not 023fb59ee7e5722a9c559d366f6ca114c73361108c04e27a18060cef7a727d58a9.
Hash160s are 160 bits long, ending up as 40 hex chars. 023fb... above is 66 chars, so no hash160 would match it. Investigate where it's coming from?

I find btcdeb https://github.com/kallewoof/btcdeb incredibly useful for these sorts of problems: it's a command line tool to allow single-stepping of bitcoin scripts. OP's script is:

30450221009b813cf658ec2c30e68fd23c369c348fd5f915f77b49581a945aa... |
02c800b27576a921023fb59ee7e5722a9c559d366f6ca114c73361108c04e27... |
<<< scriptPubKey >>>                                               |
OP_HASH160                                                         |
ef3c5e4ee866b692245de650b178d83ca3d0fdbd                           |
OP_EQUAL                                                           |
<<< P2SH script >>>                                                |
c800                                                               |
OP_CHECKSEQUENCEVERIFY                                             |
OP_DROP                                                            |
OP_DUP                                                             |
OP_HASH160                                                         |
023fb59ee7e5722a9c559d366f6ca114c73361108c04e27a18060cef7a727d58a9 |
OP_EQUALVERIFY                                                     |
OP_CHECKSIG                                                        |
#0000

And his question here can be replicated by calling:
btcdeb --txin 02000000107c60fb7c4de7528b0693f189483996f62d04527a693b86ffd940fe21c2efe65a00000000484730440220521eae742c5587ea8d0947879de20f6ff07c30a3e6fc37f3472374d94d1c57b102207cdf2e65e9812adebe37f28279ac23c7f316c5cdd00104aa92396d2768724e0201feffffff15aeb7dae6d514d833e3f25ffc1a992cb2dbc633b30c09f314e726d22ab34c2f000000004847304402206669b4a43e22272d18dcdd99527fcbfbf97bb024ea808bd9ae1ee492da5ab361022045625e98f6f8ddfb3427d4d43f66722d799fbce338f1dd8cbf2ba8c4082756d901feffffffdb2b200941d79838f30139ffc8b1b23bae1cb298a5642a4b3242c74e3614308c0000000048473044022043cb6c47831ad4903c4f657031671fe5b3e8c3e8b4c12de3bc62af6cbda60b32022052c41f1a6e767ebe663b10a4e7350ad12555b4524c0d51ceb50a929466bef89101feffffffc676855c7880b9672531cf3b5bdf170e683ecf43881cb69ded2f469e1725de370000000048473044022057f71e9d946525338e4a504f9cf55065154de09a5f85a8c68d586648246bd99f02202322de86499f035a99d90861bda53d72eb5b8bbeb0349e472290e25db8d5843601feffffff34cdc4315cee2f6c754ac9d6aff58ce87d24d2ea9f1a7427274ecec7f33acc650000000048473044022039444c85f778fd8a95cfdf4afef47ba804425d2ca97907e86393af56406f472a022029de7c2617d2e7d8c1958bd84b775e1b8d4d1e22591529dc13ae050b0b96999001feffffffd6a7bf9cd512e454b7b1b33f2484a16cf5237d8a9e6ecf49294dd7931a5e88d600000000484730440220492bbaa48ca4ea7424412d6421e87f95f0f1b5beefc4c1c818bd2a94b9b5a00402207ef391cdc9f84e88d1ff2cc7d68edb5afacd7ad0be3a478df0911b1bb1973cf401feffffff89e1344e9d47932c19b24a88062ee6166cc9704d26820690c903e3a63924b924000000004847304402207fcd1b6818c875abe2148b1dfe1553c73c2eca561ec3ce1e99c6bbab3b6543830220562dfa7391a5823563fbecf3e41361e6b7a4b3f541b39f667ad0137c726c9de801feffffffe7092dda245a178b4e50dcda70cbc9fedef3fadfef94c6dbe5dc349d105cb94e0000000048473044022002fdc279d955d8d0e60c4705b170b700d934fbf5efa1d7c8b2443ab1587d80b9022000c8d135e6f81c664487ca8431c7e6eb89a3eb618f646b2bce28b5517dbff72a01feffffff8bf3c8734ee9682ffbce41e520a2e8a466c5d46654d98cbcd4ebfcf64a73939700000000484730440220629988e915cb34552abeef352b7a1a0ebd6792d0a0c91d8d906dd6065ee68a4902207646cc98da887dd19b3d26185d5bcae423fcba036c8c1082985ac8a260e7f54001feffffff4a3b666ad423ba3a2b7a14edef7d826cf7587a2774b9f3937e75aade5698d09c000000004847304402205644ed173a99869018434ea4a1a580a1a1815431f294f134dda6cb259613962f02201d6fe1aae7fe07a88c686bf31348b07927b5088bb321af9169ddf1b232b421e601feffffff75dd734653ba95042205708b007b448aaef21cf972e8e25d76485b66a8f6c5a0000000004847304402200b4301e24066c184a4014cddec046fb9990c08caf73130e780ff9b3959e510a402206e947ea7a81cdd2ed67ae88bca5ccad5db2b29cd86cb3f57755cae19121e74d801feffffff7c704726f11711d0b75f399272c697ee49bb10aeaf170372dd50480b2fe194d9000000004847304402202bd26868009c2fc5d94525eabb1197cef6aac5b235d1623c3a762fe61295c1ba022024b9c7ecb2c28a01ba8976bd4ab9779915d37b788dc6dcdec335f89e457a99d101feffffff0a6b94c0ded59df2a0ec996581af027e4116d915e5264fb14a6555f266bec285000000004847304402203997a2d145c8cef3879c5d5dccf7758081b95d3be05443c07053d9d352d4fc2802204f66e8ceadf3147118f430404cbfa8f3b4b99d3a410d69d2a831646c1a5c2f3b01feffffff2f04521db3ecbefd9cd14ef6a594572508cbb2d9c9f544700bde46363f573926000000004847304402200fa171a3d8e4c5105504b498d039d3c386e8325b672c558e97c2751aba8ab0ba022026ba230078fac40413b0d3abc43546d3b9a779eb7af0d08544ac39355475dd4301feffffffdad37c38f84fc6fddee6510ee88705719128b1b5b2dadbc4df7e2e61164e6989000000004847304402202e8751498d9bf91cba9935100dda9cb27f404c91b1531b5dc8904278bb25b0730220537b9a18d368466680fff9c2434788f616b6d99ed46ec04c775cd041d64fc14701feffffff519a0366daed0321fcb1cbb78dd6d5d65febd7e7ea2b100c73396a98a09c2ef50000000048473044022048e89845d80f216f291001fee37e8c7178e40b97af051d57679fc46707a426bf02203ae8c2e132b4c5dbbcd97c59584a0ea9cec6a78294fe7fbfdb86d6ebe13ffc7101feffffff01809698000000000017a914ef3c5e4ee866b692245de650b178d83ca3d0fdbd8782170000 --tx 02000000013db72755b71d95be7f6785448b5387b6273ca26fd5e42204390899154b111a5300000000754830450221009b813cf658ec2c30e68fd23c369c348fd5f915f77b49581a945aa2f2f2d3c8aa022058f6a7eb78b2132d24cc260699fdc158fda6f3a0d10bc3c52bacccc03bb6b8cb012b02c800b27576a921023fb59ee7e5722a9c559d366f6ca114c73361108c04e27a18060cef7a727d58a988acc800007f0100127a00000000001976a914fd337ad3bf81e086d96a68e1f8d6a0a510f8c24a88ac00000000


text:
What would UTXO consolidation look like in the public ledger with Schnorr signatures?
I am excited about the privacy and optimisations involved with moving from ECDSA to Schnorr signatures. One of the privacy improvements, as I understand it, is that you can aggregate signatures so instead of revealing the keys involved in a multisig transaction you would only see one key / signature as an input which is the sum of multiple inputs.
But how would this appear in the UTXO set?
If, for example, I have UTXO-1 and UTXO-2 and wish to consolidate them: when I construct the transaction with Schnorr, would UTXO-1 and -2 'disappear' from the UTXO set and the new aggregate signature just appear as an input?
How would this appear in a block explorer?


text:
Is it cryptographically possible to have aggregate signature schemes that can improve privacy in UTXO consolidation?
My understanding of Schnorr signatures, Taproot and Graftroot and how they improve privacy in smart contracts / multi-sig is by allowing users to aggregate signatures so the individual signatures and keys are not visible but summed in the aggregate key / sig.
Are there any cryptographic protocols that allow the summing of UTXO inputs? So for example multiple inputs in a transaction were summed to one aggregate input and then signed with the sum of the input private keys?
Is it possible to improve privacy of UTXO consolidation?

Yes, I believe that the accumulator constructions as described here are a good candidate. The same idea applied to Bitcoin is implemented by Tadge Dryja here

That's really not what accumulators do. They're a mechanism for validating unspentness of individual, identifiable, separate UTXOs without maintaining an explicit database on them (and instead relying on proofs that they were indeed unspent). There are no privacy gains from that.


text:
Display unconfirmed transactions graph
Where can one see a real time graph of current number of unconfirmed transactions (Y axis) over time (X axis)?
Thanks!

Johoe's bitcoin mempool statistics should work for you. It currently shows pending tx count, pending tx fees (btc), and pending mempool size (MB).


text:
Online trading testing sandbox for Bittrex
Is there any testing Sandbox for Bitrrex? How can I obtain the test bitcoin and purchase the ETH? Please advice.

I don't think Bittrex has a sandbox mode, I googled it and there wasnt so much information around...
You can look for testnets and testnet coins faucets if you want to test cryptos without spending real money.


text:
Keep getting Trgval? no (false positive; hash > target),
Yes, I am a Noob. Getting acquainted with bitmining before I move up to big rigs investments. Learning rig is a RPI 3 B+ with Bitmain ASIC eruptors. Using BDGminer and get connection and hashes with it. Problem is, when computations done I recieve this:
trgval? no (false positive; hash > target)
Been researching and finding nothing to help. Changed pools changed scripts, but best is the Sha256 which the bitmain's are designed for. Kind of stuck right now and hope someone would have a clue to help.
Thanks

Did you find the answer to this?


text:
How i can connect to bitcoin core light server?
Need a bunch of Laravel + Bitcoin Core. Need a light version of bitcoin bark. Installed as follows:
sudo apt-get install build-essential && sudo apt-get install libtool autotools-dev autoconf & & sudo apt-get install libssl-dev && sudo apt-get install libboost-all-dev && bitcoin && sudo apt-get update && bitdoin & mkdir ~ / .bitcoin / && cd ~ / .bitcoin / && nano bitcoin.conf
Config
proxy = 127.0.0.1: 9050
rpcbind = 127.0.0.1
rpcuser = user
rpcpassword = password
rpcthreads = 30
testnet = 0
rpcport = 143
server = 1
datadir = / root / .bitcoin / base /
shrinkdebuglog = 1 prune = 551 lang = ru_RU
printtoconsole = 1 server = 1
And how can I connect to this server now?
Run - bitcoind --daemon


text:
JSON-RPC get full nodes information
Is there any way to get all full nodes by RPC call?
Afaik full node contains information of other full nodes in the network and was wondering how to request that.
I red the documentation on Bitcoin Core Apis and all I found is getpeerinfo which returns a list of connected nodes but the JSON it gave me seem to not contain that information.
Does anyone know if this data is accessable and how to get it?

You cannot request this information, because it does not exist.
There is no central registry of nodes, nor do they have identities to begin with. Full nodes do maintain a database of IP addresses of peers they now about, but that is not, and is not intended to be, a comprehensive list of all nodes on the network.
The closest that exists are network crawlers who ask around for IP addresses and try connecting to them (some DNS seed report results based on crawler information), but even that is only an approximation, and can only discover nodes that are reachable. The vast majority of full nodes only make outgoing connections.

Thanks a lot for this information but i am building my own blockchain from scratch and are wondering how bitcoin calculates 51% of the network if it does not have a list of all peers

getpeerinfo returns information about currently connected peers, but not the entire network. Since Bitcoin is a decentralised peer-to-peer network, no peer can possibly establish an accurate view of the full network connection graph.
Consider how these peer connections are established which are returned by getpeerinfo. When your node is started, it will bootstrap a list of peer endpoint addresses from known seed servers. Once a sufficient number of addresses is acquired, it begins connections (This address list is actively amended as new addresses are propagated to your node after the seed session).

Outbound connections: Up to N peers on address list acquired during the seed session.
Inbound connections: Accepts connections from up to M peers connecting to your node
Manual connections: Configured permanent peers your node (attempts) to maintain connections to.

There is a configurable limit to all types of connections for your node. In any case, the limited view of the network means your node will never have a full view of the global Bitcoin p2p network.

Thank you for your answer. What I ment was to call seeders listed here: https://github.com/bitcoin/bitcoin/blob/aa624b61c928295c27ffbb4d27be582f5aa31b56/src/chainparams.cpp#L127
for list of "full nodes" but I still dont know how to request that and even if I manage to get that data from all seeds, will the list contain all "full nodes" or just few.

They don’t return a “full list” either.


text:
What Off-Chain programming languages are important in Blockchain development
I am looking at getting into Blockchain development, and I would like to have some idea about general programming languages that are relatively important compared to the general developer-market.
Myself, I know C++ and C# well, but it would be interesting to combine getting into Blockchain with getting into Python or Functional language or similar.  (Possibly GO or stable parts of JavaScript stacks, probably not Java)
Are some on-chain languages related to particular off-chain languages?


text:
Bitcoin payment sent and confirmed in blockchain but still not yet received by the account
I made payments for this account number 1D3HZXK8So3n6LahCGWpkAxbQ3P6br1gSs worth 10$ for quick verification procedure of my account.  But its almost been 24hrs now, it still says payment has not yet received,  What should i do now so that i can proceed with my transaction also.  . .
Heres the Txid of my payment
3f624c15d2479ac6aa696b7357fcb650bf29d442f1a980a65488da3bd9501a48
Hope you can help me with this.  .  Thank you

Your transaction is indeed confirmed. What 'account' are you waiting to see confirmation in? If it is a wallet you control, then it may not be synced properly to the network. If it is a third-party service (I'm guessing it is), then this is a customer service issue you'll need to take up with them.

Well what i just want is for the payment to be received by the account number so that i can get my earnings.  .  . I assume im not a victim of a scam here because the site topped up with bitcoins and i guess its a reliable site.  .  .

Which "site" holds your account?

You sent $10 to an exchange, instructing them to send BTC 0.0016 to an address.
If you look up your transaction 3f624c15d2479ac6aa696b7357fcb650bf29d442f1a980a65488da3bd9501a48 in any "blockchain explorer", for example here,  you'll see this transaction had 2 inputs and 20 outputs. I guess this was an exchange from whom you purchased $10 of BTC and asked them to send it to 1D3HZXK8So3n6LahCGWpkAxbQ3P6br1gSs, the exchange probably combined your transfer with other people's to save transaction costs.
One of those output addresses was the "account" you mentioned.  1D3HZXK8So3n6LahCGWpkAxbQ3P6br1gSs. It received ~$10 in this transaction. Note that this is a Bitcoin address not an account number.
But you don't own that address.
However the $10 of BTC sent to this address is now marked as spent. Three hours after your transaction, it was moved to address 19d1iU8XvYAdPVbCKHExD8hNqbC7T7NwW5 along with 22 other inputs.
The earliest transaction for your address was April this year. From what you write I suspect you did not have control over this address that long.
It could be that addresses 1D3HZXK8So3n6LahCGWpkAxbQ3P6br1gSs and 19d1iU8XvYAdPVbCKHExD8hNqbC7T7NwW5 are both owned by some business (not by you) who swept the $10 and other small amounts into a different address for privacy or other reasons.
Scam?
You mention "account" and "earnings" and seem confused. These are strong indications that you are the victim of a scam.
It is safer to hold Bitcoin in a standalone wallet, not in a hosted wallet run by a website. Many websites are fraudulent, especially any that promise high earnings (or any earnings at all). It is important to take care to investigate any website before sending money to one. Do you know the names of the people who own the business? Do you know when they first registered the domain name used by their website? Do you know where their business is based? Can you check any of this independently from them?
A scammer may show you a web page that makes it look like your $10 has grown to $20. They might encourage you to invest more. If you ask about withdrawing money they might tell you about a withdrawal minimum amount you didn't know about before, they might say you need to send a withdrawal fee or some other fees. They might try to trick you with watch-only wallets or other deceits.
Business relationship
The business running the website you opened an account with might be legitimate. We can't help you much with your relationship with them. A legitimate business will have a support telephone number or other way of contacting them and resolving your problem.
What to do
I suggest you forget about your $10, at least for the next few weeks. Spend some time learning how Bitcoin works, why it is high risk, why it is very hard to earn any money with Bitcoin investments in October 2018, how various scamsters operate, how to choose a wallet, how to backup a wallet and private-keys, how to test recovery from your backup actually works, how to make sure someone you love gets your Bitcoins if you are run over by a bus tomorrow (20-30% of all Bitcoins are lost forever).
No private-keys, no Bitcoin
This is a common saying. It means, you own no Bitcoins if you don't know your private key and don't know for absolute certain that no-one else knows your private-key (e.g. by having known your wallet's old password at any time in the past).

You sent $10 to an exchange, instructing them to send BTC 0.0016 to an address.
If you look up your transaction 3f624c15d2479ac6aa696b7357fcb650bf29d442f1a980a65488da3bd9501a48 in any "blockchain explorer", for example here, you'll see this transaction had 2 inputs and 20 outputs. I guess this was an exchange from whom you purchased $10 of BTC and asked them to send it to 1D3HZXK8So3n6LahCGWpkAxbQ3P6br1gSs, the exchange probably combined your transfer with other people's to save transaction costs.
One of those output addresses was the "account" you mentioned.1D3HZXK8So3n6LahCGWpkAxbQ3P6br1gSs. It received ~$10 in this transaction. Note that this is a Bitcoin address not an account number.


text:
(Mastering Bitcoin) When sending a raw transaction, why is the receiver included in the details hash as a "send" transaction?
I'm working my way through Mastering Bitcoin. The author made a transaction to send 0.05 BTC from one address to another (http://chainquery.com/bitcoin-api/getrawtransaction/ae74538baa914f3799081ba78429d5d84f36a0127438e9f721dff584ac17b346/1)
In the book, he runs the following command to get the transaction details:
bitcoin-cli gettransaction ae74538baa914f3799081ba78429d5d84f36a0127438e9f721dff584ac17b346
The JSONRPC returns the following object:
{
   "details":[
      {
         "account":"",
         "address":"1LnfTndy3qzXGN19Jwscj1T8LR3MVe3JDb",
         "category":"send",
         "amount":-0.02500000,
         "fee":-0.00050000
      },
      {
         "account":"",
         "address":"1hvzSofGwT8cjb8JU7nBsCSfEVQX5u9CL",
         "category":"send",
         "amount":-0.02450000,
         "fee":-0.00050000
      },
      {
         "account":"",
         "address":"1LnfTndy3qzXGN19Jwscj1T8LR3MVe3JDb",
         "category":"receive",
         "amount":0.02500000
      },
      {
         "account":"",
         "address":"1hvzSofGwT8cjb8JU7nBsCSfEVQX5u9CL",
         "category":"receive",
         "amount":0.02450000
      }
   ]
}

Why is there an object with the receiving address (1hvzSofGwT8cjb8JU7nBsCSfEVQX5u9CL) with the category "send"?
Shouldn't there only be 3 objects nested under "details" (i.e. 1 input and 2 outputs)?

Shouldn't there only be 3 objects nested under "details" (i.e. 1 input and 2 outputs)?

In the actual Bitcoin blockchain that transaction has one input and two outputs. One of the outputs appears to be change being returned to the input address. This is normal.
In an early version of the book, the same information (1 in, 2 out) is shown and the author says on page 52:

That looks correct! Our new transaction “consumes” the unspent output from our confirmed transaction and then spends it in two outputs, one for 25 millibits to our new address and one for 24.5 millibits as change back to the original address.

The output you show is from page 55 and looks like an editing error to me. If the author has not issued an errata, you could report this to the author or to the publisher.

The example in the question is from Chapter 3 of Mastering Bitcoin. It exists in the previous edition but that chapter has been completely revised in chapter 3 of  the latest edition

I had someone else look at it as well and he told me it might be how bitcoin handles the transaction on the accounting side? I'll have to look into this some more


text:
Can a live feed of blockchain transactions be obtained from using bitcoin core wallet?
I am interested in both obtaining the entire blockchain transaction history data (for bitcoin) and a live feed of transactions for a data science project. BlockChain.com has a very useful websocket API for the latter and I have been downloading Bitcoin core to obtain the former. Given that bitcoin core clearly receives new transactions in real time - is there a way I could get a live feed of transactions directly from bitcoin core (cutting out the need for the BlockChain.com websocket API). Thanks.

Have a look at the zeromq options for bitcoind.

is there a way I could get a live feed of transactions directly from bitcoin core (cutting out the need for the BlockChain.com websocket API)

Certainly. Bitcoin Core supports the ZeroMQ messaging protocol. It publishes a stream of blocks, block hashes, transactions, and transaction hashes to whatever port you specify. You can specify which of those you want to, they have to be explicitly enabled. This stream is always a reflection of what it is currently receiving over the network. Once it has validated a block or transaction, it will then push that out to the ZMQ stream.
You can then connect to the ZMQ stream with whatever software and parse the messages into their respective types.


text:
How to withdraw cash from blockchain wallet
Is exchanging bitcoins with money from other people the only way I can withdraw my money into my bank account??if there is another way please lead me

Is exchanging bitcoins with money from other people the only way I can withdraw my money into my bank account??

Yes, it's the only way.  You can't "withdraw" bitcoins into your bank account, any more than you could "withdraw" a car into your bank account.  You have to sell them in exchange for money, and then you can deposit the money in your bank account.
See How can I sell bitcoins and transfer the funds to my bank account?

You can exchange bitcoins for dollars at the crypto-exchange. Select it depending on the commission that suits you.


text:
Locked received coin
This is a picture of my reminato deposit history.
Hello,i received btc on my reminato wallet,the btc did not credit but shows in transaction status lockef

Can you share the full txid or receiving address? That may help someone answer your question.


text:
What applications of clients use bitcoin JSON-RPC?
As far as I understood, the Bitcoin JSON-RPC is one of the ways (if not the only way) in which applications can be built that can access the bitcoin wallet. So, the RPC server here gives that access and any client (or app) can access via APIs.
So far, I have just figured our that only bitcoin-cli is such a local application which uses the RPC. Are there any other examples where the JSON-RPC is used?
In other words, are there any Desktop apps (mainly) that can access the bitcoin wallet.

As far as I understood, the Bitcoin JSON-RPC is one of the ways (if
  not the only way) in which applications can be built that can access
  the bitcoin wallet.

There is also a REST interface, but that is for read-only type commands like getting blocks or transaction info.

So far, I have just figured our that only bitcoin-cli is such a local
  application which uses the RPC.

bitcoin-cli is just a cli interface to the RPC, it doesn't really do anything on it's own. Also, the RPC interface isn't just for wallet commands. A list of commands can be found in the documentation at https://bitcoincore.org/en/doc/0.16.2/. The commands expose functionality including:

blockchain
control
generating
mining
network
rawtransactions
util
wallet

Are there any other examples where the JSON-RPC is used?

Many software libraries will communicate with the Bitcoin Core RPC, too many to list, but this might be a good start: https://github.com/igorbarinov/awesome-bitcoin. Not all use the Bitcoin core RPC, some implement their own full node (like copay).


text:
Bitcoin open source web wallet with Bitcoin wallet service
Where the user email and password are stored when user registered on the web wallet websites like blockchain.com ?
Is the blockchain.com directly interact with the bitcoin blockchain and store the email and password on blockchain ??
How the web wallet works ? How they are interact with the blockchain ?
Sorry for lots of questions in one , The main thing that i want to understand how the more secured web wallet interact with blockchain ?

Where the user email and password are stored when user registered on
  the web wallet websites like blockchain.com ?

In the ORDBMS database.

Is the blockchain.com directly interact with the bitcoin blockchain
  and store the email and password on blockchain ??

The blockchain.com has full bitcoin node and interact directly with bitcoin node. They doesnt store users data(email, passwords and so on) in the blockchain

How the web wallet works ? How they are interact with the blockchain ?

Web wallets is a plain middleware between full nodes and users, they are in the cloud.

How the more secured web wallet interact with blockchain ?

Your wallet is protected, but there is always a chance what this web wallet(or any other web service which offers web wallets) will be hacked.

The blockchain.com has full bitcoin node and interact directly with bitcoin node. They doesnt store users data(email, passwords and so on) in the blockchain
While creating account on blockchain.com they ask for email and password and after that they are providing the 36 chracters id for login ?

@PankajKumar maybe, I dont use web wallets.

how can we generate the mnemonics with bitcoin RPC ?

The genertion of mnemonics currently in proposed bips https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki

Is its in purposal then how some of the website are using the 12 words character to unlock the wallet ?

There are plenty implementations https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki#other-implementations


text:
Which Bitcoin RPC call is used for setting transaction priority?
Is there is any bitcoin RPC call for setting the transactions priority ?

you may want to rephrase your question, what do you mean exactly when you say "transaction priority". You just want it to confirm faster? This term also used to refer to a specific thing which no longer exists in new clients: https://bitcoin.stackexchange.com/questions/54583/why-is-the-transaction-priority-removed which can be confusing

I have found the way to set the fee of a transctions
While sending the BTC to other user we need to use the sendmany rpc call to send BTC and set the replacble parameter as true
next user can use the bumpfee method to pass the txid along with the fee that need to be applied to the unconfirmed transactions
e.g
txid=rpc_connection.sendmany("pks891618",{"2MzLYJLb14r6jJHzW9WQpAa5xERuV9EYvn3":0.9},1 ,"moneysend" ,[],True)
print(rpc_connection.gettransaction(txid))
ftxid=rpc_connection.bumpfee(txid,{"totalFee":50000,"replaceable":True})

i guess transaction priority depends on the amount of fee you are willing to submit

The transaction priority is implied by the fee which you set for it. You can estimate the fee with your desired priority using https://bitcoincore.org/en/doc/0.16.0/rpc/util/estimatesmartfee/
Simply compute your transaction size (bytes) and adjust the transaction fee according to the sat/kB returned by the estimatesmartfee call.

Sorry James but how fee can be set , the above method is returning the estimate fee ,
Here is what i want to allow my wallet customer  ..
Suppose customer want that his transaction can be done fast and he is ready to pay more for the transaction fee . Which method allow me to do this

Are you using bitcoind wallet? If not, you need to compute the size of your signed transaction manually. Since you haven't signed it without knowing the fee, you can assume a DER signature to be 72 Bytes long, though it could be as short as 70. Then, make sure your output amounts - input amounts = feerate * tx_bytes. For scripting raw transactions, see https://en.bitcoin.it/wiki/Raw_Transactions#createrawtransaction_.5B.7B.22txid.22:txid.2C.22vout.22:n.7D.2C....5D_.7Baddress:amount.2C....7D

i am using the bitcoin-cli

Ok - use createrawtransaction. But also try to understand the tx length you want to build (version, inputs, outputs, locktime, witness), so you know how many tx bytes you are dealing with.

James i am using the bitcoin RPC calls to send coin from one wallet to another.  Suppose A user sending 0.01 BTC to B. 1) While sending how user A come to know how much fee will be applied 2) If A select custom fee , how that can be applied to the current transactions

I am not sure I understand your question. Each tx requires an estimate of the required mining fee to receive confirmation within reasonable time after being broadcast. Subsequent txs must repeat this process independently, as the blocks may have gotten full or empty and the necessary fee rate has changed.

User regiser with username and i am making the rpc regtest call to assign he wallet adddress to the username
Now user can send and recieve the BTC . On the server i am using rpc call to send and recieve BTC.
Now here is what i needed

Suppose User A wants to send BTC to B user .
While A sending the BTC to B on the form there must be a option to select the transcation priority (If his transacation can be processed on high priority or not. )
A can also select the custom fee (sat/byte)
I cant see any rpc call for  custom fee or transaction priority

Because the priority or fee us implied in the tx. It is the difference between output amounts and previous output amounts referenced by the inputs. The fee is not explicitly set somewhere, it is simply subtracted from the available previous output amount referenced by your tx.

Please check this screenshot  https://www.awesomescreenshot.com/image/3807635/a65560c9fd2af89cf268a350bae80dd5.  Blockchain.com allowing the user to selection priority and also customize the fee .

Yes, it will add the fee automatically, so person B will receive the amount you specified, but the “input” amount will be higher, namely by the fee amount. But on the protocol level, there is no fee data structure, just input amounts (referenced) and output amounts (explicitly encoded).

PrioritiseTransaction  , James i have found this RPC call , can you please check it   https://bitcoin.org/en/developer-reference#prioritisetransaction .I think with this we can set the priority for the transaction

This call only prioritizes the tx for miners who are building new block templates from the mempool of your node. It will not prioritize for any other miners on the network, they only see your fee and prioritize accordingly.

Ok Suppose , my node have a transaction with high fee(more then all bitcoin network ) then what are the possibilities that the next block will add this transactions on the bitcoin network ?

Good question, check recently confirmed block txs to get an estimate. There are bitcoin fee estimation algorithms you can find and research on the web.


text:
how to split transactions based on send and receive Json rpc bitcoin
I am creating new wallet for bitcoin and want to know how we can get the separate list of send and receive transactions using JSON rpc.
I cant see any method for json rpc that give list of send and receive category

are you searching for  sendtoaddress rpc?

no , i am looking for the way to get list of sent and receive transactions ,listtransactions returning send and receive list , i want to get separate list of sent and recieve

you need to find it out through VOUT and VIN list

is that means there is no separate rpc call for getting the sent and receive for particular account label ?

listunspent : version 0.7 Returns array of unspent transaction inputs in the wallet.
source : https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list

sorry but its not have any parameters that differentiate the accounts. i need a way so that on the basis of accounts label i have the sent and receive transactions list

Let us continue this discussion in chat.

Sounds like you are looking for the listtransactions API call in combination with the category field.
First argument is for a specific account, use * to return all accounts.
2nd is how many you want to return.
3rd is if you want to skip transaction from the start.
4th argument is if you want to include watch-only addresses.
$bitcoin->listtransactions("*", 100, 0, false);
Example output (note the category field):
{
"result": [
    {
        "account": "",
        "address": "32NFcoB96ANoPnqycLH9WUd94o7bwRyq66",
        "category": "receive",
        "amount": 0.00385000,
        "label": "",
        "vout": 1,
        "confirmations": 24827,
        "blockhash": "000000000000000000250cffa73c2a08e64e53dab398ede3f38b1c30ae5c66ca",
        "blockindex": 317,
        "blocktime": 1529098309,
        "txid": "07b1d3fbc4d78d480d510264bb01bd390e81cda34dcb01e882e94adfa9355d10",
        "walletconflicts": [

        ],
        "time": 1529098115,
        "timereceived": 1529098115,
        "bip125-replaceable": "no"
    }
],
"error": null,
"id": null
}

sorry but how can i categorise all transactions ? With above results its mixed transactions of send and receive .Also i cant get the total count of all transactions

You need to filter the result yourself by looking at the category.

Andrew but i can understand that i have to filter result , but one thing i cant understand that how can i count the total transactions , as there is no count attribute return by the listransactions rpc call

Andrew can you please check if the above logic is correct or not

As achow mentions you need to add that yourself. Create a simple loop and then check to see if category equals send or receive, then output your data as you like.

    from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException
import logging
RPC_USER, RPC_PWD,URL,PORT="RPC_USER","RPC_PWD","URL","PORT"

CONN="http://%s:%s@%s:%s"%(RPC_USER, RPC_PWD,URL,PORT)
try:
    rpc_connection = AuthServiceProxy(CONN)
    start=10
    end=0
    count=0
    receive=[]
    send=[]
    while True:
        trans=rpc_connection.listtransactions("prologic",10,end)
        for tran in trans:
            if(tran['category'] == "receive"):
                receive.insert(0,tran)
            else:
                send.insert(0,tran)
        if(len(trans) is 0):
            break
        else:
            end=end+10
            count=count+len(trans)

    all_trans={"total":count,"receive":{"count":len(receive),"trans":receive},"send":{"count":len(send),"trans":send}}
    print(all_trans)

except Exception as e:
    print (str(e))


text:
Cashing out bitcoin to fiat money
I have a question that I have been wanting to ask.
Let's say somebody got lucky having some bitcoins years ago and now it is worth $2 millions or more obscene numbers.
How do you cash that into USD?

authors: Александр Сергеевич


text:
How to install correctly this PiWallet Script in Ubuntu?
Good evening everyone.
  I'm trying to set up the piWallet wallet (https://github.com/johnathanmartin/piWallet) on Linux.
 I was able to successfully install the "Bitcoind Server" (which works very well when I type in a Terminal the commands "bitcoind -daemon" and then "bitcoin-cli getinfo", I get the Info of Blocks, Balance, etc. ..), PHP5 (then the Script is based on PHP5), PHPMyAdmin, Apache2 and MySQL on Linux Ubuntu 14.04.
But the concern I encounter is that the file "jsonRPCClient.php" fails to connect the client and displays the following error:
Warning: fopen(http://...@127.0.0.1:8332/): failed to open stream: HTTP request failed! HTTP/1.0 401 Unauthorized in /var/www/html/piwallet/jsonRPCClient.php on line 133

Fatal error: Uncaught exception 'Exception' with message 'Unable to connect to http://greg:pass123@127.0.0.1:8332' in /var/www/html/piwallet/jsonRPCClient.php:141 Stack trace: #0 /var/www/html/piwallet/classes/Client.php(17): jsonRPCClient->__call('getbalance', Array) #1 /var/www/html/piwallet/classes/Client.php(17): jsonRPCClient->getbalance('zelles(chegadmi...', 6) #2 /var/www/html/piwallet/index.php(22): Client->getBalance('chegadmin') #3 {main} thrown in /var/www/html/piwallet/jsonRPCClient.php on line 141

I do everything but Zero; no solution; I even searched the internet but no satisfactory answer. The bug to check if PiWallet really connects to the Daemon Server (Bitcoind), I run "greg:pass123@127.0.0.1:8332" in a Browser, and I get the following error saying that we did not Need authentication to connect to 127.0.0.1:8332.
Help me really because I need it.


text:
Get input addresses of a transaction using electrum
I am using the latest (3.2.3) command line version of Electrum. I want to find the inputs of a transaction by looking at the history. The previous version of Electrum (that I was using 8 months ago) had a field (array) called input_addresses in its history output.
The current version does not have it.
A sample output from history is something like this:
$ electrum --testnet history --show_addresses | tail -40
...
        {
            "balance": "xxx BTC",
            "confirmations": 1,
            "date": "2018-09-21 12:27",
            "height": 1413976,
            "inputs": [
                {
                    "prevout_hash": "c96274d67e095...74c1af",
                    "prevout_n": 1
                },
                {
                    "prevout_hash": "f7e443ade3f0e...fe1eb8",
                    "prevout_n": 0
                }
            ],
            "label": "",
            "outputs": [
                {
                    "address": "myAB...",
                    "value": "0.49794855 BTC"
                },
                {
                    "address": "2N25...",
                    "value": "5.000258 BTC"
                }
            ],
            "timestamp": 1537522037,
            "txid": "3404f9fb96...0d253c",
            "value": "-5.00233525 BTC"
        }
    ]
}

So I am left with something called inputs containing some hashes. I need to convert these hashes to input addresses from command line.
The GUI version of Electrum will show the input address on the right of the hashes, like this:
c96274d67e095...74c1af:1    mhAhgR...
f7e443ade3f0e...fe1eb8:0    mhAhgR...

The hashed refer to the previous tx the input is consuming, and its vout position in that tx.
You will need to use the electrum API to fetch that transaction's details, and look at the outputs[vin] value for the locking script, and then convert that to an address by encoding it for base58check/bech32.

Thanks. But, a bit complicated. I found the information I was looking for in api.blockcypher.com which can be accessed using wget or curl in my scripts.

it might be wise not to trust an external API especially one your not paying for. Raghav's method might be tedious but its much more trustworthy I believe

They removed input addresses aka from addresses because those were technically incorrect. There are no from addresses in bitcoin so this was misleading to users. I believe even in the GUI it only shows from addresses where the addresses belong to the same wallet. They should remove them entirely.
Whatever are you doing that requires tracking from addresses? I suggest handing out different receive addresses to different users to track who sent you how much and not relying on from addresses. This is the correct way to use bitcoin.

Thank you for the clarification! I had a similar feeling along your lines. My case is something like this: Somebody -- who I do not know -- will send some me some testnet3 bitcoins; an automatic script will do some calculation; and it will send back an amount of testnet bitcoins to the "wallet" that started the transaction. As "wallet" I was trying to use one of the input addresses of the original transaction.
Since, the potential senders (i.e., the people or "wallets" who will start a transaction) are not limited, I cannot give a different receive address to each one.

@FedonKadifeli You can generate unlimited addresses from an extended public key so just install that on your website and have the sender get an address from there. Mycelium gear offers an easy to use donation widget that can solicit information like an email or name and generate a unique address for every individual that requests it. Another option is this wordpress plugin but you'll have to modify it to ask for personally identifying info from the sender. You can get your wallet's xpub via wallet > information.

what about games offfering payouts without creating user objects/user sessions such as satoshidice? paying back to input addresses seems like the only way to make that work.

@frogeyedpeas and that has resulted in lost coins. it's specifically listed on the wiki: https://en.bitcoin.it/wiki/From_address

@Raghav Sood deserves credit for outlining the high level plan.
For the lazy person here is an explicitly spelled out guide on how to find input addresses. Keep in mind that for almost all applications its not recommended to re-use input addresses, there are a handful of edge cases where they make sense. I strongly recommend reading: https://en.bitcoin.it/wiki/Address_reuse before proceeding.
Get a TXID, such as through  transaction history (Skip if you already have TXIDs):
First we can recover our transaction history (note these assume you have default wallet loaded, if you want to use non default wallets, you will need to pass in -w and -W flags) such as
./electrum onchain_history

This will output a history of transactions, its a json blob of the form
{"summary": {...}, "transactions": [{...}, {...}, ... {...}] }

The transactions field is the array you are interested in, each element (a Json blob) contains a transaction, these transactions have a field: "txid", if you acquired
Open Your Transaction (Skip this if you can duplicate the OP's output, i.e. open transactions successfully):
given the txid HASH you can then find the transaction through the following two steps
./electrum gettransaction HASH

example:
./electrum gettransaction f85a184b7ff78a6a89337ff2c7a944fca615e571d77e390755b6ffb8563d4583

This will yield an often-large JSON BLOB that is the serialized-transaction. We now have to open this blob:
./electrum deserialize BLOB

example:
 ./electrum 0100000000101ed1aa1daea82d082e7e5c5cc9ef8b21c08f48e6d961545362d8fc0eb2a067100a000000fffffff317a18100c000000017a914320307f04422094abf47b832c88253e93597d1f68755a4be000000000017a914d68c397348ad2388a71a2966fba32e413ce4ab0879e46530000000001976a91422294ef117cc609b5479e4f884719b6a89e5a5f18c912a000000e00001600149c4c4bc0a4ee905d4333344a31bde95cdddd7ced6a8020000000000197a914386e2c8f36eadb8e2719f3958abba32cda5bfe4b88ac4c4a04b0000000017a914127f34ed64cabe05ec3f0b39268e75f2111f0b48740d10c00000000017a914df24

In doing so you will find a JSON payload described your transaction now we run into the trouble the question poster found which is: the inputs only give you a "prev_out" hash and a "prev_out_n". So how to find the address?
Finding Input Addresses:
We now use the commands we have already established to take us home.
./electrum gettransaction prev_out_hash

example:
./electrum "c96274d67e095...74c1af"

(the string quotes should be kept but they can dropped in most shells)
The output of this command is a BLOB, to deserialize
./electrum BLOB

example:
./electrum 0100000000101ed1aa1daea82d082e7e5c5cc9ef8b21c08f48e6d961545362d8fc0eb2a067100a000000fffffff317a18100c000000017a914320307f04422094abf47b832c88253e93597d1f68755a4be00000000

Now you have opened the transaction that contains in the input. In the "outputs" array find the transaction at index: "prev_out_n", this transaction will have an address.
That is your from address. But really try not to use this.
EDIT:
one can use the "--show_addresses" flag instead, to yield all the addresses saving a tremendous amount of effort:
electrum onchain_history --show_addresses


text:
synchronizing takes weeks and more than 120 gb
Do I have to download all 120 gb?
I sent myself 100 euro in bitcoin weeks ago. Waited till bitcoin core synchronised to receive them. but it took weeks. And no money in my wallet. And my pc is out of free space.

For the "out of free space" issue you could use pruning mode. For the "no money in my wallet", you'll have to tell us a little more. Is the transaction confirmed?
also see:

Cannot access my bitcoins because my wallet is still synchronising. What can I do to spend them immediately?
How can I run bitcoind in pruning mode?


text:
Mycelium: Restore backup from Android to iOS
I used Mycelium wallet on Android quite a while ago. I created a printed backup which consists of a 15-character password and two QR codes: The bitcoin address and the encrypted private key.
Meanwhile I switched to iOS, installed the iOS app and wanted to import my old wallet (which still contains Bitcoins). However, when I open the app and select "Restore from backup" it asks me to enter my Master Seed separated by spaces.
Sure enough, the backup does not contain a master seed and and entering the 15 character password does not work.
How to import the old wallet?

After lots of suffering I managed to do it. Very unfortunately mycelium does not even support importing their old keys.
Fortunately they provide a backuputil which converts the private key in their format into WIF (Wallet Import Format): https://github.com/mycelium-com/wallet/tree/master/backuputil
I takes some effort to built this tool but afterwards you obtain the private key in WIF format. This in turn can be entered in the new Mycelium on iOS.
Again, very unfortunately, the key is NOT imported but rather the funds transfered to the Mycelium account. This results again in unnecessary transfer fees.

May I know how you built this tool. I am basically in the same situation and would very much appreciate help.


text:
Is there anything wrong using a cold wallet from BitKey in watch-only mode on my normal desktop Electrum?
I followed the instruction for cold-offline in BitKey and created my cold wallet on a USB key with BitKey burned and booted from a CD-ROM. I noted the encryption password and the seed phrase on a paper which I will store in a secure location.
The workflow described on the BitKey website would use cold-online mode for watching the wallet (and preparing transactions).
Now, is there anything wrong in adding the watch-only mode (I think BitKey stores the proper information unencrypted on the USB key) to my normal work PC running Electrum on Win 10?
In my opinion, it shouldn't because no single secret will be exposed. However, I am wondering why the documentation is so keen on emphasizing the workflow with cold-offline and cold-online.
Lastly, I intend to store my Bitcoins for long term. In 10 years I may have forgotten details about the sofware, BitKey may not exist any more, I may not have a CD drive any more, Electrum may be at a completely different version and who knows, it may be hard to import the data.
For that reason I really love the simplistic idea of paperwallets. But individual paperwallets are hard to deal with. Hence I would like to store an export of the public/private key list of my wallet as well. I feel this format will be most barebone and most likely to be importable also in ten years or more (I know that the seed could re-generate them but I hope you get my point).
For backup purposes, I also want to store the AES encrypted contents of the USB key on my NAS. I am thinking of packing the public/private key export into this file as well. Using a very long passphrase and storing it in a KeePass database.

I don't know BitKey, but is you intend is to store your bitcoin for the long term (10 years) why you don't use an official wallet? such as Bitcoin core and make some backup operation? Bitcoin core born with Bitcoin and it is one of the software that in the next 10 years will be here.

In addition, by the theory, you can change your key with different software, with bitcoin core you can change software and use some other type of software, so I suggest to use this type of software without coupling with the actual implementation, because you don't know what happening in the future. p.s: I repeat my self, I don't know how work BitKey.


text:
I want my money i used the recommended fees for my 3 transfers but we going on 36 hours and no confirmation
i did use the suggested fee from block-chain and still nothing what do i do .........decentralized currency is awesome but who is responsible when shit hits the fan if my bank was to mess up and not get my transfer lost i could call the bank and be fixed right away now im out my funds for going to be 3 days and no end in sight b41a9804a2e131196717b550553804dad75baec2e43a4817e6b1ba7cb2a12895   8d5e0ebff08ffd3ce6c4c4224a56d4e2458623476a21cb3ab732e2817a278f0b            00afdc1da94fd08b79e084c0ce60c5c97647e55ec9e8cef9dcc85aa1a4f44532

No one is responsible if your account gets hacked , your funds stolen or your transaction is stuck. Your problem is caused as currently the network has a backlog of 200,000 unconfirmed transactions.

authors: Мари Славчев


text:
What is the meaning of in-script and out-script in standard bitcoin transaction?
I am new to bitcoin world and I am reading this paper: Secure multiparty computations on Bitcoin
https://eprint.iacr.org/2013/784.pdf
The author said on page 7 that the standard bitcoin transaction can be represented as in attached picture. Could anyone explain what is meant by in-script and out-script. And Could any one give a easy explaniation to that standard transaction?

What is meant by the both seems to be answered following the diagram in the pdf: "The transactions where the input script is a signature, and the output script is a verification algorithm are the most common type of transactions" and in context seems to directly refer to Inputs and Outputs used in Bitcoin.
I apologise in advance if you find my answer too simplified.
You can look at Inputs and Outputs like a coin in your pocket: you received it as an input in change while at the store last night, they received it as an input from the bank earlier in the week, and the bank received it as an input from the mint. The exact same coin at the same time was an output from the Mint that went to the bank, an output from the bank to the store, and an output from the store to you. When you give that coin to the gas station tomorrow, it will be your Output, and the gas station's Input.
So it is with a bitcoin: it starts life magicked into being by a miner who receives it as a reward for mining a block. He sells it for cash to pay his electric bill and so in a transaction on the blockchain, that same bitcoin is transferred as an Output from the transaction that magicked it into life, and an Input to the address of the new owner. Every single bitcoin transaction can thus be looked at as defining who owned that sum immediately beforehand: its in-script, and who may spend that coin next: its out-script. (I'm deliberately not mentioning how transaction fees affect Inputs and Outputs for simplicity.)
I've covered how the In and Out describes the movement of a bitcoin sum, but what about "Script"? In bitcoin (and computing generally) a Script is a very short program describing how data is to be handled. Here, the Out-script is a short program that defines the conditions under which that bitcoin may be transferred: in a standard transaction (I'll come to that shortly) the Out-script program will say something like "this sum may only be transferred by the private key that matches public key X". The In-script program will say something like "My right to receive these funds may be identified by Y". Only when combined and validated will the network at large agree that the transaction happened.
I've not read his entire PDF but I'll take a punt on just the section shown that The Standard Transaction he refers to is a p2pkh transaction. Your easy explanation to the diagram is this: Two sets of bitcoins (v1B and v2B) had ended up unspent in transaction Ty1 and Ty2 (think: you have two unspent coins in front of you, both received in change from different stores.) Now comes transaction Tx which identifies itself as having the right to spend those coins through In-scripts1 and 2; it imposes a condition PIx on whomever would next spend those two coins; and the result is the two are combined in one new, larger value vB. (Think: you pick the coins up and put them in your pocket.)
I do not consider myself an expert here, and am acutely aware the above is likely oversimplified to the point of offensiveness. If so, I apologise and encourage you to read https://en.bitcoin.it/wiki/Transaction for a more serious background to your question.


text:
Why Ardor does not use Maven?
Are there some reasons why maven and standard maven directory layout are not used in Ardor?

There are several reasons for this:

We don't want a dependency management tool to automatically download software from the web. There is always a risk of some backdoor inserted by someone malicious in case we do not manually verify each 3rd party component.
We would like to keep the build scripts as simple and low level as possible to maintain full control of the build output. Specifically, we would like to make sure the build is 100% reproducible from source so that anyone can rebuild it to make sure the published source code is the one used to build the published binaries.
We don't particularly like Maven.


text:
Are there services which I can offer to earn bitcoins?
Yes, I am a noob at this. I was wondering if anyone could let me know if I could do something sitting on the desk to earn some crypto-pie.
Also please explain how will I be able to use my bitcoins to buy other commodities - like recharge my phone and stuff.

The best I can suggest you is to offer some services to third parties and get paid in cryptocurrencies.
If you have any skill which can be "sold" on the internet you should use this to try and earn some crypto money. This can range from coding to video editing, freelancing, writing, etc.


text:
Pay with BTC in online stores accepting only CCs
I'm looking for a way to spend BTC to buy products / services in stores that accept only credit cards. I know it's possible with virtual credit cards. Any examples of such services? Or something like all4btc -- it was a company where one could send btc and an URL of the product to buy and they took care of the rest.

so depends on what you are looking to buy. I know someone that used XCH4NGE lifestyle to buy a car recently. you can find them on twitter. @xch4ngelifestyle.


text:
Label Sent Bitcoin Transaction
Is it possible to add a label to a sent bitcoin transaction using the bitcoin-cli?

Duplicate? Labels and comments are separate fields... Duplicate of my own question?

Labels are for addresses, not transactions https://bitcoin.org/en/release/v0.17.0#label-and-account-apis-for-wallet. It's unclear what you mean by comment and how that's different than a label.

The answers to your other question cover this. The bitcoin-cli has documentation you can read to find out the answer to your question. Some actions, that are possible in principle, may not be supported by the software you are using.