texts: Version field in transactions, blocks, etc

texts: A field labelled "version" appears in many contexts regarding the Bitcoin protocol. Sometimes one uses the current version of the Bitcoin client (version message), sometimes 1 is used (block, tx), why is that? What are the rules in numbering those versions? For the context that uses 1s, would other values validate, or would they be rejected by the client?


texts: How to handle incomplete blocks when reading blk*.dat files?

texts:
I'm trying to write a parser for blk*.dat files from scratch. Right now, I can read blocks, extract the header fields and calculate the correct block hash based on the header fields.

I just tried to run the parser through all blk-files and it failed after successfully reading the first ~300 blk-files. When inspecting the failing file with a hex-editor, I found two "magic byte fields", only separated by 4 other bytes.

Since the mandatory block-header is supposed to be 80 bytes in length, I'm now quite confused.

I found three probably related questions:

blk file error when reading - did something change in the format?
How can you tell if you're at the end of an incomplete blk*.dat file?
Zeros in blk00*.dat files

My guess, based on these other questions, is the following:

This is an 'incomplete block'
This happens when a block can only be partially downloaded, or written to disk.
Deleting the affected blk files and re-downloading parts of the blockchain doesn't make sense, since this can be expected to happen again.
The parser should be able to skip these blocks.
The overall blk file is not missing actual data and is not corrupt.
The 'incomplete block' will be downloaded and written again further down in the blk file (or to an other blk-file).

Which of my assumptions are correct? .. which are not? Am I missing something?


texts: If transactions are changed in memory how miners know it?

texts:
If Alice requests something to bob, then Alice sends her public key and Bob encrypts message by using Alice's key.

Bob uses his private key and hash function to make a signature.
After finishing this procedure, Bob sends encrypted message with signature.

At last, Alice decrypts message and put it in hash function and she compares output with decrypts signature.

This is what I understood about transaction.

But When transaction is waiting in memory If someone changes a content of signature by using bob's public key How miner know it is wrong signature?

To compare message with signature, miner needs Alice's private key. But miner doesn't have.

Is there other way to compare signature with encrypted message?


texts: Where is the bitcoin automatic address generation?

texts: I have head of the automatic bitcoin address generation feature for every transaction. I have done multiple transaction, but I still have the same addresses (I have two addresses). I would like to enable the automatic address generation feature. Where is it? I am using the original bitcoin-qt client.


texts: Why are some Bitcoind commands comparatively slow?

texts:
For example, running bitcoin-cli getbalance <address> on an arbitrary, watch-only address takes around 6-7 seconds for a response. Is there any way to improve the response time?

How do API services like Blockchain.info return balance details almost instantaneously? Each API call to Blockchain.info takes less than half a second for a balance request. Is there a way for me to do that with bitcoind?


texts: I tried to send Crypto to my brand new digital wallet.  I was informed I must backup wallet first.  How do I back up my digital wallet for first use?


texts:
I'm testing some functionality on the testnet and I'm having problems with the transactions priority.

According to the technical info, a transaction that has not enough priority should have a fee of 0.00001 BTC/kb (1000 Satoshi), but when I try to broadcast my transaction using a RPC call to my local full node, I get an insufficient priority error:

{u'message': u'66: insufficient priority', u'code': -26}

For example, the following transaction has 3 inputs and 2 outputs:

01000000039233cdbb26e926993a8658f1f26b9afc3677e3715c46c10196ad87072b7b88ae000000008a4730440220353cf2638228b64a3e77f37c4b870a8ff4b743e6d34f16a72e5f022505c7c0850220203a00f1489f113d52da891b4d9553f7c469b91a7196350fdb0e295dc6f8f8df0141049da517c9760c05c7af7fdf973d2206add57cff3fbff03488115f667503fab36e6182ffc8eb3ee693885daace3682804ec9476a3f691097631268e6dbcc5b5877ffffffff68a1afda2dec62ad1db346b093a7b418c2ae207dcc0867dad18bd38c5188c845000000008a47304402205fcb79f89500f2fbbdb558f0fc8ea6a5da48e33cf5296bc36d3f09960a68e58f02200c24f823057510f9d68c0a0c59d52615c1d2a7772dc4105e24fe5562b95d93c30141049da517c9760c05c7af7fdf973d2206add57cff3fbff03488115f667503fab36e6182ffc8eb3ee693885daace3682804ec9476a3f691097631268e6dbcc5b5877ffffffff92b877bac70d96e7901afeb0e4281a9c7eb54983b4918bb57a23fd4d2402b037000000008b483045022100efafead31c56a1fbede2af24d551d22e8d811b96881c96dc294ffafe36cdf140022060b356e06b8f96515c529bab9c18f3e1b162774ea83f012cd80667e2c88a59340141049da517c9760c05c7af7fdf973d2206add57cff3fbff03488115f667503fab36e6182ffc8eb3ee693885daace3682804ec9476a3f691097631268e6dbcc5b5877ffffffff02f82a0000000000001976a914b0acf50f8479ec5913e222610e073c1f54c1b01d88acb80b0000000000001976a914b0acf50f8479ec5913e222610e073c1f54c1b01d88ac00000000

what according to bitcoinfees will have a size of:

148 * 3 + 34 * 2 + 10 = 522 bytes

and it also has a transaction fee of 0.00001 bitcoins, but trying to broadcast it will raise the error shown above.

Does anyone knows what could I've been doing wrong?


texts:
I'm trying to understand bitcoin RPC Peer to Peer protocol to implement SPV on a web-application that should receive crypto payments.

The problem is that on the examples I found, examples are about RPC requests to a full node I'm supposed to own, but I want to query other nodes (nodes I have no user:password for).

As far as I understand, bitcoinj and full wallets connects to the network make requests to them without user:pass, but I could not found how that requests are built, and how can I test and try them using curl to learn how it works.

Is there a api documentation I can check and a list of nodes I can query?

Also, I understand that to establish a connection I should send the version request, but from curl I don't have a "version".

I've found this documentation about the protocol, but I've found no way to test that out in simple terms (like curl), to know what is being sent-received.

I want to understand what queries I can make using this protocol without running a full node.

update

It seems that what I wanted to know if it is possible to learn about the bitcoin protocol making test calls with curl to full-nodes (not RPC). It seems that it is not possible.


texts: How are we so sure that the bitcoin network is connected?

texts:
I am only beginning to understand the bitcoin's p2p network protocol but so far I know (and correct me if I am wrong) that a new node in the network attempts to connect to a "few" other nodes that already in the network to become a part of the network. I suppose that this makes a bitcoin network a random graph of some sort where we can make no hard guarantees about the topology and structure of the network and the best we can do is calculate estimates. In such a scenario my question is that how do we ascertain that the bitcoin network obtained (by randomly linking nodes with each other) is one connected graph and not split up into multiple connected components? Is it guaranteed to be connected or is it probabilistically so? If it is probabilistic what role does the maxconnections limit (125) has here?

I understand that there are some hard-coded seeds in the bitcoin client (and DNS) to which a new node can connect to and be a part of the already connected network thus evading this problem. Even if this is correct that problem still remains that the entire network may end up splitting up into multiple components if a few of these nodes end up disconnecting from the network. How do we guarantee that the network always remains fully connected when nodes can randomly disconnect and re-connect into the network?


texts: Can I build a mining ASIC from parts I find online?

texts: I've noticed that there are all kinds of cards, blades, and other parts of ASIC mining rigs for sale on eBay. Is it possible I could buy some cards and blades and build my own high end mining ASIC without having to pay for something brand name or design my own (which we all know isn't going to happen)?.


texts:
It's more than a week since SegWit activation, and still there seems to be almost no wallet out there supporting SegWit?

Well, I've heard Trezor supporting it, but no ... I don't want to buy a hardware device.

Bitcoin Core and BTC1 supports it from the command line ... but no, I'm not interested in running a full node at the moment (again, that would require me to buy hardware - I probably should set up a full node, but that's probably not happening this month).

I had electrum installed, and it is supposed to support SegWit - but no, can't seem to get it to work. Even tried downloading the bleeding edge version from git, but no ... no segwit, and it was crashing with error messages all the time.


texts: How to determine if a BTC payment has been done

texts:
Scenario: You have a website running on a remote server, and you want to accept BTC donations to a specific address (most likely yours) and to display a "Thank you" message automatically.

How do you determine programmatically if a payment to said address happened? Is it even possible?

Using bitcoind in this case is not possible because the Bitcoin wallet is not on the server, so what could one use? blockchain.info's API?

Thanks!


texts: How can I store a redeem script in my wallet?

texts:
Imagine that I wrote a redeem script. I calculated the related P2SH address, and sent some bitcoins to that address. In order to spend that bitcoins, I need to remember two things:

The private keys that are needed by the redeem script.
The redeem script itself.

Using the bitcoind RPC interface I can store in my wallet P2PKH addresses and their related private keys. I would like to store also the P2SH address and related redeem script: it would be nice to have an RPC method that parses the script string, stores the script in the wallet and returns the P2SH address.

Is it possible? What if I forget the redeem script that is necessary to spend bitcoins from a P2SH? Am I missing something? Is it true that it's useful to store redeem scripts in the wallet and not only with private keys?


texts: Why would running a light node riskier and subject to more frauds than a full node? We don't NEED a full ledger, do we?

texts:
I've been reading on light node and many have pointed out that the light node doesn't have the full blockchain and is riskier because they can't verify the transactions fully.

First, we can verify or validate the transaction on the website. I don't understand why do we need a full blockchain if we are not mining.

Second, doesn't miner verify the transactions before including into the block? In addition to that, the process of validating the block served like a double validation?

Third, when the block is added to the network, isn't it a third validation?

Forth, when the block has several more confirmations, isn't that a forth validation?

In this case, why do we need a full ledger? After a certain time lapse, many of the preceding blocks are seem redundant.

A light node, although doesn't have the full ledger since the genesis block, keeps a section of the most recent blocks, isn't that sufficient?

Why would a light node be riskier? Realistically, what are the chances of receiving incomplete or invalid blocks?


texts: What is the default number of transactions a full node have in its mempool?

texts: Is there a default limit to the number of transactions a node can keep in its memory pool? Or do we have to explicitly declare maxmempool=xyz to restrict the number of transactions a node can have in its memory pool?


texts: "command not found' while installing dependencies

texts:
While installing dependencies for compiling an altcoin wallet on VPS for run a Masternode - using Ubuntu 16 I run into this fatal error

In file included from alert.h:9:0,
                 from alert.cpp:5:
serialize.h:19:48: fatal error: boost/type_traits/is_fundamental.hpp: No such file or directory
compilation terminated.
makefile.unix:200: recipe for target 'obj/alert.o' failed

whilst installing dependencies - the installation gets stuck on the last line - command not found

:~/Rupee-Core/src# libdb++-dev libboost-all-dev libcrypto++-dev libqrencode-dev libminiupnpc-dev
libdb++-dev: command not found
root@RUP2:~/Rupee-Core/src# libgmp-dev libgmp3-dev autoconf autogen automake libtool

does anybody have a suggestion what I could do to resolve this?


texts: In what ways could Bitcoin prevent "deficit financing of wars"?

texts:
At a recent NYC Bitcoin meetup, a morally-pacifist, outspoken supporter of Bitcoin said that

  "Bitcoin would prevent the deficit financing of wars"

...alluding to his perceived notion that a Bitcoin economy would prevent wars from being funded and started.

Is this a prevailing thought in the Bitcoin community?
What way of thinking makes this statement appear true?
What aspects of this quote has merit?


texts: What is the total number of Bitcoin transactions processed so far?

texts:
Possible Duplicate:
  How many transactions have been included into the blockchain?

The question explains itself.


texts: Value of `vout` in vin exceeds number of vout elements. Why?


texts: Litecoin-cli validates segwit bitcoin address as valid litecoin address

texts:
I was messing around with litecoin-cli and found some strange behaviour. If I try to validate a segwit bitcoin address, with the litecoin-cli it returns as a valid litecoin address.

Is this the intended behaviour, or is this a bug?

[user@server ~]# bitcoin-cli getnewaddress
13nKR2gooAr6MEZev2NsQ5RjQPHBs4vY8g
[user@server ~]# litecoin-cli validateaddress 13nKR2gooAr6MEZev2NsQ5RjQPHBs4vY8g
{
  "isvalid": false
}
[user@server ~]# bitcoin-cli addwitnessaddress 13nKR2gooAr6MEZev2NsQ5RjQPHBs4vY8g
39kzm57uJi8iZ9qJWGivVjf44XYJFLur9M
[user@server ~]# litecoin-cli validateaddress 39kzm57uJi8iZ9qJWGivVjf44XYJFLur9M
{
  "isvalid": true,
  "address": "39kzm57uJi8iZ9qJWGivVjf44XYJFLur9M",
  "scriptPubKey": "xxxxxxxxxxxxxxx",
  "ismine": false,
  "iswatchonly": false,
  "isscript": true
}

`


texts:
What do the details mean on bfgminer?

Like at the bottom of the command prompt, before the devices show up, it has:

A:8781 R:11+0(.14%) HW:5527/ 37%

What does that all mean?


texts: How can I import an existing Blockchain.info wallet to bitcoin-cli?

texts:
I manage several accounts which I created via Blockchain.info for my webapp. I'm migrating to bitcoin-cli instead of using their API due to the high amount of calls I have to make.

I'm a bitcoin-cli noob. I have been able to send raw transactions in hex, but I cannot find how to import an existing account to my bitcoin-cli install. Is it possible to do this?

The ultimate goal is to get balance and received transactions of all addresses I have on Blockchain info via bitcoin-cli.

Is this at all doable?

Thanks,
Alberto


texts: I am very new to bitcoin and sorry if the following is too simple. As far as I understood, if there is a double spend problem, the longest chain - collecting most work - will take over. However, suppose this chain happens to extent the fraudulent, then the there is no way for the network to be aware of the fraud unless some user complains that he did not recieve the money and finds a way to tell the network. Am I right ?  if so how can he inform the network, I mean blockchain-speaking. Is it a just a matter of a public information taht would ruin the trust on blockchain and that gives an incentive not to be fraudulent ?


texts:
This question helps identify the various components of the getwork "data" field, but I'm curious where the extraNonce comes from. My hunch is it's the first four bytes of the second half of the data, because I believe this is still part of the Merkle root (and yet, being in the second half of the data, it won't be part of the midstate). Is this correct? And if so, how does one increment the extraNonce, and what does it mean to do so?

Example getwork data:
00000001a10bacc7e639d1c69a01014bc5db6f2604b3477a3f273a4e019a232700000000a5942372cc60477c8a276e59c8f1a3f58654ea2f6c4402bf1b18e48455b5b8f64f10868b1c07475200000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000

Is the extraNonce (in little-endian, I know), 55b5b8f6?


texts: Impossible to restore Copay wallet on new phone

texts:
I just changed my phone and reinstalled Copay.
I'm trying to restore my BTC Wallet from the 12 words key phrase i saved, but copay keeps telling me "impossible to import.Wallet Recovery sentence is invalid".

Anyone has an idea?


texts: How likely is it that the structure of a raw transaction will change?

texts:
I've written a script that decodes raw transactions, as it's faster than calling the decoderawtransaction RPC.

How likely is it the structure of a raw transaction will change in the future?


texts: Will a USB mining device use my computer's processing power?

texts:
I know that if I use Pooler's CPUMiner it will use all my computer resources for mining purposes.

What if I use one of those Butterfly Labs 5 GH/s SC devices will it use 100% of my CPU power or the device does all the hard work?


texts: How are the nBits of a block calculated?

texts:
So I've been trying to figure out how the nBits of a block is calculated, but I can't seem to come up with an answer. I know (think) that it's based off the difficulty of the block, but I'm still not sure exactly how it works. The Genesis Block for example has a difficulty of 1.0, yet the nBits for that block was 486,604,799 (0x1d00ffff). Then if we look at the most recent block, it has a difficulty level of 21,434,395,961,348.92, yet an nBits of 386,736,569 (0x170d21b9).
So my question is, how exactly is the nBits of a block calculated and what is its relation to the difficulty of a block?
Thanks


texts: What scenario could a lack of bitcoin full-node cause problems in the network?

texts:
Let's say the only full-nodes in the network were the mining nodes. If you joined the network as a full-node, what problems or attacks could happen in such a scenario? Also, what problems or attacks could happen to SPV clients that aren't already likely in the current network environment?

At what point are these problems or attacks likely to start happening in terms of number or percentage of the network's full nodes run by independent people/entities?


texts: How to broadcast transaction through Bitcoin-cli on public node

texts:
I have my Bitcoin WIF on a mobile application, and I want to use a Bitcoin-cli node running externally on a server to broadcast my transaction request from my mobile device. I cannot use SendToAddress because that CLI command can only be run on a node when the Bitcoins are on that node.

What Bitcoin-cli command do I use, to send coins from my mobile application's wallet, to another address?


texts:
I sent BTC from lending platform to Coinbase on Jan 2nd.  Still shows pending.

Can anyone provide any info and assistance in getting this transaction completed?

f69f851197a7b9bd8cf3e85a2436ed51e1049fa4b277273e074708de34540288

https://live.blockcypher.com/btc/tx/f69f851197a7b9bd8cf3e85a2436ed51e1049fa4b277273e074708de34540288/


texts: Account extended private key vs BIP32 extended private key

texts: I would like to know which is the difference between Account extended private key and BIP32 extended private key. I was creating Mnemonic seeds (https://iancoleman.io/bip39/) and I stopped because I could not find out the difference


texts: How could a lightweight wallet determine the validity of 0-conf transaction?

texts: I found that a lot of people are interested about security of 0-confirmation payments. But, it seems that most discussions focused on double-spending (like broadcasting two or more conflicting-but-valid transactions, or Finney attack), instead of the validity of the transaction. Does a merchant accepting 0-conf have to run his own full node, or trust someone else (like a public block explorer service), to validate the transaction? Does a lightweight wallet have the same security as a full node under this 0-conf scenario?


texts: Stratum: How many shares should I submit per job?

texts:
I'm implementing a bitcoin CPU miner just for fun in python. I've been reading a lot about bitcoin and the protocol pools use for communication and coordinating workers but there is a key concept I haven't explicitly found.
The problem (Stratum v1)
Jobs keep coming to the worker(which I store in a FIFO), and provided clean_jobs is set to false, when should I get to the next job? With nonce, extranonce, and version and time rolling seems like I would never need to change job(even with the fastest of ASICs). Or is it that once I found a share for a given job I must submit that only one share and proceed to the next job?
Once a share is found for a given job, should I keep mining it? Until when? Or should I submit that only one share for that job and proceed to the next job?
I'm guessing it is the latter, as the server can adjust the difficulty to prevent me from finding shares too fast(or too slow)
I would appreciate it if you added a source if possible(so I can learn more and see what else I've missed).


texts: Are price movements of Bitcoin and altcoins inversely coupled?

texts:
It is said that when the value of Bitcoin rises altcoins lose value, or at least their price in BTC falls, and I would like to understand exactly why.

If I have spend $10 in BTC to buy BLK, and BLK doubles its BTC price, but in the meanwhile the BTC value rises 6%, too (in reference to USD), I have $10 * 2 * 1.06 = $21.20, so, there's no loss of value.

However, on yobit at least, there was altcoins which saw a generalized selling, and other altcoins that just saw a tiny activity. In other words, the market was mostly paralyzed or only selling. Why is that?


texts: Litecoind answers "getnewaddress" RPC request with "Method not found"

texts:
After having compiled the Litecoin daemon found at:

https://github.com/litecoin-project/litecoin.git

and set up a username and password, calling

litecoin-cli -rpcuser=<username> -rpcpassword=<password> getnewaddress

returns the error "method not found" from the litecoin daemon litecoind.


texts:
So, according to blockchain.info there are roughly 942,000 unique addresses as of a few days ago.  When I go to the Bitcoin Rich List on www.bitinfocharts.com it looks like there are 23+ million addresses.

Can someone explain the difference?  What is a unique address?  How does is differ from the 23 mm addresses?

Thanks.


texts: How to get output linked to input in SPV node?

texts:
We're working on bitcoin SPV wallet. After setting bloom filter, we only get merkle blocks, and transactions that match the hashes we set plus some false positives.

If a transaction is where we SEND coins, we can calculate a fee of that transaction, because we also HAVE previous transaction holding an output we spent.

But, if a transaction is where we RECEIVE coins, then we can't calculate the fee. Because, we DON'T HAVE previous transaction holding someone's output which he spent.

As far as I know, there's no way to request single transaction from peers.

How can we get previous transaction or at least it's output's value?


texts: How does fee split between senders in a transaction?

texts:
I know how fee is calculated in a transaction,
but I don't know how this fee amount split into senders.

For example, consider the following transaction with 0 BTC miner fee:

  inputs:

   Alice    sends     20 BTC ->
   Bob      sends     10 BTC ->

  miner fee: 0 BTC

  outputs:

-> Carol   receives   15 BTC
-> Alice   receives   10 BTC
-> Bob     receives   5  BTC

Now if we consider 1 BTC for miner fee , how does these output amounts change?

Maybe in half?

-> Carol   receives   15  BTC
-> Alice   receives   9.5 BTC
-> Bob     receives   4.5 BTC


texts: How long would it take to crack an 8-word brain wallet?

texts:
Assuming my private key for a bitcoin wallet is derived from SHA256(passphrase) and the passphrase is 8 words long, how long would it take the average attacker to crack my bitcoin wallet through a bruteforce dictionary attack?

Assume there are no other characters besides letters.


texts: What caused CVE-2012-2459? How was it fixed?

texts: Gavin Andresen made an announcement about this denial of service issue in 2012 here, but it's light on technical details.


texts: Do all of the records in the same block share the same hash?

texts:
From what I have read, when a transaction is settled, the record is added to a block among with other records. The block is given a new hash as well as a hash from previous block.
So does that means that all the records in the same block share the same hash? Why isn't this significant at all?


texts: How can one full node know whether other full nodes added certain block to their blockchain?

texts:
How can one full node know whether other nodes agreed a block suggestion of a miner (so it will know whether to add the block to its blockchain too)?

thank you


texts:
listtransactions   [account] [count=10] [from=0]
  Returns up to [count] most recent transactions skipping the first [from] transactions for account [account]. If [account] not provided it'll return recent transactions from all accounts.

The above is pasted from https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list

My question: The page refers to both account(s) and address(es). The wallet can easily generate additional addresses to receive coins but, how can a wallet have more than one account?

This documentation does not look correct to me.

Shouldn't it read

  If [address] not provided it'll return recent transactions from all addresses.


texts: How can I import my BitGo wallet backup into Electrum?

texts:
I went through several similar question poster previously, but couldn't figure out what the issue is. A year ago, I had generated a paper wallet. I am not sure how I can sweep it to my electrum wallet.

On the paper wallet, I have the following values:

Backup Key
Encrypted wallet password
Bitgo public key
User key

Electrum, on the other hand, is asking for Private Keys. Am not sure what it is.


texts: What to do when a website says that my bc1... address is invalid?

texts: I used local Bitcoins wallet to send bitcoin to my bitcoin wallet. But it said wrong address


texts: Why were OP_RESERVED, OP_RESERVED1, and OP_RESERVED2 originally reserved?

texts:
Since the earliest public release of Bitcoin, OP_RESERVED, OP_RESERVED1, and OP_RESERVED2 have been defined at 0x50 (80), 0x89 (137), and 0x8a (138), respectively.
Why?
The intended purpose of all the other now-disabled opcodes seem to be well documented, but do we have any record or explanation for why the OP_RESERVED{1,2} opcodes were assigned at their current locations?
OP_RESERVED seems pretty clearly placed to allow OP_1 (0x51, 81) through OP_16 (0x60, 96) to match each pushed number 1-to-1 with the second half of the byte (such that 0x515253 is easily read as OP_1 OP_2 OP_3). It may also be reserved to ensure users writing raw contracts don't accidentally assume 0x50 is either OP_0 (0x00) or OP_1NEGATE (0x4f, 79), which might be easily confused because 0x80 is basically a negative sign in the Script Number encoding. (Any other ideas as to why Satoshi didn't fill in OP_RESERVED?)
For OP_RESERVED1 and OP_RESERVED2, the reasoning seems less obvious.
In the oldest commit they are listed under // bit logic, a set of 8 opcodes which begins at 0x83 (131) and continue through OP_RESERVED2 (0x8a, 138).
These don't seem to fall on any particularly special codepoints, and neither of the preceding or following opcode "groups" begin or end at any obviously special codepoints.
Is there something unusual about 0x89/137 and 0x8a/138 for which Satoshi might have reserved these codepoints?
Is there some other instruction set which reserves them (or where reserving them makes the "Bitcoin instruction set" consistent with that instruction set)?


texts: As I understand things, the security and integrity of Bitcoin rely on the assumption that its hashing is "hard" in some sense.  However, in the past, processing power has increased exponentially.  This has made some problems solvable in a reasonable amount of time that were not solvable before.  How does Bitcoin account for the possibility that processing power will continue to increase in the future?


texts:
I have been looking for a service that uses federated servers.

Why?

Because I am paranoid. And because companies pay me to be imaginative in my foe analogies.


texts: bitcoind is refusing to connect to my other server


texts: With the upcoming hard fork will there be a fixed exchange rate between Bitcoin Unlimited and Bitcoin?

texts:
As you know, there might be an upcoming hard fork of BTC to enlarge the block size.

Will the new currency Bitcoin Unlimited be a different currency or will it be compatible with Bitcoin with a fixed exchange rate between the new and the old currency?


texts:
I have some bitcoin spread across multiple addresses.  I would like to move these to different addresses.

I've heard about batching and was wondering if it is possible to batch the transaction to multiple addresses and save on transaction fees?

I want to move my bitcoin from BISQ to my bitcoin-core wallet.


texts: Compiling bitcoin-qt error: ld.exe: cannot find -lsecp256k1

texts:
I have followed the guide "Building headless Bitcoin and Bitcoin-qt on Windows" but with a more recent altcoin source code to test.

The compilation stop on ld.exe: cannot find -lsecp256k1

Is one step missing to generate this missing dll ?

My qt-pro includes:

  win32:BOOST_LIB_SUFFIX=-mgw49-mt-s-1_57
  win32:BOOST_INCLUDE_PATH=C:/Deps/boost_1_57_0
  win32:BOOST_LIB_PATH=C:/Deps/boost_1_57_0/stage/lib
  win32:BDB_INCLUDE_PATH=c:/deps/db-4.8.30.NC/build_unix/
  win32:BDB_LIB_PATH=c:/deps/db-4.8.30.NC/build_unix
  win32:OPENSSL_INCLUDE_PATH=C:/Deps/openssl-1.0.2k/include/
  win32:OPENSSL_LIB_PATH=C:/Deps/openssl-1.0.2k
  win32:MINIUPNPC_INCLUDE_PATH=C:/Deps/
  win32:MINIUPNPC_LIB_PATH=C:/Deps/miniupnpc/
  win32:LIBPNG_INCLUDE_PATH=C:/Deps/libpng-1.6.1/
  win32:LIBPNG_LIB_PATH=C:/Deps/libpng-1.6.18
  win32:QRENCODE_INCLUDE_PATH=C:/Deps/qrencode-3.4.4
  win32:QRENCODE_LIB_PATH=C:/Deps/qrencode-3.4.4/.libs
  win32:SECP256K1_LIB_PATH = C:/Crypto/mycrypto/src/secp256k1/
  win32:SECP256K1_INCLUDE_PATH = C:/Crypto/mycrypto/src/secp256k1/include


texts: Development environment requirements for Bitcoin Core

texts:
Can someone help me out in understanding the System Requirements and dependencies required for setting up a development environment for Bitcoin Core?

What else is required apart from the Bitcoin Core source?


texts: Fetch UTXO Bitcoin to address created by rpc importprivkey without rescan like other api

texts:
For few reasons, I must use rpc node to handle wallet at this time. In the near future, I will change the flow to use library to create addreses, store privatekey at database and create raw transaction. That means I will use rpc node for broadcasting only, not depend on it too much. But I need time to do, so I will divide this period to few parts, firstly, I will start at creating and store address:
I have both hex private key and wif key, then I use importprivkey to import wif key to rpc node without rescan because I have a large request contacting to rpc. If those addresses are fresh, it's very nice scenario, each new input to them will automatically fetch UTXO by using listunspent command to check.
In other case, the very worst scenario, for maintenance or backup, I import an address which contains old UTXO and wanna fetch these UTXOs to addresses without using rescan command (it takes a long time to complete), like other api just put address and get UTXOs in a blink.
https://testnet.blockexplorer.com/api/addr/myzhMVXT39L7nnco6TtJ2a7sYaEo8ixT4Q/utxo
Is there any ways to fetch old UTXO to address in rpc node without rescan? Because these api are very fast response, I think they're not using rescan. For long term, using other api is not good for my project, I'm using version 0.16 (I know it's very old but the project need time to change it slowly and carefully), thanks for help so much.


texts: Unexpected result after calling RPC 'listaccounts', 'getaccountaddress', 'getreceivedbyaddress' sequentially

texts:
bitcoin > bitcoin-cli listaccounts
{
  "": 5648.99996160
}

bitcoin > bitcoin-cli getaccountaddress ""
mui4xgNgZBr3XhdL4dDDHkRFEvSXZmSi7t

bitcoin > bitcoin-cli getreceivedbyaddress mui4xgNgZBr3XhdL4dDDHkRFEvSXZmSi7t
0.00000000

I expect it will return 5648.99996160 after calling 'getreceivedbyaddress'.


texts: Why does bitcoind use a fork of LevelDB for key-value storage?

texts:
Since 0.8 bitcoind uses LevelDB for the storage of the UTXO set in chainstate/ and the block index in blocks/index/. On github special branch of LevelDB can be found:

https://github.com/bitcoin/leveldb

What reasons made LevelDB the best choice for key-value storage compared to other embedded database solutions? How does bitcoind's own LevelDB fork differ from the official version?


texts: Is the target the source of the difficulty?

texts:
After every 2016 blocks, the target moves up or down to try and create an average of 10 minutes between blocks.

Up until now, I've believed that it's the difficulty that drives this change, as though the difficulty is stored on disk somewhere, and the target is calculated from this key metric.

However, the only changes I see being stored on disk and shared between nodes is the target (via the bits field in the block header). This leads me to believe that the difficulty is merely a representation of the changing targets, and it's not the actual source of the target values.

So basically, am I right in saying that the difficulty is calculated from the target, and not the other way around?

e.g: bits -> target -> difficulty?


texts: Electrum I requested wrong amount QR code but paid larger amount from luno?

texts: I requested "Receive" bitcoin on Electrum and mistakenly entered my amount in "mBTC" instead of "BTC". (My first time) I then scanned the QR code with LUNO under Send bitcoin. It gave me the incorrect BTC amount (not realising it was because I entered in mBTC in Electrum) so I corrected it on LUNO and clicked send. Now electrum says under the mBTC transaction "PAID" but its not the full amount. Under the bottom left corner BALANCE it says "0" but with the correct amount in brackets saying (0.01... UNCONFIRMED). Does this mean the funds will still find their correct wallet destination even though the QR request scanned was for the wrong amount?


texts: Can I run a bitcoin full node on my laptop and use a external hard drive to store the blockchain?

texts:
I tried setting the datadir=/Volumes/BLOCKCHAIN (which is the path to my external drive). Then I ran bitcoind and this is the end of the output, right before it kicks my drive out and gives me a Bus error: 10.

...
2019-10-22T16:30:26Z init message: Loading block index...
2019-10-22T16:30:26Z Opening LevelDB in /Volumes/BLOCKCHAIN/blocks/index
2019-10-22T16:30:26Z Opened LevelDB successfully
2019-10-22T16:30:26Z Using obfuscation key for /Volumes/BLOCKCHAIN/blocks/index: 0000000000000000
Bus error: 10

Is there another way I can achieve this?


texts:
In this post it is explained that the UTXO are removed after they are spent. This makes sense because they are not "unspent" anymore.

But don't all UTXOs have a reference/connection to their previous transaction? Is there a second "list" in the blockchain where all transactions from the past are stored? Because if not, where does that reference point to if the previous transaction is not in the UTXO list anymore.

The whole UTXO Model confuses me a little bit, so thank you for the clarification.


texts: Can a cryptocurrency exist in a closed system?

texts:
I am developing a online game that requires a realistic economy and currency.

I know I can create a new crypto coin currency with out much effort.  What I am unclear on, is it possible for me to mine all the possible coins of my currency, and then distribute them as I see fit within that game environment?

My aim is to spare myself the effort of creating elaborate wallet and asset management systems in the game.


texts: Do Full Nodes perform Proof of Work to validate a Block?

texts: I do understand that Full Nodes validate all transactions twice based upon the public key of the users. Firstly, once a transaction is unconfirmed and secondly the transactions that have been mined in a block. My Question is do the Full Nodes also perform Proof of Work to confirm the validity of a Block or not?


texts: What will happen when all bitcoins are issued?

texts: In 50 years or more from now, what will happen with bitcoins when all of them are issued? Will mining stop and will there only be a limited amount of bitcoins in circulation?


texts:
I have a BTC private key, how do I get my BTG? I have tried a few methods and tutorials but none seem to be working.
And beside that, is there any working BTG explorer? All the ones I found seem to be buggy (including btgexp.com) and wont recognize my address.

EDIT: yes I had BTC on this address at the time of the split

EDIT 2: found a working explorer with https://bitinfocharts.com/bitcoin%20gold

EDIT 3: yes I have transferred all my BTC to another address, and I just want to get rid of my BTG now


texts: Is there some kind of USB antenna I can buy to be able to use Bitcoin even when there is no Internet?

texts:
Let's say they cut the Internet tomorrow. I will still have my private keys on my offline computer, but I won't be able to sync the blockchain (as won't anyone else) nor would i be able to make any transaction either.
But once I heard something about a satellite beaming down the blockchain at all times or something. And that was in like 2013. Did that ever go anywhere?
Is there some readily sold product which I can order which is like a little antenna which I attach via USB to my PC and which then can receive the blockchain and send coins via some kind of satellite or other form of radio communication in a decentralized manner?


texts: What are the requirements of a transaction being included in a block? How does a miner verify that a transaction meets such requirements?


texts: How to get a wallet address and set label via RPC?

texts:
I'm familiar with the basic RPC commands, but I'm having trouble retrieving/adding an address to a wallet, using purely RPC calls (i.e. bitcoind only, not bitcoin-qt).

My understanding is that addresses are associated with accounts, but I'm unsure what role "accounts" play, and how to create new ones etc.

In pseudocode, this is what I want to be able to do:

if (count(getAddressesByLabel("donations")) == 0) {
    address = wallet.createBitcoinAddress();
    address.setLabel("donations");
}

donationAddress = getAddressesByLabel("donations"))


texts: eloipool fails with module 'select' has no attribute 'EPOLLIN'

texts:
attempting to run eloipool by following the tutorial in the issues section. When running eloipool.py, I am greeted with this error:

Traceback (most recent call last):
  File "eloipool.py", line 84, in <module>
    from bitcoin.node import BitcoinLink, BitcoinNode
  File "/Users/harshagoli/Projects/eloipool/bitcoin/node.py", line 22, in <module>
    import networkserver
  File "/Users/harshagoli/Projects/eloipool/networkserver.py", line 28, in <module>
    EPOLL_READ = select.EPOLLIN | select.EPOLLPRI | select.EPOLLERR | select.EPOLLHUP
AttributeError: module 'select' has no attribute 'EPOLLIN'

Running with python3, and in the python3 repl select does have the correct attributes, but in the script itself it doesn't seem to load.


texts: Is it possible (in some way or other) to expire a txout?

texts:
I read Contracts: Will this be possible? where part of the question related to expiring a transaction and one of the replies said that it would never be possible since it causes problems. Unfortunately the reply didn't indicate what problems it would cause.

I can't quite understand from the question/reply whether it was a question of expiring an (unconfirmed?) transaction (which might well be problematic) or expiring a txout from a previously confirmed transaction.

Is the latter entirely impossible by any current method, e.g. scripting and/or a combination of transactions?

One way that I perceive that it might be possible (and I'm only a bitcoin newbie so please take pity on me and help me understand if this suggestion is patently ridiculous to bitcoin experts) would be to have a new bitcoin script operation that could be used in the scriptPubKey of the txout to push the 'current' time on to the stack so that it can be compared (using OP_LESSTHAN, OP_GREATERTHAN, OP_LESSTHANOREQUAL or OP_GREATERTHANOREQUAL) to a fixed expiry time (which is in scriptPubKey and pushed to the stack by scriptPubKey) and only if the current time is less than the expiry time will the rest of the scriptPubKey allow the transaction (i.e. bitcoin payment) to be confirmed.

A note on what I mean by 'current' time...there could be a lengthy debate over the source of current time and the trustworthiness of that source but I'd propose that 'current' time doesn't truly need to be the actual current time so long as it's a reasonably close approximation in the bitcoin realm (about 10 minutes on average but maybe longer, maybe shorter). Thus it could be the timestamp of the previous block in the blockchain; that way every node (assuming no fork) will be judging the txout expiration against the same 'current' time.

An undesirable but arguably acceptable side effect is if a transaction spending the txout is submitted and confirmed in a short blockchain fork then it will get requeued on the longer fork and there is a chance that txout might have expired before the transaction is reprocessed and thus the transaction will fail the second time around.

Another subtlety to aid usability might be to offer two variants of the new 'current' time operation to mirror the two 'variants' of lock_time, one variant to push the previous block's timestamp on to the stack and the other variant to push the previous block's height on to the stack. This way a user can write transactions which are self consistent in time reference or self consistent in height reference.


texts:
I have been downloading the blockchain to a new client and it has been at it now for almost a week. One thing I notice is that as it is getting close to the end, it is slowing down a lot.

For example, it just downloaded 93 blocks in 488 seconds or 1 block per 5.25 seconds. If the entire block chain had downloaded at this speed then it would take: 418950 x 5.25 = 2,199,488 seconds or 25 days. Since, it has taken less than a week to do it, the older blocks must have downloaded faster.

What is the explanation for this?


texts:
I've created an application with bitcoinj that extracts all addresses which have been used out of the block chain files created by bitcoin-core.

I'm extracting the transactions only out of the blk*.dat files. Do these files really contain any transactions or are there further transaction in the rev*.dat files?

What does the rev*.dat files contain?


texts: How to display price of one Bitcoin on website in PHP?

texts:
Firstly, I know  this is a duplicate post but from what I can find all of the others are using the MtGox price (redundant now).

I was wondering - what is the current best way to display the price of one litecoin and one bitcoin in USD using PHP?


texts:
Looking at the historical data of Loopring, I noticed something strange.

On Jan 4, Market cap was $163,805,000 and closed price was $0.65. That means, circulating supply was around 252M.

On Jan 5, closed price increased to $1.03 BUT market cap decreased to $41,138,000. And this means, circulating supply went down to around 39M.

Shouldn't Market Cap increase when price increases?

Can circulating supply decrease? or is there something that I am missing?


texts: How to get the Bitcoin address from the bitcoin Public key?

texts: I am working in js and I need a library that helps me get an address from a public key stored in a buffer format.


texts:
From Nathaniel Popper's “Digital Gold : Bitcoin and the Inside Story of the Misfits and Millionaires Trying to Reinvent Money", this heavily edited (by me, for clarity) excerpt:

  “In late July Gavin and Satoshi got an e-mail from ...a programmer
  from Germany going by the screen name ArtForz, ... had found a
  previously undiscovered weakness in the code that ...made it possible
  to spend Bitcoins in someone else’s wallet.”

  “For now, don’t call it the ‘1 RETURN’ bug to anyone who doesn’t
  already know about it,” Satoshi wrote to Gavin.”

What is this 1 RETURN bug? It's obviously been patched, but I'm interested because the book doesn't delve into technical details.

(FWIW, I highly recommend buying this book).


texts: Most secure way of sending bitcoins from bitcoin-qt offline wallet

texts:
I have an offline wallet created by Bitcoin-QT.
I want to send some of the bitcoins in this wallet to another address.

The most secure way I can think of is this:

Boot from a Linux Live CD
Install Bitcoin-qt and let Bitcoin-QT sync with the network
Import the wallet to Bitcoin-QT and send bitcoins
Save the wallet because of the change (https://en.bitcoin.it/wiki/Change) which was sent to a new created address in the wallet

But what happens if between step 3. and 4. your computer crashes?
All bitcoins which should be left in your wallet are lost.

Is there a more secure way of sending bitcoins from your offline wallet with Bitcoin-QT?
If not, whats the most secure way to do this in general?


texts: Recurring Bitcoin or Altcoin Payments as a Service?

texts: I was wondering are there any recurring payment services aside from the obvious coinbase one out there. I want to be able to have a finer grain control. Say I wanted to send X amount of btc/altcoins to an address every 1week until it reaches a total of # of btc/altcoins or USD value.


texts: I've downloaded some bitcoin wallets because I am planning to load some amount in it using my ATM. But I don't know how. Will somebody help. How can I have some bitcoins in my wallet?


texts:
Why is double spending a problem.
Suppose I have 1 bitcoin and I intend to send 1 btc to Alice and 1 btc to Bob.

Once I send 1 btc to Alice, UTXO of 1btc will be unlocked,transferred to Alice.No change is returned.Since Now when I try to send 1 btc to Bob, I have no UTXO to send it from. So the question of double spending is out of the question.

The double spending can be a problem when multiple transactions occur at the same time. If that is the case, why allow multiple transactions to occur at the same time?


texts: How to redeem Non-standard script Tx (testnet instance)

texts:
Th testnet TxID 8d897ca91774a7fafa086a3275e679248d6bffee015d3b2efefd5dab00df152d has the following scriptPubKey:

  scriptPubKey: "OP_DUP OP_HASH160
  5f1426c2ce4a8e1abaa9dbe819b6303eb8a25a26 OP_EQUALVERIFY
  OP_CHECKSIGVERIFY OP_IF OP_DUP OP_HASH160
  6c7ceafe76c56843c9d2868f616fdc9370355eb9 OP_EQUALVERIFY OP_CHECKSIG
  OP_ELSE OP_HASH256
  644d79d87e0907833e888e272e5d7b925deb261a8499a65cbc0bf26797a15e8e
  OP_EQUAL OP_ENDIF"

Looking at the script of the redeeming Tx (TxID: 2d0daa01da8294a54178f8111eb2a02010c425fd15957d8baee8717edcfbe105) we see:

7e 10 3ceb50edd0282cd99dc59351f513dcdf 00 der sig

So I can see essentially that because sha256(sha256(3ceb50edd0282cd99dc59351f513dcdf)) = 644d79d87e0907833e888e272e5d7b925deb261a8499a65cbc0bf26797a15e8e the script is validated as True.

I'm attempting to understand how this is working but am consistently getting an error code 26 (OP_EQUALVERIFY failure) for this attempt at sendrawtransaction:

01000000013261e80001cbcc53101036792dcc8edc6802940b81a06e6e38f34765a4a5e4e5000000008b483045022100fe3890cfe091789b8300e563bbad402421a8dc07096ba04bcaaa4dd3537e7ce302204a1d7d1d33b6101599385f74164d95fdd8c00f62062a339e6d4907334b17df5f0141042daa93315eebbe2cb9b5c3505df4c6fb6caca8b756786098567550d4820c09db988fe9997d049d687292f815ccd6e7fb5c1b1a91137999818d17c73d0f80aef9ffffffff0220402c00000000001976a914dd6cce9f255a8cc17bda8ba0373df8e861cb866e88ac20402c00000000005876a914e900510876cb689f1db6fa982376c301362b740c88ad6376a914dd6cce9f255a8cc17bda8ba0373df8e861cb866e88ac67aa20644d79d87e0907833e888e272e5d7b925deb261a8499a65cbc0bf26797a15e8e876800000000

Where exactly is this problem occurring?

Also, in general, if one needs to push data onto the stack before the der signature, how is it done? Is the data added to the scriptSig field then signed, or signed, then added to the scriptSig? (I'm having trouble visualising the stack even with this interactive scenario at webbtc)


texts:
I would like to apply blockchaining on unstructured data (any kind of data). I have seen BlockSign use similar concept to sign a document by storing a hash of the document in OP_RETURN block of Bitcoin. I was wondering how to do something similar but for a non-structured data type to ensure privacy and verification of the data in question.

Any links, articles or papers to programmatically do this would be ideal. I searched myself and found something called as ethereum but I don't think that satisfies my requirements.


texts: How can I find the coinbase transactions where the bitcoins involved in a transaction were created?

texts:
I am exploring a transaction and if would like to know when was the money created, I guess I would end up with a lot of coinable transactions.
For a certain transaction I could explore the previous transactions successively until I found the coinbases. But I imagine this would be a very laborious job that could take a lot of resources. Just like blockchains.info trees ( https://blockchain.info/tree/59587897) but expanding the tree till the coinbase transactions

In the other hand I guess nodes when verifying a transaction do something very similar, don’t they?
How could I create this list of coinable transactions that original the bitcoins involved in a particular transaction?


texts: Will Bitcoin-qt mine bitcoins if all I have done is downloaded and installed Bitcoin-qt, and typed in "setgenerate true" into the console?  Are there other steps or configurations necessary?  If so, what are they?


texts: What are the trade-offs between the different algorithms for deciding which UTXOs to spend?

texts:
When someone would like to make a transaction, their software has to choose which of their UTXOs to spend. Here are a few different ways that one might prioritize which UTXOs get spent.

Oldest UTXOs first
Newest UTXOs first
UTXOs with the smallest amounts first
UTXOs with the greatest amounts first
The Core Client Selection Algorithm: What is the coin selection algorithm?
Others?

What the trade-offs are for the different ways of prioritizing spending of UTXOs? Are some faster? Do some make make the block chain less big (grow less quickly)? Do some make the UTXO set smaller? What about making it so that the user has to pay the least fees? Taking all these factors into consideration, is there a method that is generally accepted to be the best way?

On possibility, which I like, is to spend the most UTXOs possible while still staying in the 1kb minimum fee limit. That way if nodes that prune the blockchain of STXOs (spent transaction outputs), they can prune more and it makes the blockchain smaller for them. Although, this might cause a small amount of bloating for nodes who keep the whole block chain, so it's a tradeoff.


texts: Why is it important that the hash algorithm is puzzle friendly?

texts:
I don't understand "PUZZLE FRIENDLY". Here the definition I read:

  A hash function h is puzzle friendly if for every possible N-bit
  output value y, if K is chosen from a distribution with high minentropy,
  then it is infeasible to find X such that H(K // X) = Y, in
  time significantly less then 2^N.

And here is what is tried when mining:

H(nonce||prev_hash||tx||tx||..||tx)

"If the hash function satisfies the puzzlefriendliness
property, then the only way to
succeed in solving this hash puzzle is to just try
enough nonces one by one until you get lucky"

Ok, but what would be the problem if the hash function wasn't puzzlefriendly?
I assume that nonce is K in the definition.


texts: Is it possible to check if an Address was generated from an HD Public Key.

texts: Suppose I know a specific address and I know a full HD Public Key. Is it possible to determine if the address is a hash of one public keys generated from the HD public key in constant time, or in other words without checking every possibility?


texts: How 1 cpu 1 vote works? What is its validity? Does it use IP address or mac address or similar to that? If yes, then it can be changed and can make fool to the network. If it can't, then how is it preventing any malicious activity?


texts:
In multisignature address contract, how to set multisigoutput while sending bitcoin back to the client?

I tried this,

byte[] bytes = Utils.HEX.decode("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
spendTx.addInput(new TransactionInput(params, spendTx, bytes));
ByteArrayOutputStream scriptPubKeyBytes = new ByteArrayOutputStream();
Script.writeBytes(scriptPubKeyBytes, Utils.HEX.decode("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"));
scriptPubKeyBytes.write(ScriptOpCodes.OP_CHECKSIG);

spendTx.addOutput(new TransactionOutput(params, spendTx, value, scriptPubKeyBytes.toByteArray()));

spendTx.addOutput(value, clientKey);
TransactionOutput multisigOutput = spendTx.getOutput(0);


texts: Unable to recover an old Android Bitcoin Wallet backup

texts:
So here's the thing. I have an old Bitcoin Wallet backup from 2015 that I'm trying to restore. However when I try to import it back into the android application, even though I'm 99.9%** sure I got the correct passphrase, it is unable to import the wallet into the application. I tried following this tutorial to recover the private key, and after executing openssl enc -d -aes-256-cbc -md md5 -a -in bitcoin-wallet-backup-2015-12-22 > bitcoin-wallet-decrypted-backup with no error**, I get a decrypted file full of garbage. The next command in the tutorial is supposed to determine if the file is encoded in the protobuf or legacy base58 format, but it is neither of those, being instead binary gibberish.
I checked the encrypted backup and the padding is intact, which makes me think that the file is not corrupted? A lot of other people on the Internet seem to have the same issue, maybe someone here will be able to help me out.
Regards,
RK

** I'm 99.9% sure I got the correct passphrase because in both Bitcoin Wallet and openssl cli I don't get an "wrong password/bad decrypt" error when I use it, but when I input any other passphrase I get a "wrong password/bad decrypt" error. Sure, I could have the wrong passphrase but still get a false positive decrypt, but it seems pretty unlikely that I'm remembering a passphrase that is wrong and coincidentally outputs a false positive decrypt.


texts: How do I to get the r, S and Z values from a raw transaction (version 2)


texts: Which programming languages support secp256k1?

texts: Which programming languages have some ready libraries that support Bitcoin's ECDSA curve - secp256k1?


texts: How to derive addresses based on BIP44 in BlockCypher?

texts:
I would like precise how to derive addresses from BTC HD wallet based on BIP44 (m/44’/0’/0’)?
During HD wallet creation I have provided xpub of my m/44’/0’/0’, but there is no option to specify root path for address derivation.
If I provide subchain index = 1, it derives m/1/i, but I need m/44’/0’/0’/i


texts: jsonRPCClient.php states its served a 401 error response

texts:
When I execute my php file from the command line I get this:

PHP Warning:  fopen(http://...@127.0.0.1:8332/): failed to open stream: HTTP request failed! HTTP/1.0 401 Authorization Required
 in /home/brian/Desktop/VH2_apache2/host02/btc16/jsonRPCClient.php on line 132
PHP Fatal error:  Uncaught exception 'Exception' with message 'Unable to connect to http://b:a@127.0.0.1:8332/' in /home/brian/Desktop/VH2_apache2/host02/btc16/jsonRPCClient.php:140
Stack trace:
#0 /home/brian/Desktop/VH2_apache2/host02/btc16/index1.php(12): jsonRPCClient->__call('getinfo', Array)
#1 /home/brian/Desktop/VH2_apache2/host02/btc16/index1.php(12): jsonRPCClient->getinfo()
#2 {main}
  thrown in /home/brian/Desktop/VH2_apache2/host02/btc16/jsonRPCClient.php on line 140

My php file looks like this:

<?php
  require_once 'jsonRPCClient.php';

  $bitcoin = new jsonRPCClient('http://user:password@127.0.0.1:8332/',true);
  #$param = array(
  #'c418518d5ffccd947e377ab7e589f684d83e6df1af8f397cc11848ac8a78f0dd',
  #'1');

  #$return1 = $bitcoin->getrawtransaction('c418518d5ffccd947e377ab7e589f684d83e6df1af8f397cc11848ac8a78f0dd','1')

  echo "
\n";
  print_r($bitcoin->getinfo()); echo "\n";
  #print_r($return1['0']); echo "\n";
  #echo "Received: ".$bitcoin->getreceivedbylabel("Your Address")."\n";
  echo "
";
?>

My webpage with apache2 appears blank that uses the php file I made.
I am using the -txindex parameter when I launch bitcoind.

But I am able to use bitcoin-cli to interact with bitcoind

Iv'e used:
bitcoin-cli getrawtransaction c418518d5ffccd947e377ab7e589f684d83e6df1af8f397cc11848ac8a78f0dd 1

and:
bitcoin-cli getinfo

Also my bitcoin.conf looks like this:

rpcuser=user
rpcpassword=pass
txindex=1
server=1

Also note that I substituted the usernames and passwords to hide them.

My question is why can I use bitcoin-cli and get no error, but when I try to use the jsonRPCClient.php I get the error 401 Authorization Required and how do I fix the error?


texts: Are there any fundamental security vulnerabilities in Bitcoin?

texts: Although Bitcoin does its best to prevent double-spending, could it still happen in practice?  Is it just very unlikely that fraud could happen, or is there a mathematical proof that it could never happen?


texts: How does crypto exchange got supply of bitcoins?

texts: Let's take an example of Coinbase or Luno, who are their suppliers of bitcoins to be distributed to the buyers?


texts: Is Hashgraph a serious competitor for the blockchain?

texts: What is going to be the effect of the recently publicized Hashgraph technology developed by Leemon Baird going to be on the Bitcoin and other blockchains? It is obviously not open source since a company called Swirld Inc holds a patent on it, but it does look like it could make the blockchain obsolete. Is this a serious worry for those invested in the latter?


texts: How do I calculate the expected shares per minute for my pool

texts: I am currently mining Zencash in a pool, and I'd like to be able to calculate the expected shares per minute for a given pool's hashrate. Let's say the pool's hashrate is 50 KSol/s. I think that the shares would need to be standardized to some share difficulty, let's call it one. The current block difficulty is 764,414.6217 (11.0 block reward). I've been digging around and it's hard to find the math involved in this. Does anyone know how to do this for Zencash?


texts: Please can someone help me get in touch with a miner, i am trying to recover my bch sent to a segwit btc address.


texts: How to check if one transactions is from the same wallet (public key) as a previous one

texts: I wonder how to figure out whether one Bitcoin transaction is from the same wallet (public key) as any previous transaction in order to proof the ownership of a wallet.


texts: How does the bitcoin transaction fee get paid to miner(s)?

texts:
According to https://bitcoinfees.info/

The current "cheap" rate for a bitcoin transaction is $22.

How does this get paid to the miners? Is it just one miner that verifies the transaction, puts it into the next block, and collects the $22?

I understand proof of work. But I don't quite understand how a transaction fee gets paid out to a miner. Thanks.


texts: How do bonds in Secure Multi‐Party Lotteries work as described in Bitcoin and Cryptocurrency Technologies book

texts:
I have understood the details of it but I have a question related to claiming the bond.
We have two parties Alice and Bob and suppose the bond that Alice signs is
now if Alice reveals her value X then she will be able to get her bond money back. Suppose if Bob won the lottery then how will he get the money from Alice since she has already reclaimed her bond amount?


texts: I am using Ubuntu 11.10. I have downloaded Bitcoin-Qt, but I don't think it has installed itself. The instructions say "download and install" the software, but I'm afraid I need instructions that are a little more specific. If you can tell me how to install the software it would be greatly appreciated.


texts: Can you be 100% certain that a payment was sent from a specific address?

texts:
Reading this thread about determining the sending address of a bitcoin transaction. I'm a bit confused, how do you differentiate between the change address and the "receiving" address of the last transaction?

txid = <relevant transaction id>
addresses = []
raw_tx = decoderawtransaction(getrawtransaction(txid))
for(input in raw_tx['vin']) {
  input_raw_tx = decoderawtransaction(getrawtransaction(input['txid']))
  addresses.push(input_raw_tx['vout'][input['vout']]['scriptPubKey']['addresses'] [0])
}

Would addresses not include other outputs that are unrelated to the sending address? I'm trying to build a block explorer and I'm uncertain how to determine which address sent coins in each transaction. Is it possible to tell?


texts: What is necessary for a Hotel to accept Bitcoin as a payment method?

texts: I manage a hotel and the owner is interested in using Bitcoin as a payment option. How can we start to use this option and what will we need? There are multiple hotels he owns and would like to eventually get all of them using this option as well.


texts:
I started mining with P2Pool / cgminer.

bitcoin-qt.exe is running. run_p2pool.exe is running. cgminer is running.

But all I get are rejects.

What might be the problem?


texts: How do I recover newly created bitcoin addresses from an older wallet.dat?

texts:
I had a bitcoin wallet and several other coins' wallets on my laptop and did a backup for my wallets several months before the laptop died.  Between that time, I had created several new bitcoin addresses.  After running several disk recovery tools, and they all told me that the wallet.dat files on my crashed hard drive were unrecoverable.

When I run bitcoin cliet using the older wallet.dat files, my newer addresses don't show up and my balance is incorrect.

Is there any way to fully recover addresses that were create AFTER the most recent walled.dat backup was created?  This can pose quite a problem since I have no access to the coins associated with the newly created addresses.

Any insight would be greatly appreciated.


texts:
I'm running a bitcoind instance in regtest mode, for automated testing purposes.

I'm having trouble with the fact that the blocks I mine are version 1 blocks, which lack the block height in the coinbase transaction (my code relied on that).

How do block versions work in regtest mode? Can I configure them? Do I need to mine a specific number of blocks?


texts: Is there a volume chart for Omni assets?

texts: I am looking for trade / transaction volume charts for Omni assets like http://www.ripplecharts.com/ (seeking information of for example - how many MaidSafeCoins have been traded in the last week and for how much). Is such a resource available anywhere?


texts: How accurate is 'estimatesmartfee' in bitcoin-core?

texts: Method of estimatesmartfee is very simple and easy to use and understand. But I want to know how accurate this function really is? It would be great help if you can provide a link to article or Research paper.


texts: Mining your transaction to push it to the blockchain?

texts:
Is there a way to mine your own transaction to push it to the block chain.

I see these individual miners out there on forums speeding up other users transactions within 10-60 minutes.

So i guess i am trying to figure out how i can do this to speed up my 3 stuck transactions!

Any info would be nice! Thanks!


texts: I need a system for managing multiple bitcoin transactions using transaction information in my wallet

texts:
I currently use Multibit, but am prepared to switch if necessary. What is the best way to organize my wallet so that I can access multiple 'send' and 'receive' transaction data to and from multiple customers?

Related, is there any commercial software available that can access wallet transaction data and analyze it to create simple financial reports such as transaction history for individual customers, filtered reports on all BTC receipts and withdrawals along with BTC values at (approximately, if necessary) the time of transaction execution, customer name along with his BTC address, etc.?

Or are there other potential suggestions or solutions out there?

PS Am not necessarily looking for freeware.


texts: Refusal to connect cgminer when connecting to a router

texts:
I have a miner and when I connect the miner's ethernet port to my router (which has internet) the cgminer API log shows cgminer socket connect failed => connection refused, but when I connect my laptop to my phone's hotspot internet, and then I connect the miner to the Ethernet port of the laptop, everything is ok.
How can I solve this problem for my router? I want to use the router as an internet connection for the miner


texts: Shares mostly rejected mining with an FPGA

texts:
I am using an FPGA to mine bitcoins in a pool, as you can see below I am not really very successful:

[1 accepted, 48 failed, 148.90 +/- 21.27 Mhash/s]

It is running at 150 MhZ but I only have 1 accepted share out of 49.
I guess this quota does not look to healhty. Anyone an idea what could
be wrong?


texts: Other than banning it, what is the biggest risk to the price of Bitcoin? What circumstances may kill Bitcoin or bring it down to less than $10?


texts: Are Confidential Transactions on Liquid Opt-in?

texts: Are confidential transactions on the Liquid network opt-in or mandatory? I know peg transactions reveal the amount and asset ID, but wondering if I can construct vanilla p2pkh outputs with no confidentiality if I want to? I know I can prove these already with binding key but my question is about transaction standardization.


texts: How do I recover from a disk read error (fread failed)?

texts:
My full node daemon (bitcoind) crashed due to a disk read failure. The error is as follows:

"Deserialize or I/O error - CAutoFile::read: fread failed" etc.

How do I recover from this error? I don't want to have to download the whole database again.


texts: Do miners become temporary dictators of blocks they mined?

texts:
This is something I've read here: https://blockgeeks.com/guides/bitcoin-forks-guide/

"When a group of miners discovers and mine a new block, they become temporary dictators of that block"

Can anyone elaborate on what it means exactly, please?

Does it really mean that those particular miners who mined the block can do whaterver they want with that block, like setting txs fees and putting txs? What about the other miners who didn't find that particular block? They become powerless until another block is mined?

Thanks in advance.


texts: Best script/pseudocode to convert xpriv to xpub?

texts:
I'm looking for a script/pseudocode/utility (preferably, code in javascript/c++ or a secure, verified and open-source rpc client) that can convert a given xpriv to xpub.

Only one I've found (but not tried yet) is this one  :
https://github.com/sarchar/brainwallet.github.com/tree/bip32

or I know electrum wallet client can do it. I would prefer to read through the code of a standalone script though and/or create my own script


texts:
Who decides to change the status from Draft to Accepted?

BIP 0001 doesn't seem to clearly state this.

Is this a vote by the developers?
Whose vote exactly do we count?
How is it conducted and counted?
Are there veto rights?
Who handles disputes?
Is there a specific channel/topic/bitcointalk thread where accepted BIPs are published? (for those of us who don't follow the entire dev mailing list)


texts:
I have problem with bitcoind with the command sendfrom

Example :

./bitcoind sendfrom test1  1.99990005

The value when command "listtransaction test1" is 1.99990004.

I'm using bitcoind in ubuntu 12:04 locale en_US.UTF-8

Thanks for help.


texts: How to delete wallet without deleting blockchain

texts:
I am registering some addresses as watch only addresses and I would like the ability to reset my wallet without having to sync again. Can I just delete my wallet.dat?
I use Bitcoin Core version 16.1.
This wallet does not handle any private keys with a non-zero balance.
Warning: Deleting wallet.dat will make you lose your Bitcoins if your wallet has a non-zero balance!


texts: what happens if a miner include a transaction already exists in another block?

texts:
Suppose that I have a Transaction A. (txA)
I send my txA to bitcoin network and full node validate it and put in Mempool and starts to broadcasting it.

A Miner A connect to a fullnode to create a candidate block and wins the POW. In this block there is my txA

A miners B create another block with all different transactions except to my txA.

If block A and block B have the same previous block Hash it's a fork,and if the chain of block A wins, all transaction of block B return to mempool.

But if B Has the previous block hash of A ?
After create a block there is another check of all transactions?
When TxA is in mempool it's unconfirmed when become confirmed?


texts:
It is not clear to me, why not we can simply store transaction hashes in a block header instead of storing the Merkle root. I understand that storing transactions' hashes will slightly increase size of a block header. However, the transaction verification process will be greatly simplified as one does not have to compute Merkle tree. In that case, one can verify a transaction by simply searching that transaction hash in the header.

Noman Aslam


texts:
I am using the bitcoind account system for my web app, but it doesn't work the way I want it to work. So I want to make my own account system in Laravel(probably opensource).

The main reason for the account system is that I can't know the fee when I send a transaction. With my own account system I can check if the fee is correct and then send the transaction.

But how can I setup a safe account system?

I was thinking about a table with all the bitcoin accounts(I am not using the users table so I can create accounts for an order for example).

Then an address table with all the addresses linked to an account.

But how do I handle incomming transactions? And outgoing transactions?
If I for some reason change something outside my account system, it will probably will break pretty easy.

Do I have to import all the transactions to calculate the right account balances?

And I want to make the system in a way that I can make transactions between accounts, without making a "real" transaction, just like it works now.

I think it isn't that hard without the account-to-account transactions and moving bitcoin addresses to other accounts features, just import all the transactions in the database and calculate the balance for every address. And than sum the address balance for every account, but I need it.

Does this kind of system already exists.
If not can someone help me with thinking this out.


texts: Was a timejacking attack ever performed?

texts: The timejacking attack appears to be a pretty straightforward attack to pull off successfully. I was wondering, whether it was ever performed and documented somewhere, or was it just theoretically described?


texts: Has someone compared the cost of mining vs. that of brute-forcing addresses?

texts:
It is known that the type of computing power required for mining is the same used to generate addresses, and it is known that "in general" it is much more profitable to simply mine, rather than try to generate addresses hoping to stole their content.

But AFAIK there are some addresses out there which contain a huge amount of bitcoins: successfully generating their private key would award you a lot more bitcoins than those you would get generating a new block.

Has someone actually made some figures comparing the average revenue of mining vs. the chance of generating the key of a very rich address?


texts:
Dandelion BIP: https://github.com/bitcoin/bips/blob/master/bip-0156.mediawiki
The article that I read about Dandelion++: https://www.monerooutreach.org/stories/dandelion.html
It mentioned that Dandelion++ was developed for Bitcoin. So do we have a BIP for it and plan to implement in Bitcoin Core?

Though Dandelion++ was explicitly developed for Bitcoin, it was recently applied to Monero by developer Lee Clagett (vtnerd), with testing and review by developer moneromooo


texts: How do I figure out the current number of blocks?


texts: Are all private keys required to create a multisig bitcoin address

texts:
Do all 3 private keys in a 2-of-3 multisig wallet have to exist on the same device at some point in order to generate the bitcoin address?

It would be ideal if the 3 private keys never existed on the same device together but it seems the examples I've found assume all 3 exist simultaneously when generating the bitcoin address and redeem script.


texts:
I have a website and I am considering supporting bitcoins, but I would like to do this without asking the users to log in nor give me their email or details before buying.

Is there a way to accept bitcoin payments and verify the identity of the people who paid without asking for any other information?

I would like the buyers to claim their product after they pay, using the transaction id, the confirmation number, the address... or something like this, so I do not have to ask for any other information before they buy, but I can be sure that I deliver the product to the right person.

That is, you can pay directly using my btc address (that will be different for each transaction) and you do not have to enter anything else.
After the transaction is confirmed, you can come back to the website and you can claim the product entering a "code". (Only then you'll be asked for the email or more details).

Can I use the pair of transaction addresses as this code? Is this secret or other people will be able to claim they paid?

Thank you very much!!


texts: Change currencies through BitCoin or other Cryptocurrency

texts:
I'm from Brazil and I'm going to USA in January, so I need to buy dollars.
Here in Brazil every currency exchange done have to pay a tax that is usually 7%.
But we don't have to pay that tax in cryptocurrency.
So i was wondering if I can do it through Bitcoin or other cryptocurrency.

First I would buy Bitcoin in Brazilian currency to my wallet through any exchange (Real to Bitcoin)
Second I shall sell this Bitcoin in any exchange that accept USA Dollars. (Bitcoin to Dollar)

But I don't have anywhere to keep this money.

Have anyone already done this in any currency?
Would you describe how you've done it?


texts:
A few days ago, I was exploring Electrum (Android) out of curiosity. A few moments later, I get notified by our firewall that it flagged several suspicious inbound requests. The source IPs came from various countries, all of which use port 50002. The destination was my phone, at seemingly random ports. I disconnected my phone from the internet, and the requests would stop. They'd start again if I connected and used Electrum.

Initially, I thought Electrum was P2P and was doing peer discovery, which would conveniently explain why a machine over the internet would attempt to talk to my machine. But reading ElectrumX's docs and several other online resources, Electrum is a client-server setup - wallets talk to servers. The only P2P component I see is when servers talk to other servers to find other servers or advertise their presence to other servers. But this would not explain the inbound connection to my machine.

So what's going on? Is this normal behavior? Is the wallet also a "peer"? Or is this some malicious attempt to break in? Everyone coming from port 50002 and Electrum servers using port 50002 is probably not coincidence though. Thoughts? Did I miss some detail in the docs?


texts: What needs to be written down for a paper wallet?

texts:
I'm installing bitcoin-core with snap on Ubuntu for a dry-run at generating a paper wallet.
Perhaps naively, I thought to "write down" something like:
nicholas@mordor:~/bitcoin$
nicholas@mordor:~/bitcoin$ ls
nicholas@mordor:~/bitcoin$
nicholas@mordor:~/bitcoin$ ssh-keygen -t ed25519 -C saunders.nicholas@gmail.com
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/nicholas/.ssh/id_ed25519): ./bitcoin_wallet
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in ./bitcoin_wallet
Your public key has been saved in ./bitcoin_wallet.pub
The key fingerprint is:
SHA256:MtZQUFLqDWU0fJbkFhner+ZRF1WZ1MacM0WOBbGPvCc saunders.nicholas@gmail.com
The key's randomart image is:
+--[ED25519 256]--+
|      o*O.++  +B&|
|       *.+=o   @*|
|      +  o+ . oo+|
|     . = .   o o.|
|      = S     = o|
|     . o     o o |
|            + E .|
|           o . o |
|            .    |
+----[SHA256]-----+
nicholas@mordor:~/bitcoin$
nicholas@mordor:~/bitcoin$ ls
bitcoin_wallet  bitcoin_wallet.pub
nicholas@mordor:~/bitcoin$
nicholas@mordor:~/bitcoin$ cat bitcoin_wallet
-----BEGIN OPENSSH PRIVATE KEY-----
b3...AAtzc2gtZW
QyNTUxOQAAACD...AAAKBLLY/ISy2P
yAAAAAt...jpB6ZXAZLiLoXx+D9kw
AA..JYB62mUlxCESA
KyOkHp...LmNvbQEC
-----END OPENSSH PRIVATE KEY-----
nicholas@mordor:~/bitcoin$
nicholas@mordor:~/bitcoin$ cat bitcoin_wallet.pub
ssh-ed25519 AAA..IuhfH4P2T saunders.nicholas@gmail.com
nicholas@mordor:~/bitcoin$

where I need the public and private key.  Obviously, very easy to make a mistake, but isn't that what's required??
I'm not understanding all this mention of writing down seed words or passphrases.  Isn't the key pair required?

leaving aside QR codes or other automated tools for storing keys.


texts: How do I get wallet balance using xPub address with blockain.info api?

texts:
I am using blockchain.info api. I know how to get wallet balance using wallet id and password.

Couldn't find how to find wallet balance using my xPub address.


texts: If the supply of Bitcoin is regulated, how could it be said to be decentralized?

texts: The minting of new bitcoins is deterministic, and there will eventually be a cap to the production of new bitcoins. Why do we say that bitcoins are a decentralized currency if they are created in such a "top down", regulatory way?


texts: The "move" command can't use because the account system is gone. So, Is there any way to manage my coins, address, wallet with no fee like "move"? Pleas let me know. :(


texts: Should I Encrypt my Wallet for Cold Storage?

texts: I understand that the Bitcoin QT wallet is already encrypted to some extent when I use a password. Is it best-practice to further encrypt the wallet file for long term storage?


texts: Bitcoin's pow is sha256, the hash of header is taken and check against a given target to see whether it is smaller than the target, this can be easy seen as block hash starts with zeros. But how does litecoin's scrypt works, from the block explorer, its block hashes are just arbitrary, not starting with zeros. What is scrypt mining actually trying to find?


texts: Is it safe not to record private keys for paper wallets?

texts:
That may sound like a silly question, but if I have created my keys using a passphrase in “brain wallet” at bitaddress.org, why do I need to record the private key, if I can recreate it at any time by using my downloaded version of bitaddress.org?

To be sure that I can do that safely, I need to know whether the algorithm to generate a private key from a passphrase with a downloaded copy of bitaddress.org is deterministic.


texts:
The definition of a block in the blockchain is
"A block records some or all of the most recent Bitcoin transactions that have not yet entered any prior blocks. Thus, a block is like a page of a ledger or record book. Each time a block is 'completed', it gives way to the next block in the blockchain."
This is acceptable. Miners get a reward for proof of work (confirm transactions)
but what exactly do miners when say they have a process for creating a block (and get a reward for them)?
(In other words what exactly this process? Is it possible to remove it?)


texts: does cgminer re-calculate every nonce from ASIC?

texts:
i'm running a huge bunch of block erupter on my old computer, and the cpu time is too high to add more usb dongle miners, so i wonder if cgminer is recalculating the insufficient diff nonces and wasted my precious cpu time on my old computer.

anyone familiar with cgminer of bfgminer could help me with this 'stupid' question, thanks.


texts: how to develop trading platform for bitcoin

texts:
I would like to know how to start developing trading platform for BTC,LTC where the user can create his wallet, send and receive coins, Buy and sell coins.

i have checked the trading platforms and i know what needs to be done. But BTC has open source code. if anyone has used it and know whether it would be better to go with BTC open source or an api.

can anyone guide me in starting this.

Thanks


texts:
is there a way to recover bitcoins sent to a wrong bitcoin address?
Does bitcoin address change automatically within the bitcoin wallets?


texts: Bitcoind need blockchain to sign transaction

texts:
I'm trying to sign a transaction using bitcoind via rpc.
Here is the request I send.

signrawtransaction "01000000017267f196964c70d529ba2c16c84f1fd8b52d983eb472bd005423c51ba15e6fbb0000000000ffffffff020065cd1d000000001976a9147c9b6f1bc7173d2751d49f072c6d29a10d40e24188acf03dcd1d000000001976a9144d814b8163d4cf7ad896cc5ecaba8a2c3790950c88ac00000000" '[]' '["cVAKPN7Rioo1ZLVjALa6n38iqSCd6g9zdyG5UUNcNphikstmwWHW"]'

When I send that to the bitcoind daemon with all the blockchain downloaded it's working perfectly:

{"hex":"01000000017267f196964c70d529ba2c16c84f1fd8b52d983eb472bd005423c51ba15e6fbb000000006b48304502201d8199f2639579435e9d3c3d5f2245195d2c8f370bd738996120570146048f4e022100ad33352531fdc8805903d745a460249b5487555b72596a089dec724dc8df0700012103129f14097719e665939e778ef876d0022528b954b95d69b39194b9c764b4ae83ffffffff020065cd1d000000001976a9147c9b6f1bc7173d2751d49f072c6d29a10d40e24188acf03dcd1d000000001976a9144d814b8163d4cf7ad896cc5ecaba8a2c3790950c88ac00000000","complete":true}

But when I remove the blockchain file, it's not working anymore

{"hex":"01000000017267f196964c70d529ba2c16c84f1fd8b52d983eb472bd005423c51ba15e6fbb0000000000ffffffff020065cd1d000000001976a9147c9b6f1bc7173d2751d49f072c6d29a10d40e24188acf03dcd1d000000001976a9144d814b8163d4cf7ad896cc5ecaba8a2c3790950c88ac00000000","complete":false}

Does bitcoind need the blockchain to sign the transaction (it would be highly surprising to me), or is there something I am missing?

PS: I tried to sign the transaction on a freshly installed bitcoind and it wasn't working. All the "delete the blockchain files" part was only to make sure that it was really the blockchain missing that was causing the problem and not a strangely installed/configured bitcoind.


texts: Transfer coins from Armory paper backup without Armory

texts:
I have an armory offline installation on a USB stick with Ubuntu. From this wallet I have a paper backup. To access my funds I tried to install Armory on Mac OS and Windows 7 with no luck. The best result was on the mac. Bitcoin QT is running and is completely synchronized. But if I start Armory it stays at status "Organizing Blockchain" forever. I just ordered a Trezor to get around this problem in the future.

So my question: How can I transfer my coins from the armory cold-storage to a new address without an armory online installation?


texts:
What does the minimum confirmations required for a deposit mean for the security of exchanges? For example, Coinbase requires 3 confirmations for Bitcoin deposits. Suppose an adversary deposits 10 bitcoins into an exchange and has his account credited.

What stops an adversary from mining a private chain with a transaction that conflicts with his previous deposit transaction. What would this mean for the exchange? Would the user have the ability to sell the Bitcoins credited to his account and defraud the exchange?


texts: Is it possible to send a message to a bitcoin address? how?

texts:
Say I have an online store that accepts bitcoins and want people to be able to contact me through my wallet, because that is ultimately the entity involved in an hypothetical trade.

Can that be done? how?


texts: SPV clients - how much does occupy the full blockchain headers?

texts: Does a spv client need to download the full blockchain headers? how much does it occupy? is it better for security? I saw a blockchain-headers file in my android wallet that only occupies -30MB.


texts: I have installed Bitcoin QT and I have also downloaded bootstrap.dat from a torrent. I am having trouble in adding bootstrap.dat to Bitcoin QT. Please guide me. Thanks.


texts: How To Get a New Bitcoin Payment Address

texts: I have one bitcoin ewallet and this has one bitcoin payment address.  I have read we should change our bitcoin payment address frequently for security reasons.  How do we do that?


texts: How to transfer signed tx from coldstorage to online system for submission into blockchain?

texts:
I am building an exchange for crypto currency. I need to be able to transfer tx from cold storage(offline) to hot wallet(online system) for submission. Usb stick is suitable for an individual user mining but is not suitable in an exchange environment.

One option I am proposed is to build an  api that sends tx over ethernet cable to and from cold/hot storage. But in this case the cold storage wont really be offline, it would still be connected. So what other options do I have that could work well for an exchange?


texts: how do you sign and verify a message that you own a bitcoin address using javascript?

texts: Is there a bitcoin library or even just pure javascript way of signing and verifying you own a btc address?


texts: Can I safely run Tor and Armory through Tor simultaneously?

texts: Would running armory through Tor affect the anonymity of Tor Browser, or vice versa? Are there any unusual precautions I should take when doing this?


texts:
I am trying to incorporate bitcoin in one of the applications and want to integrate the REST API which exposes all the public information.
I tried using https://chain.api.btc.com/v3/block/3 but upon multiple requests, it starts to error out with message "Do not abuse the api".
Kindly provide the reference to API which I can use
Note: Tried https://testnet.blockexplorer.com/api as well but doesnt work. Even the link on https://github.com/blockchain/api-v1-client-python#request-limits-and-api-keys leads to error page on web


texts: I want to create a web wallet for bitcoin in which anyone can create their account and do the transactions but my node allow me to create one desktop wallet only. so i am not getting how this webwallet will work for multiple users.


texts: Best way to distribute bitcoin to heirs in a will

texts:
I see on [bitaddress][1] you can generate a split wallet. That's where multiple parties have to each submit their "share" keys to generate the combined private key.

So the hard part, the math, has already been done.

But, I'd like a system that has the following advantages if possible:

No lawyers / legal contract required
No trust required among the heirs
If an heir dies after me but before the distribution, the surviving heirs can divide the inheritance equally
While I'm alive I can freely use my bitcoin, and move it around, without worrying very much or at all that my heirs won't be able to find it
My heirs can't see my private keys while I'm alive
Non-heirs can't ever see my private keys
My heirs can find what they need to get started after I'm gone, without too much trouble

It's probably going to have to be a combination of a physical safe, a physical key, and the online stuff and software.

I'm willing to make the assumption that my heirs will know beforehand how to initiate the process with the physical key, and that they aren't going to take their inheritance early by force (e.g., breaking into my house).

I'm also willing to use a dead man switch website. That might be like an email that I must respond to every month or else it emails all of them their keys / instructions. Note I don't know what that website might be.

Has anyone thought through a process? Even a different process that doesn't have all the advantages I'm looking for might give me ideas.


texts: Generating Derivation keys from root XPRV in Python

texts:
Here's what I'm currently doing in JavaScript, I was wondering if there's anyone who knows how to recreate this functionality in Python.
all I need to do is: take a base58 xprv (rootKey) -> derive path m/44/0/0 (node) -> output new xprv
const bitcoin = require('bitcoinjs-lib');
const bip32 = require('bip32');

let rootKey = 'xprv9s21ZrQH143K32CfqoCQHtbKiEb5BqFazXX6jCtNCnuty3gUjxS4CsXWi9rcNyHdjDVPiC6P1bnyEZr2ioouRq56h6HAdwejeTty1BsSEtL'
const node = bip32.fromBase58(rootKey, bitcoin.networks.bitcoin);

//legacy account extended private key
console.log(node.derivePath("m/44'/0'/0").toBase58())
//xprv9y7nL2k2diLdA9bmop94K8Pec2WdL998PLdvTraxj5jiQ36gnLmhVJG4bY8FzgqZPaBM5HDBi9sgRK1ZCi14n5j4Pk1o6d3j4Y6T9NS4nA6


texts: Can I hide my IP address by blocking incoming connections in the client?

texts:
I know that it is possible to find out the IP address of a transaction by connecting the client to every node in the network. Dan Kaminsky wrote:

  When you are connected to every node, the first node to inform
  you of a transaction is the source of it.

So my question is: is it possible to hide my IP address by blocking incoming connections in the client? Or are there other ways to find out the IP address of a transaction?


texts: I want to start my own exchange like btc-e.com I have plenty of money to invest please guide me in this. I myself have knowledge of php but dont want to experiment on things I want it to up and running in a week or so.


texts: I am looking for a list of all the public repositories for as many different cryptocurrencies as possible

texts: I am interested in reviewing github repositories of many different cryptocurrencies to enhance my understanding and know the differences between them. Does anyone know of an online list of the links to all of the different repos?


texts:
I am trying to use Bitcoinj for my app.
I am using regtest mode.
I have a balance of 42 BTC on my account:

bitcoin-cli -regtest getbalance mirko3
-> 42.00000000

My code follows:

public class ProvaBitcoinj {
    public static void main(String ... args) throws Exception {
        final DumpedPrivateKey dumpedPrivateKey = new DumpedPrivateKey(RegTestParams.get(), "cNDSqymhJbqmRJRpx3QPM8KBZuca2WePFkzj2uezp5TZhqHX4q4d");
        final ECKey key = dumpedPrivateKey.getKey();
        System.out.println("BTC address that will be added: " + key.toAddress(RegTestParams.get()));
        System.out.println("Private key that will be added: " + key.getPrivateKeyEncoded(RegTestParams.get()));

        final WalletAppKit kit = new WalletAppKit(RegTestParams.get(), new File("/tmp/bitcoinj"), "test_btc") {
            protected void onSetupCompleted() {
                System.out.println("Key chain size: " + wallet().getKeychainSize());
                for (ECKey k : wallet().getKeys()) {
                    wallet().removeKey(k);
                }

                wallet().addKey(key);
            }
        };
        kit.setAutoSave(true);
        kit.connectToLocalHost();
        System.out.println("Started!: " + kit.startAndWait());

        System.out.println("Keys: " + kit.wallet().getKeychainSize());
        System.out.println("BTC Address: " + kit.wallet().getKeys().get(0).toAddress(RegTestParams.get()));
        System.out.println("Private key: " + kit.wallet().getKeys().get(0).getPrivateKeyEncoded(RegTestParams.get()));

        System.out.println("Balance " + kit.wallet().getBalance());

//      kit.wallet().addEventListener(new AbstractWalletEventListener() {
//          @Override
//          public void onCoinsReceived(Wallet wallet, Transaction tx,
//                  BigInteger prevBalance, BigInteger newBalance) {
//              System.out.println("TX!!!!!!!!!!!!!");
//              System.out.println(tx.getValueSentToMe(wallet));
//              System.out.println(wallet.getBalance());
//          }
//      });
//
//      Thread.sleep(Long.MAX_VALUE);
        for (Transaction tx : kit.wallet().getTransactions(true)) {
            System.out.println(tx.getValueSentFromMe(kit.wallet()));
        }
        System.out.println("Stopping");
        System.out.println("Stopped!: " + kit.stopAndWait());
    }
}

This programs dumps the following output:

BTC address that will be added: mnJRedAFBzRScnnKp5eS5CgR165uGi75tm
Private key that will be added: cSY1oeXfTADVXg2WnMzR2uMqQWqXNNia424SF2mHRPr54Ruj9Fzs
Key chain size: 1
Started!: RUNNING
Keys: 1
BTC Address: mnJRedAFBzRScnnKp5eS5CgR165uGi75tm
Private key: cSY1oeXfTADVXg2WnMzR2uMqQWqXNNia424SF2mHRPr54Ruj9Fzs
Balance 0
Stopping
Stopped!: TERMINATED

I have verified that the key pair is correct:

bitcoin-cli -regtest getaccountaddress mirko3
-> mnJRedAFBzRScnnKp5eS5CgR165uGi75tm
bitcoin-cli -regtest dumpprivkey mnJRedAFBzRScnnKp5eS5CgR165uGi75tm
-> cSY1oeXfTADVXg2WnMzR2uMqQWqXNNia424SF2mHRPr54Ruj9Fzs

I have also noticed that if I run the commented out code and send some money using bitcoin-cli, I receive correctly events and the wallet is charged with the amount I have sent. At a certain point, I could see my wallet with 2 BTC, but the other 40 ones were never found and, anyway, after some tests also the 2 BTC have disappeared.

I am totally confused, any help would be greatly appreciated.

Thank you


texts:
I'm trying to create a transaction on the testnet (manually). I have the following private key: cQKqSNkEdyLJziQSr4iKTUJC95s9HHFo4bY88gi2i6v2quiVVLZb which belongs to the following public address: mkhn3gfrGHmd4b1ZmHLdMsbQd2eHRKg8wN. When I try to sign the transaction, the public (uncompressed) key that I generate, is: 042d7331345e0da6ab1125eb39488a542a9923f31c585c20114d211a9f6bc9f3bf55d1d843cb7cf1d36b32d1cb00d2f140ef028e726a19a766f6ca7cef7b956583. This turns out to be invalid (because the transaction gets rejected by the network). However, when I tried using a tool for signing the transaction, it generated the following (correct) public key: 040b4a4274222d7239d33c17ce39d753eee97103773b7e5a89e62f0ef0121032d7331345e0da6ab1125eb39488a542a9923f31c585c20114d211a9f6bc9f3b.

What is the difference between these keys? How come the first one is incorrect when signing the tx but correct when I generated the public address for it?


texts: Mycelium not reading segwit bech32 (bc1) addresses from a private key

texts: I'm trying to import my bitcoin private key into the Mycelium android wallet, but it keeps showing up as the legacy address that starts with 1xxx. I sent some coins to the bc1 address and I verified its there, but when I try to just import the bc1 address into mycelium it works, but it says its an "uncompressed" address. I have another bc1 address that has the private key imported, but it says "compressed" and that is working fine. How do I compress my uncompressed bc1 address that already has some funds there?


texts: What can be done to mitigate the risk of a Finney-attack?

texts:
Related Question: Would a reduced block generation time make the Finney attack more difficult?

I understand that the Finney-attack is the main reason why accepting a zero-confirmation transaction should be avoided for transactions of significant value or at on-demand websites that "ship" instantly.

Suppose a merchant needs to accept transactions near-instantly - what can he do to mitigate the risk of this specific kind of attack without relying on any third-party (escrow-like) service? Are there any practical strategies like checking large pools for the transaction, systematically delaying the acceptance of the transaction, etc. that actually work? What could be changed within the Bitcoin-client to lessen the likelihood of this attack-vector?


texts: How does first seen replace by fee work?

texts: This pull request describes first-seen replace-by-fee. How is it different from normal replace-by-fee, and how does it compare to child-pays-for-parent?


texts: Bought Bitcoin from ATM, haven't showed up

texts:
I made two transactions at a BTC ATM, one of around £80, the other of £10. It has now been >3 hours since the transaction was made. However, only the smaller transaction has appeared in my Bitcoin wallet. Blockchain.info shows no unconfirmed payments. So, can anyone advise me on what is going on?

Cheers.

EDIT 1: No changes after half an hour, on TradeBlock, my address has no pending transactions listed, is this significant?


texts: Best way to mix bitcoins? mixer, coin join (shared send), dark wallet, stealth addresses?

texts:
When you want to anonymize a few hundred BTC, what would be the best (safest) way?

I can think of these alternatives:

Deposit to and withdraw from exchange (like Kraken, Bitstamp, etc)Pros: reasonably safe (especially when using a solid, trusted exchange).Cons: not really anonymous, major exchanges must subject to KYC laws and have strict identification rules.
Mixing service (like bitmixer.io)Pros: very anonymous.Cons: can't really estimate the risk, you have to trust some anonymous 3rd party who can decide to disappear with your coins. Also, it can be expensive (depends on circumstances and requirements, but I'd consider 3 BTC fee to mix 300 BTC kind of expensive).
Coin JoinPros: pretty much risk-free (don't have to trust anyone).Cons: is there a steady, easy, accessible way to setup large coin join transactions? The shared send feature of blockchain.info/wallet? Sharedcoin.com?
Dark Wallet / Stealth AddressesPros: as far as I understand, this offers high anonimity without the need no trust anyone, although I'm not 100% sure of how this works technically.Cons: To my knowledge it's still in development, unstable, not suitable for usage with large sums of money?

What your take on this? Any other options?